From 33ea90b00b005bc7106d17e10972dde9033506f8 Mon Sep 17 00:00:00 2001
From: k94314517 <8417338+k94314517@user.noreply.gitee.com>
Date: 星期一, 27 五月 2024 17:18:14 +0800
Subject: [PATCH] 代码初始化

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |  118 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 86 insertions(+), 32 deletions(-)

diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index a4ce820..f075bcc 100644
--- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -34,6 +34,7 @@
 import com.doumee.dao.admin.response.StagingDataVO;
 import com.doumee.dao.business.*;
 import com.doumee.dao.business.dao.CompanyMapper;
+import com.doumee.dao.business.dto.RegisterDriverDTO;
 import com.doumee.dao.business.dto.ResetPasswordDTO;
 import com.doumee.dao.business.join.MemberJoinMapper;
 import com.doumee.dao.business.join.RetentionJoinMapper;
@@ -48,6 +49,7 @@
 import com.doumee.dao.web.response.MemberVO;
 import com.doumee.dao.web.response.WxAuthorizeVO;
 import com.doumee.service.business.MemberService;
+import com.doumee.service.business.SmsEmailService;
 import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
 import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
@@ -119,6 +121,8 @@
     @Autowired
     private SystemUserMapper systemUserMapper;
 
+    @Autowired
+    private SmsEmailService smsEmailService;
 
     @Value("${debug_model}")
     private Boolean isDebug;
@@ -198,6 +202,7 @@
         insert.setCanVisit(Constants.ZERO);//榛樿涓嶅彲璁块棶
         insert.setAuthStatus(Constants.ZERO);
         insert.setName(member.getName());
+        insert.setHkId(UUID.randomUUID().toString().replace("-",""));
         insert.setHkStatus(Constants.ONE);
         insert.setSex(Constants.getSexByCardNo( member.getIdcardNo()));//鏍规嵁韬唤璇佸彿鑾峰彇鎬у埆
         insert.setBirthday( DateUtil.fromStringToDate("yyyyMMdd",IdcardUtil.getBirthByIdCard(member.getIdcardNo())));
@@ -468,6 +473,10 @@
         }
         member.setHkId(model.getHkId());
         member.setFaceId(model.getFaceId());//浜鸿劯缂栫爜
+        if(StringUtils.equals(model.getFaceImg(),member.getFaceImg())){
+            //濡傛灉浜鸿劯娌″彉鍖�
+            member.setFaceImg(null);
+        }
         return model;
     }
 
@@ -525,9 +534,7 @@
     }
 
     @Override
-    public void deleteById(Integer id,LoginUserInfo user) {
-        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
-
+    public void deleteById(Integer id,LoginUserInfo loginUserInfo) {
         Member member=new Member();
         member.setId(id);
         member.setIsdeleted(Constants.ZERO);
@@ -582,12 +589,12 @@
                 //濡傛灉鍛樺伐淇℃伅涓嶅悎娉曠洿鎺ヨ烦杩�
                continue;
             }
+            if(StringUtils.isNotBlank(member.getFaceId()) || !Constants.equalsInteger(member.getFaceStatus(),Constants.ONE)){
+                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鐢ㄦ埛銆�"+member.getName()+"銆戠殑浜鸿劯淇℃伅涓嶆弧瓒虫巿鏉冩潯浠讹紝璇疯繑鍥炲畬鍠勫悗鍐嶈繘琛岃鎿嶄綔锛�");
+            }
             member.setStartTime(memberRole.getStartTime());
             member.setEndTime(memberRole.getEndTime());
             Integer ischange = getRoleIdByParam(memberRole.getRoleIds(),member,memberRoleMapper,deviceRoleMapper);
-            if(ischange == 0){
-                return;//鏈彂鐜版潈闄愬彉鍖栵紝鐩存帴杩斿洖
-            }
             if(memberRole.getRoleIds()!=null && memberRole.getRoleIds().length>0 && StringUtils.isBlank(member.getRoleId())){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鏈煡璇㈠埌鏈夋晥闂ㄧ缁勬暟鎹�");
             }
@@ -1617,30 +1624,24 @@
 
 
     @Override
-    public MemberVO getVisitedMember(CheckVisitedDTO checkVisitedDTO){
-        Integer validType = Integer.valueOf(systemDictDataBiz.queryByCode(Constants.SYSTEM,Constants.BEVISITED_USER_VALID).getCode());
-        if(Objects.isNull(checkVisitedDTO)||StringUtils.isBlank(checkVisitedDTO.getMobile())||(validType.equals(Constants.ONE)&&StringUtils.isBlank(checkVisitedDTO.getName()))){
-            throw new BusinessException(ResponseStatus.BAD_REQUEST);
-        }
-        Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
-                .eq(Member::getPhone,checkVisitedDTO.getMobile())
-                .eq(validType.equals(Constants.ONE),Member::getName,checkVisitedDTO.getName())
+    public List<MemberVO> getVisitedMember(CheckVisitedDTO checkVisitedDTO){
+        List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda()
+                .eq(StringUtils.isNotBlank(checkVisitedDTO.getMobile()),Member::getPhone,checkVisitedDTO.getMobile())
+                .eq(StringUtils.isNotBlank(checkVisitedDTO.getName()),Member::getName,checkVisitedDTO.getName())
                 .eq(Member::getIsdeleted,Constants.ZERO)
-//                .eq(Member::getStatus,Constants.ZERO)
+                .eq(Member::getStatus,Constants.ZERO)
                 .eq(Member::getCanVisit,Constants.ONE)
-                .eq(Member::getType,Constants.memberType.internal)
-                .last(" limit 1 ")
+                .eq(Member::getType,Constants.memberType.internal) 
         );
-        MemberVO memberVO = new MemberVO();
-        if(!Objects.isNull(member)){
-            if(!member.getStatus().equals(Constants.ZERO)){
-                throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"琚浜鸿处鍙峰紓甯革紝璇风‘璁ゅ悗鍐嶈瘯");
+        List<MemberVO> memberVOList = new ArrayList<>();
+        if (com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)) {
+            for (Member member:memberList) {
+                MemberVO memberVO = new MemberVO();
+                BeanUtils.copyProperties(member,memberVO);
+                memberVOList.add(memberVO);
             }
-            BeanUtils.copyProperties(member,memberVO);
-        }else{
-            throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"璇锋牳瀹炶璁夸汉淇℃伅!");
         }
-        return memberVO;
+        return memberVOList;
     }
 
 
