From 4dc531fc2dcd6517fffa2e9760225f5705537258 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期五, 19 七月 2024 20:11:27 +0800
Subject: [PATCH] 代码提交

---
 server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java |  110 ++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 84 insertions(+), 26 deletions(-)

diff --git a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
index 9ae75bf..4518fe5 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/UsersServiceImpl.java
@@ -4,8 +4,11 @@
 import cn.hutool.core.date.DateUnit;
 import com.alibaba.fastjson.JSONObject;
 import com.doumee.biz.system.SystemDictDataBiz;
+import com.doumee.biz.zbom.ZbomZhongTaiService;
 import com.doumee.biz.zbom.model.IamUserRoleModel;
 import com.doumee.biz.zbom.model.IamUserTypeModel;
+import com.doumee.biz.zbom.model.zhongtai.ZTBaseRequst;
+import com.doumee.biz.zbom.model.zhongtai.ZTConstants;
 import com.doumee.config.Jwt.JwtPayLoad;
 import com.doumee.config.Jwt.JwtTokenUtil;
 import com.doumee.core.annotation.excel.ExcelImporter;
@@ -21,6 +24,7 @@
 import com.doumee.core.utils.tyyun.TyyZosUtil;
 import com.doumee.dao.admin.request.ShopImport;
 import com.doumee.dao.admin.request.UserImport;
+import com.doumee.dao.business.MemberMapper;
 import com.doumee.dao.business.ShopMapper;
 import com.doumee.core.wx.WxMiniConfig;
 import com.doumee.dao.business.SmsEmailMapper;
@@ -81,6 +85,11 @@
     private SmsEmailMapper smsEmailMapper;
     @Autowired
     private SystemDictDataBiz systemDictDataBiz;
+    @Autowired
+    private MemberMapper memberMapper;
+
+    @Autowired
+    private ZbomZhongTaiService zbomZhongTaiService;
 
     @Override
     public Long create(Users users) {
@@ -323,38 +332,39 @@
         }
         Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda().eq(Users::getPhone,phone).last("limit 1"));
         if(Objects.isNull(users)){
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈煡璇㈠埌璐︽埛淇℃伅");
+            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝璐﹀彿淇℃伅涓嶅瓨鍦紒");
         }
         if(!Constants.equalsInteger(users.getIsdeleted(), Constants.ZERO)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠璐︽埛宸插垹闄�");
         }
-        if(!StringUtils.equals(users.getStatus(),Constants.ZERO+"")){
+        if(StringUtils.equals(users.getStatus(),Constants.ZERO+"")){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠璐︽埛宸插仠鐢紝璇疯仈绯荤鐞嗗憳");
         }
         //楠岃瘉鐭俊
-        SmsEmail model = smsEmailMapper.selectOne(new QueryWrapper<SmsEmail>().lambda()
-                .eq(SmsEmail::getType, Constants.ZERO)
-                .eq(SmsEmail::getPhone, phone)
-                .eq(SmsEmail::getRemark, code)
-                .eq(SmsEmail::getIsdeleted, Constants.ZERO)
-        );
-        if(model == null){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佷笉姝g‘锛岃閲嶆柊鍙戦�佸啀璇曪紒");
-        }
-        if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鍙戦�佸啀璇曪紒");
-        }
-        model.setStatus(Constants.ONE);
-        model.setEditDate(new Date());
-        if(model.getCreateDate() !=null &&
-                System.currentTimeMillis() - model.getCreateDate().getTime() > 3*60*1000){
-            smsEmailMapper.updateById(model);
-            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鍙戦�佸啀璇晘");
-        }
-        smsEmailMapper.updateById(model);
+//        SmsEmail model = smsEmailMapper.selectOne(new QueryWrapper<SmsEmail>().lambda()
+//                .eq(SmsEmail::getType, Constants.ZERO)
+//                .eq(SmsEmail::getPhone, phone)
+//                .eq(SmsEmail::getRemark, code)
+//                .eq(SmsEmail::getIsdeleted, Constants.ZERO)
+//        );
+//        if(model == null){
+//            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佷笉姝g‘锛岃閲嶆柊鍙戦�佸啀璇曪紒");
+//        }
+//        if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
+//            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鍙戦�佸啀璇曪紒");
+//        }
+//        model.setStatus(Constants.ONE);
+//        model.setEditDate(new Date());
+//        if(model.getCreateDate() !=null &&
+//                System.currentTimeMillis() - model.getCreateDate().getTime() > 3*60*1000){
+//            smsEmailMapper.updateById(model);
+//            throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鍙戦�佸啀璇晘");
+//        }
+//        smsEmailMapper.updateById(model);
         //鍒涘缓token
         JwtPayLoad payLoad = new JwtPayLoad(users.getId(),Constants.ONE);
         String token = JwtTokenUtil.generateToken(payLoad);
