From d8e7ad6acb9f6105ac6ff6fe2ce892e622cde256 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 18 三月 2025 22:11:24 +0800 Subject: [PATCH] Merge remote-tracking branch '喜望/dev-2.0' into dev-2.0 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java | 115 +++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 70 insertions(+), 45 deletions(-) diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java index ee4f1e5..ad2cb00 100644 --- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java +++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java @@ -1,39 +1,32 @@ package com.panzhihua.sangeshenbian.controller; import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.panzhihua.common.controller.BaseController; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; -import com.panzhihua.common.service.user.UserService; +import com.panzhihua.common.redis.RedisUtils; import com.panzhihua.sangeshenbian.model.entity.Banner; -import com.panzhihua.sangeshenbian.model.entity.Department; +import com.panzhihua.sangeshenbian.model.entity.PartyMember; import com.panzhihua.sangeshenbian.model.entity.SystemUser; import com.panzhihua.sangeshenbian.model.query.BasePage; import com.panzhihua.sangeshenbian.model.vo.ComplaintTodoVO; import com.panzhihua.sangeshenbian.model.vo.MessageNotificationVO; import com.panzhihua.sangeshenbian.model.vo.PartyCardInfoVO; -import com.panzhihua.sangeshenbian.service.IBannerService; -import com.panzhihua.sangeshenbian.service.IComplaintService; -import com.panzhihua.sangeshenbian.service.IDepartmentService; -import com.panzhihua.sangeshenbian.service.IMessageNotificationService; -import com.panzhihua.sangeshenbian.service.ISystemUserService; +import com.panzhihua.sangeshenbian.service.*; import com.panzhihua.sangeshenbian.utils.BaiduMapUtil; +import com.panzhihua.sangeshenbian.warpper.IdentityInformation; +import com.panzhihua.sangeshenbian.warpper.IdentityInformationVO; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import org.springframework.beans.BeanUtils; import org.springframework.context.annotation.Lazy; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; -import java.util.HashMap; -import java.util.List; -import java.util.Map; -import java.util.Objects; -import java.util.Optional; +import java.util.*; /** * @author mitao @@ -48,8 +41,9 @@ private final IMessageNotificationService messageNotificationService; private final IComplaintService complaintService; private final ISystemUserService systemUserService; - private final UserService userService; - private final IDepartmentService departmentService; + private final IPartyMemberService partyMemberService; + private final RedisUtils redisUtils; + private final IdentityInformationService identityInformationService; @ApiOperation("获取banner列表") @GetMapping("/banner-list") @@ -61,33 +55,19 @@ @ApiOperation("获取党员证信息") public R<PartyCardInfoVO> getPartyCardInfo() { LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + // 获取党员信息 + PartyMember partyMember = partyMemberService.getOne(new LambdaQueryWrapper<PartyMember>() + .eq(PartyMember::getPhone, loginUserInfo.getPhone()) + .eq(PartyMember::getDelFlag, 0)); + PartyCardInfoVO partyCardInfoVO = new PartyCardInfoVO(); - partyCardInfoVO.setName(loginUserInfo.getName()); - partyCardInfoVO.setIdCard(loginUserInfo.getIdCard()); - Optional<SystemUser> systemUserOpt = systemUserService.getSystemUserByPhone(loginUserInfo.getPhone()); - systemUserOpt.ifPresent(systemUser -> { - // 使用Optional链式调用简化部门ID获取逻辑 - Integer lastDepartmentId = Optional.ofNullable(systemUser.getFourDepartmentId()) - .orElseGet(() -> Optional.ofNullable(systemUser.getThreeDepartmentId()) - .orElseGet(systemUser::getTwoDepartmentId)); - - // 缓存部门查询结果避免重复查询 - Map<Integer, Department> departmentCache = new HashMap<>(); - Department first = departmentCache.computeIfAbsent(systemUser.getOneDepartmentId(), - departmentService::getById); - Department last = null; - if (Objects.nonNull(lastDepartmentId)) { - last = departmentCache.computeIfAbsent(lastDepartmentId, - departmentService::getById); - } - - // 使用Objects.toString简化字符串拼接 - partyCardInfoVO.setPartyOrganization( - Objects.isNull(last) ? Objects.toString(first.getName(), "") : - Objects.toString(first.getName(), "") + "-" + Objects.toString(last.getName(), "")); - }); - - partyCardInfoVO.setPartyOrganization(loginUserInfo.getCommunityName()); + partyCardInfoVO.setAvatar(partyMember.getAvatar()); + partyCardInfoVO.setName(partyMember.getName()); + partyCardInfoVO.setIdCard(partyMember.getIdNumber()); + partyCardInfoVO.setDistricts(partyMember.getDistricts()); + partyCardInfoVO.setStreet(partyMember.getStreet()); + partyCardInfoVO.setCommunity(partyMember.getCommunity()); + partyCardInfoVO.setPartyOrganization(partyMember.getPartyOrganization()); return R.ok(partyCardInfoVO); } @@ -131,4 +111,49 @@ public R<JSONArray> searchLocation(String query, String location) { return R.ok(BaiduMapUtil.searchLocation(query, location)); } + @GetMapping("/geoconv") + @ApiOperation("百度地图经纬度转换") + public R<JSONObject> geoconv(String coords) { + try { + return R.ok(BaiduMapUtil.geoconv(coords)); + } catch (Exception e) { + throw new RuntimeException(e); + } + } + /** + * 获取身份信息 + */ + @GetMapping("/identity-info") + @ApiOperation("获取身份信息") + public R<IdentityInformationVO> getIdentityInfo() { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfo); + IdentityInformationVO identityInformationVO = new IdentityInformationVO(); + BeanUtils.copyProperties(identityInformation, identityInformationVO); + return R.ok(identityInformationVO); + } + + + + /** + * 切换身份 + */ + @GetMapping("/change-identity") + @ApiOperation("切换身份") + public R<?> changeIdentity(Integer identity) { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + redisUtils.set("identity:" + loginUserInfo.getPhone(), identity); + return R.ok(); + } + + /** + * 提示内容确认 + */ + @GetMapping("/confirm-content") + @ApiOperation("提示内容确认") + public R<?> confirmContent() { + LoginUserInfoVO loginUserInfo = getLoginUserInfo(); + redisUtils.set("confirmContent:" + loginUserInfo.getPhone(), 1); + return R.ok(); + } } -- Gitblit v1.7.1