@@ -1826,17 +1827,20 @@
     private void dealHkUserBizBatch(List<Member> newList) {
         List<String> hkIds = new ArrayList<>();
         try {
-            memberMapper.insertBatchSomeColumn(newList);
-            List<SystemUser> userList = new ArrayList<>();
             for(Member insert: newList){
                 if(dealHkUserBiz(insert)){
                     //鍒涘缓绯荤粺鐧婚檰璐﹀彿锛堥粯璁ゆ棤浠讳綍瑙掕壊锛�
-                    if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){
-                        //濡傛灉鏄唴閮ㄧ粍缁囦汉鍛橈紝鏂板绯荤粺鐧婚檰璐﹀彿
-                        userList.add(createSystemUser(insert));
-                    }
                 }else{
                     throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅銆�"+insert.getName()+"銆戝悓姝ュ畨闃插钩鍙板け璐ワ紝璇风◢鍚庨噸璇曪紒");
+                }
+            }
+            memberMapper.insertBatchSomeColumn(newList);
+            List<SystemUser> userList = new ArrayList<>();
+            for(Member insert: newList){
+                //鍒涘缓绯荤粺鐧婚檰璐﹀彿锛堥粯璁ゆ棤浠讳綍瑙掕壊锛�
+                if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){
+                    //濡傛灉鏄唴閮ㄧ粍缁囦汉鍛橈紝鏂板绯荤粺鐧婚檰璐﹀彿
+                    userList.add(createSystemUser(insert));
                 }
             }
             if(userList.size()>0){
@@ -1848,7 +1852,6 @@
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅瀵煎叆澶辫触锛岃绋嶅悗閲嶈瘯锛�");
         }
     }
-
     private Member checkModelParam(MemberImport model, List<Member> newList
             ,int index
             ,LoginUserInfo loginUserInfo
@@ -1932,6 +1935,57 @@
     }
 
 
+    @Override
+    @Transactional(rollbackFor = {Exception.class,BusinessException.class})
+    public void registerDriver(RegisterDriverDTO registerDriverDTO){
+        if(Objects.isNull(registerDriverDTO)
+        || StringUtils.isBlank(registerDriverDTO.getName())
+                || StringUtils.isBlank(registerDriverDTO.getPassword())
+                || StringUtils.isBlank(registerDriverDTO.getValidCode())
+                || StringUtils.isBlank(registerDriverDTO.getPhone())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+                .eq(Member::getIsdeleted,Constants.ZERO)
+                .eq(Member::getPhone,registerDriverDTO.getPhone())
+        )>Constants.ZERO){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵嬫満鍙峰凡娉ㄥ唽!");
+        };
+        if(systemUserMapper.selectCount(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getDeleted,Constants.ZERO)
+                        .and(i->i.eq(SystemUser::getMobile,registerDriverDTO.getPhone()).or().eq(SystemUser::getUsername,registerDriverDTO.getPhone()))
+        )>Constants.ZERO){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鎵嬫満鍙峰凡娉ㄥ唽!");
+        };
+
+        smsEmailService.validateCode(registerDriverDTO.getValidCode(),registerDriverDTO.getPhone());
+        String salt = RandomStringUtils.randomAlphabetic(6);
+       ;
+        Member member = new Member();
+        member.setCreateDate(new Date());
+        member.setIsdeleted(Constants.ZERO);
+        member.setType(Constants.TWO);
+        member.setName(registerDriverDTO.getName());
+        member.setPhone(registerDriverDTO.getPhone());
+        member.setStatus(Constants.ZERO);
+        member.setPassward(Utils.Secure.encryptPassword(registerDriverDTO.getPassword(), salt));
+        memberMapper.insert(member);
+
+
+        SystemUser systemUser = new SystemUser();
+        systemUser.setCreateTime(new Date());
+        systemUser.setDeleted(Boolean.FALSE);
+        systemUser.setUsername(registerDriverDTO.getPhone());
+        systemUser.setRealname(registerDriverDTO.getName());
+        systemUser.setMemberId(member.getId());
+        systemUser.setSalt(salt);
+        systemUser.setPassword(member.getPassward());
+        systemUser.setStatus(Constants.ZERO);
+        systemUserMapper.insert(systemUser);
+
+    }
+
 
 
 }

--
Gitblit v1.9.3