Bläddra i källkod

优化运营平台用户状态变化逻辑

skyline 1 år sedan
förälder
incheckning
3f14b3edf9

+ 2 - 2
entity/src/main/java/com/kym/entity/admin/InvestorInfo.java

@@ -2,7 +2,6 @@ package com.kym.entity.admin;
 
 import com.baomidou.mybatisplus.annotation.TableName;
 import com.kym.entity.BaseEntity;
-import java.io.Serializable;
 import lombok.Getter;
 import lombok.Setter;
 
@@ -19,8 +18,9 @@ import lombok.Setter;
 @TableName("t_investor_info")
 public class InvestorInfo extends BaseEntity {
 
+    public static final int STATUS_无效 = 0;
+    public static final int STATUS_有效 = 1;
     private static final long serialVersionUID = 1L;
-
     /**
      * 客户用户id
      */

+ 6 - 6
miniapp/src/main/java/com/kym/miniapp/controller/UserController.java

@@ -44,7 +44,7 @@ public class UserController {
      * @return
      */
     @PostMapping("/wxLogin")
-    public R login(@RequestBody @Validated WxLoginParams params) {
+    public R<?> login(@RequestBody @Validated WxLoginParams params) {
         return userService.wxLogin(params);
     }
 
@@ -54,7 +54,7 @@ public class UserController {
      * @return
      */
     @GetMapping("/logout")
-    public R logout() {
+    public R<?> logout() {
         StpUtil.logout();
         return R.success();
     }
@@ -65,7 +65,7 @@ public class UserController {
      * @return
      */
     @GetMapping("/refresh")
-    public R refreshToken() {
+    public R<?> refreshToken() {
         // 365天有效期,微信手机号接口开始收费了,有效期给长一点。
         StpUtil.renewTimeout(3600 * 24 * 365L);
         return R.success();
@@ -123,7 +123,7 @@ public class UserController {
      * @return
      */
     @PutMapping
-    R updateUser(@RequestBody UserVo userVo) {
+    R<?> updateUser(@RequestBody UserVo userVo) {
         userService.updateUser(userVo);
         return R.success();
     }
@@ -134,7 +134,7 @@ public class UserController {
      * @return
      */
     @GetMapping("/collectList")
-    R listCollect() {
+    R<?> listCollect() {
         return R.success(collectService.listCollect());
     }
 
@@ -145,7 +145,7 @@ public class UserController {
      * @return
      */
     @PostMapping("/collect")
-    R saveCollect(@RequestBody JSONObject json) {
+    R<?> saveCollect(@RequestBody JSONObject json) {
         collectService.updateCollect(json.getString("stationId"), json.getInteger("status"));
         return R.success();
     }

+ 21 - 11
service/src/main/java/com/kym/service/admin/impl/AdminUserServiceImpl.java

@@ -17,12 +17,14 @@ import com.kym.common.utils.CommUtil;
 import com.kym.common.utils.IDGenerator;
 import com.kym.entity.admin.AdminUser;
 import com.kym.entity.admin.AdminUserRole;
+import com.kym.entity.admin.InvestorInfo;
 import com.kym.entity.admin.queryParams.CommonQueryParam;
 import com.kym.entity.admin.vo.AdminUserVo;
 import com.kym.entity.common.PageBean;
 import com.kym.mapper.admin.AdminUserMapper;
 import com.kym.service.admin.AdminUserRoleService;
 import com.kym.service.admin.AdminUserService;
+import com.kym.service.admin.InvestorInfoService;
 import jakarta.annotation.Resource;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -51,22 +53,22 @@ import java.util.Map;
 public class AdminUserServiceImpl extends MPJBaseServiceImpl<AdminUserMapper, AdminUser> implements AdminUserService {
     final static Digester MD5 = new Digester(DigestAlgorithm.MD5);
     private static final Logger LOGGER = LoggerFactory.getLogger(AdminUserServiceImpl.class);
-
+    private final InvestorInfoService investorInfoService;
     @Value("${password.privateKey}")
     private String privateKey;
-
-
     @Value("${password.publicKey}")
     private String publicKey;
-
-
     @Resource
     private AdminUserRoleService adminUserRoleService;
 
+    public AdminUserServiceImpl(InvestorInfoService investorInfoService) {
+        this.investorInfoService = investorInfoService;
+    }
+
     @Override
     public R<?> login(String mobilePhone, String password) {
         var user = lambdaQuery().eq(AdminUser::getMobilePhone, mobilePhone).one();
-        if(user.getStatus() == AdminUser.STATUS_禁用){
+        if (user.getStatus() == AdminUser.STATUS_禁用) {
             throw new BusinessException("用户状态异常,无法登录");
         }
         RSA rsa = new RSA(privateKey, publicKey);
@@ -162,10 +164,18 @@ public class AdminUserServiceImpl extends MPJBaseServiceImpl<AdminUserMapper, Ad
     }
 
     @Override
+    @Transactional
     public void updateAdminUser(AdminUserVo adminUserVo) {
-        AdminUser entity = new AdminUser();
-        BeanUtil.copyProperties(adminUserVo, entity);
-        baseMapper.updateById(entity);
+        AdminUser adminUser = new AdminUser();
+        if (adminUserVo.getStatus() == AdminUser.STATUS_禁用) {
+            adminUser.setStatus(AdminUser.STATUS_禁用);
+            investorInfoService.lambdaUpdate().set(InvestorInfo::getStatus, InvestorInfo.STATUS_无效).eq(InvestorInfo::getAdminUserId, adminUserVo.getId()).update();
+        } else {
+            adminUser.setStatus(AdminUser.STATUS_启用);
+            investorInfoService.lambdaUpdate().set(InvestorInfo::getStatus, InvestorInfo.STATUS_有效).eq(InvestorInfo::getAdminUserId, adminUserVo.getId()).update();
+        }
+        BeanUtil.copyProperties(adminUserVo, adminUser);
+        baseMapper.updateById(adminUser);
     }
 
     @Override
@@ -228,9 +238,9 @@ public class AdminUserServiceImpl extends MPJBaseServiceImpl<AdminUserMapper, Ad
         var adminUser = lambdaQuery()
                 .eq(AdminUser::getOpenId, user.getOpenId())
                 .eq(AdminUser::getStatus, AdminUser.STATUS_启用).one();
-        if(null==adminUser){
+        if (null == adminUser) {
             return Collections.emptyMap();
-        }else{
+        } else {
             StpUtil.login(adminUser.getId());
             // 用户名存入session,统一日志读取使用
             StpUtil.getSession().set("mobilePhone", adminUser.getMobilePhone());

+ 1 - 0
service/src/main/java/com/kym/service/admin/impl/StatementsServiceImpl.java

@@ -61,6 +61,7 @@ public class StatementsServiceImpl extends MPJBaseServiceImpl<StatementsMapper,
         // 站点关联客户和物业信息
         var investorInfoList = investorInfoService.lambdaQuery()
                 .eq(InvestorInfo::getStationId, statMonthInfo.getStationId())
+                .eq(InvestorInfo::getStatus, InvestorInfo.STATUS_有效)
                 .list();
 
         if (CommUtil.isEmptyOrNull(investorInfoList)) {