+        redisTemplate.opsForValue().set(ZTConstants.BUSINESS+"_"+users.getId(),token);
         AccountResponse accountResponse = new AccountResponse();
         accountResponse.setToken(token);
         accountResponse.setUsers(users);
@@ -382,10 +392,14 @@
             if(!StringUtils.equals(users.getStatus(),Constants.ZERO+"")){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"褰撳墠璐︽埛宸插仠鐢紝璇疯仈绯荤鐞嗗憳");
             }
+            users.setOpenid(openId);
+            usersMapper.updateById(users);
             //鍒涘缓token
             JwtPayLoad payLoad = new JwtPayLoad(users.getId(),Constants.ONE);
             String token = JwtTokenUtil.generateToken(payLoad);
+            redisTemplate.opsForValue().set(ZTConstants.BUSINESS+"_"+users.getId(),token);
             accountResponse.setToken(token);
+            getUsersDetail(users);
             accountResponse.setUsers(users);
             return accountResponse;
         } catch (WxErrorException e) {
@@ -738,11 +752,32 @@
     }
 
     @Override
-    public Users usersDetail(Long userId){
-        Users users = usersMapper.selectById(userId);
+    public Users usersDetailByIamId(String iamId){
+        Users users = usersMapper.selectOne(new QueryWrapper<Users>().lambda().eq(Users::getIamId,iamId).last("limit 1"));
         if(Objects.isNull(users)){
             throw new BusinessException(ResponseStatus.DATA_EMPTY);
         }
+        if(!Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛宸茬鐢�");
+        }
+        getUsersDetail(users);
+        return users;
+    }
+
+    @Override
+    public Users usersDetailById(Long id){
+        Users users = usersMapper.selectById(id);
+        if(Objects.isNull(users)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(!Constants.equalsInteger(users.getIsdeleted(),Constants.ZERO)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢ㄦ埛宸茬鐢�");
+        }
+        getUsersDetail(users);
+        return users;
+    }
+
+    public void getUsersDetail(Users users){
         String prefix = StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.RESOURCE_PATH).getCode()) +
                 StringUtils.trimToNull(systemDictDataBiz.queryByCode(Constants.OBJCET_STORAGE,Constants.USERS_FILE).getCode());
         if(StringUtils.isNotBlank(users.getImgurl())){
@@ -769,7 +804,6 @@
                 }
             }
         }
-        return users;
     }
 
 
@@ -801,7 +835,31 @@
 
 
 
-
+    @Override
+    public ZTBaseRequst logOff(Long userId){
+        Users users = usersMapper.selectById(userId);
+        if(Objects.isNull(users)){
+            throw new BusinessException(ResponseStatus.DATA_EMPTY);
+        }
+        if(StringUtils.isBlank(users.getOpenid())){
+            redisTemplate.delete(ZTConstants.BUSINESS+"_"+ users.getId());
+            return null;
+        }
+        //鏍¢獙鐢ㄦ埛token淇℃伅
+        MemberServiceImpl.getZTToken(zbomZhongTaiService,memberMapper,usersMapper,systemDictDataBiz,users.getId(), ZTConstants.BUSINESS);
+        //璋冭捣涓彴娉ㄩ攢鎺ュ彛
+        ZTBaseRequst ztBaseRequst = new ZTBaseRequst();
+        ztBaseRequst.setUserType(ZTConstants.BUSINESS);
+        ztBaseRequst.setOpenId(users.getOpenid());
+        ztBaseRequst.setToken(users.getToken());
+        usersMapper.update(new UpdateWrapper<Users>().lambda()
+                .set(Users::getOpenid,null)
+                .set(Users::getEditDate,new Date())
+                .eq(Users::getId,users.getId())
+        );
+        redisTemplate.delete(ZTConstants.BUSINESS+"_"+ users.getId());
+        return ztBaseRequst;
+    }
 
 }
 

--
Gitblit v1.9.3