From bc91619c854cc2dbb01b20d0c47d76c4881e9ee8 Mon Sep 17 00:00:00 2001 From: mitao <2763622819@qq.com> Date: 星期二, 20 五月 2025 23:52:21 +0800 Subject: [PATCH] Merge remote-tracking branch '喜望/dev-2.0.1' into dev-2.0.1 --- springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/controller/HomeController.java | 72 ++++++++++++++++++++++++------------ 1 files changed, 48 insertions(+), 24 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 d92e42e..799fbc0 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,14 +1,16 @@ 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.exceptions.ServiceException; import com.panzhihua.common.model.vos.LoginUserInfoVO; import com.panzhihua.common.model.vos.R; import com.panzhihua.common.redis.RedisUtils; +import com.panzhihua.sangeshenbian.model.dto.UserIdentityDTO; 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; @@ -17,10 +19,14 @@ import com.panzhihua.sangeshenbian.model.vo.PartyCardInfoVO; 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.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; 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.*; @@ -41,6 +47,7 @@ private final ISystemUserService systemUserService; private final IPartyMemberService partyMemberService; private final RedisUtils redisUtils; + private final IdentityInformationService identityInformationService; @ApiOperation("获取banner列表") @GetMapping("/banner-list") @@ -55,9 +62,11 @@ // 获取党员信息 PartyMember partyMember = partyMemberService.getOne(new LambdaQueryWrapper<PartyMember>() .eq(PartyMember::getPhone, loginUserInfo.getPhone()) + .eq(PartyMember::getAuditStatus, 1) .eq(PartyMember::getDelFlag, 0)); PartyCardInfoVO partyCardInfoVO = new PartyCardInfoVO(); + partyCardInfoVO.setAvatar(partyMember.getAvatar()); partyCardInfoVO.setName(partyMember.getName()); partyCardInfoVO.setIdCard(partyMember.getIdNumber()); partyCardInfoVO.setDistricts(partyMember.getDistricts()); @@ -107,7 +116,15 @@ 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); + } + } /** * 获取身份信息 */ @@ -115,38 +132,45 @@ @ApiOperation("获取身份信息") public R<IdentityInformationVO> getIdentityInfo() { LoginUserInfoVO loginUserInfo = getLoginUserInfo(); - // 获取党员信息 - PartyMember partyMember = partyMemberService.getOne(new LambdaQueryWrapper<PartyMember>() - .eq(PartyMember::getPhone, loginUserInfo.getPhone()) - .eq(PartyMember::getDelFlag, 0)); - - // 获取管理员信息 - SystemUser systemUser = systemUserService.getSystemUserAdminByPhone(getLoginUserInfo().getPhone()).orElse(null); - // 获取身份 - Integer identity = (Integer) redisUtils.get("identity:" + loginUserInfo.getPhone()); - List<Integer> permissions = new ArrayList<>(); + IdentityInformation identityInformation = identityInformationService.getIdentityInformation(loginUserInfo); IdentityInformationVO identityInformationVO = new IdentityInformationVO(); - identityInformationVO.setIdentity(identity); - identityInformationVO.setIsPartymember(partyMember != null); - identityInformationVO.setAuditStatus(partyMember == null ? null : partyMember.getAuditStatus()); - if (partyMember !=null){ - permissions.add(1); - } - if (systemUser != null){ - permissions.add(2); - } - identityInformationVO.setPermissions(permissions); + BeanUtils.copyProperties(identityInformation, identityInformationVO); return R.ok(identityInformationVO); } + + /** * 切换身份 */ @GetMapping("/change-identity") @ApiOperation("切换身份") - public R<?> changeIdentity(Integer identity) { + @ApiImplicitParams({ + @ApiImplicitParam(name = "identity", value = "身份 1:党员 2:管理员", required = true, dataType = "Integer"), + @ApiImplicitParam(name = "levelId", value = "身份层级id,党员身份不传,管理员必传", required = true, dataType = "Integer") + }) + public R<?> changeIdentity(@RequestParam(value = "identity", required = true) Integer identity, + @RequestParam(value = "levelId", required = false) Integer levelId) { LoginUserInfoVO loginUserInfo = getLoginUserInfo(); - redisUtils.set("identity:" + loginUserInfo.getPhone(), identity); + if (identity.equals(2) && Objects.isNull(levelId)) { + throw new ServiceException("管理员所属层级id不能为空"); + } + // 存储到Redis + redisUtils.set("identity:" + loginUserInfo.getPhone(), UserIdentityDTO.builder() + .identity(identity) + .levelId(levelId) + .build()); + 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