From d7dca690cedd12e271f0ee0b9050679d73796f5c Mon Sep 17 00:00:00 2001
From: MrShi <1878285526@qq.com>
Date: 星期一, 06 一月 2025 09:28:10 +0800
Subject: [PATCH] 1

---
 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java |  181 ++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 170 insertions(+), 11 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 a2446bb..12976d2 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
@@ -49,6 +49,7 @@
 import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl;
 import com.doumee.service.system.SystemLoginService;
 import com.github.yulichang.wrapper.MPJLambdaWrapper;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.RandomStringUtils;
 import org.apache.commons.lang3.StringUtils;
@@ -73,6 +74,7 @@
  * @date 2023/11/30 15:33
  */
 @Service
+@Slf4j
 public class MemberServiceImpl implements MemberService {
 
     @Autowired
@@ -128,6 +130,9 @@
     
     @Value("${debug_model}")
     private Boolean isDebug;
+
+
+
     @Override
     @Transactional(rollbackFor = {BusinessException.class,Exception.class})
     public Member create(Member member) {
@@ -141,7 +146,7 @@
         Member insert = initAddMemberModel(member,loginUserInfo);
         //娴峰悍浜哄憳鏂板涓氬姟
         try {
-             if(dealHkUserBiz(insert)){
+//             if(dealHkUserBiz(insert)){
                 memberMapper.insert(insert);
                 //鍒涘缓绯荤粺鐧婚檰璐﹀彿锛堥粯璁ゆ棤浠讳綍瑙掕壊锛�
 //                if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){
@@ -150,13 +155,13 @@
                     //澶勭悊鍩硅鏈夋晥鏈熶笟鍔�
                     dealTrainTIme(member,0,loginUserInfo);
 //                }
-            }else{
-                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃绋嶅悗閲嶈瘯锛�");
-            }
+//            }else{
+//                throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+//            }
         }catch (Exception e){
             //濡傛灉鍙戠敓寮傚父锛屽垹闄ゅ凡缁忓垱寤虹殑浜哄憳淇℃伅
             e.printStackTrace();
-            deleteHkUserBiz(new String[]{insert.getHkId()});
+//            deleteHkUserBiz(new String[]{insert.getHkId()});
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鏂板缓澶辫触锛岃绋嶅悗閲嶈瘯锛�");
         }
         return insert;
@@ -568,8 +573,8 @@
         member.setIsdeleted(Constants.ONE);
         member.setEditor(loginUserInfo.getId());
         member.setEditDate(new Date());
-        member.setHkStatus(Constants.ZERO);
-        member.setRemark("浜哄憳宸插垹闄わ紝绛夊緟鍒犻櫎闂ㄧ鏉冮檺");
+//        member.setHkStatus(Constants.ZERO);
+//        member.setRemark("浜哄憳宸插垹闄わ紝绛夊緟鍒犻櫎闂ㄧ鏉冮檺");
         memberMapper.updateById(member);
 
         //鍒櫎绯荤粺鐧婚檰璐︽埛
@@ -891,7 +896,7 @@
         updateMember.setEditor(loginUserInfo.getId());
         updateMember.setEditDate(new Date());
         //娴峰悍浜哄憳鏂板涓氬姟
-        if(dealHkUserForUpdateBiz(updateMember)){
+//        if(dealHkUserForUpdateBiz(updateMember)){
             updateMember.setHkId(null);
             updateMember.setAuthStatus(Constants.ZERO);
             memberMapper.update(null,new UpdateWrapper<Member>().lambda()
@@ -923,9 +928,9 @@
             cancelAllMemberEmpower(updateMember,memberRoleMapper,empowerMapper);
             //璁板綍鎿嶄綔鏃ュ織
             saveUserActionBiz(updateMember,loginUserInfo,Constants.UserActionType.EDIT,userActionJoinMapper,null);
-        }else{
-            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃绋嶅悗閲嶈瘯锛�");
-        }
+//        }else{
+//            throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅鍚屾瀹夐槻骞冲彴澶辫触锛岃绋嶅悗閲嶈瘯锛�");
+//        }
     }
 
     private void dealTrainTIme(Member updateMember, int i,LoginUserInfo loginUserInfo) {
@@ -1011,6 +1016,8 @@
             throw  new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"瀵逛笉璧凤紝浜哄憳淇℃伅涓嶅瓨鍦紒");
         }
        if(model.getCompanyId()!=null) {
+           member.setEditor(member.getLoginUserInfo().getId());
+           member.setEditDate(new Date());
            if(Constants.equalsInteger(member.getHeadStatus(),Constants.ONE)){
                //濡傛灉鏄彇娑堜富绠�
                companyMapper.update(null,new UpdateWrapper<Company>().lambda()
@@ -1040,6 +1047,7 @@
             loginUserInfo = member.getLoginUserInfo();
         }
         Member update = new Member();
+        update.setId(model.getId());
         update.setEditDate(new Date());
         update.setEditor(loginUserInfo.getId());
         update.setStatus(member.getStatus());
@@ -1758,6 +1766,49 @@
 
 
 
+    /**
+     * 寰俊鎺堟潈鎺ュ彛
+     * @param code
+     * @return
+     */
+    @Override
+    public WxAuthorizeVO ywWxAuthorize(String code){
+        if(StringUtils.isBlank(code)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        String appId = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_APPID).getCode();
+        String appSecret = systemDictDataBiz.queryByCode(Constants.WX_PLATFORM,Constants.WX_PLATFORM_SECRET).getCode();
+        String getTokenUrl = WXConstant.GET_USER_INFO_URL.replace("CODE", code)
+                .replace("APPID", appId).replace("SECRET", appSecret);
+        log.error("=========================getTokenUrl=====================" + getTokenUrl);
+        JSONObject tokenJson = JSONObject.parseObject(HttpsUtil.get(getTokenUrl,true));
+        log.error("=========================tokenJson=====================" + tokenJson);
+        String openId = "";
+        WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
+        if(Objects.nonNull(tokenJson)&&!Objects.isNull(tokenJson.get("access_token"))){
+            openId = tokenJson.getString("openid");
+        }else{
+            if(StringUtils.isBlank(openId)){
+                return wxAuthorizeVO;
+            }
+        }
+        wxAuthorizeVO.setOpenid(openId);
+        //鏍规嵁openId 鏌ヨ鐢ㄦ埛淇℃伅
+        SystemUser user = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda()
+                .eq(SystemUser::getOpenid,openId)
+                .eq(SystemUser::getDeleted,Boolean.FALSE)
+                .last(" limit 1 "));
+        if(!Objects.isNull(user)){
+            String token = systemLoginService.loginByUserId(user.getId());
+            wxAuthorizeVO.setToken(token);
+        }
+        return wxAuthorizeVO;
+    }
+
+
+
+
+
     @Override
     public List<MemberVO> getVisitedMember(CheckVisitedDTO checkVisitedDTO){
         List<Member> memberList = memberJoinMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>()
@@ -2100,6 +2151,114 @@
 
     }
 
+    /********************************************************闃滃畞杩愮淮*********************************************************************************************/
 
+    @Override
+    @Transactional(rollbackFor = {BusinessException.class,Exception.class})
+    public Member ywCreate(Member member) {
+        if(Objects.isNull(member)
+        || Objects.isNull(member.getCustomerId())
+        || StringUtils.isBlank(member.getName())
+        || StringUtils.isBlank(member.getPhone())
+        || Objects.isNull(member.getHighCheckor())
+        || Objects.isNull(member.getIdcardType())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = member.getLoginUserInfo();
+        member.setCreator(loginUserInfo.getId());
+        member.setCreateDate(new Date());
+        member.setType(Constants.memberType.customer);
+        member.setStatus(Constants.ZERO);
+        member.setIsdeleted(Constants.ZERO);
+        member.setStatus(Constants.ZERO);
+        this.checkYwMember(member);
+        memberMapper.insert(member);
+        return member;
+    }
+
+    @Override
+    public Member ywUpdate(Member member) {
+        if(Objects.isNull(member)
+                || Objects.isNull(member.getCustomerId())
+                || Objects.isNull(member.getId())
+                || StringUtils.isBlank(member.getName())
+                || StringUtils.isBlank(member.getPhone())
+                || Objects.isNull(member.getHighCheckor())
+                || Objects.isNull(member.getIdcardType())
+        ){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = member.getLoginUserInfo();
+        member.setEditor(loginUserInfo.getId());
+        member.setCustomerId(null);
+        member.setEditDate(new Date());
+        member.setType(Constants.memberType.customer);
+        member.setStatus(Constants.ZERO);
+        member.setIsdeleted(Constants.ZERO);
+        member.setStatus(Constants.ZERO);
+        this.checkYwMember(member);
+        memberMapper.updateById(member);
+        return member;
+    }
+
+
+    @Override
+    public List<Member> ywList(Member member) {
+        List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>()
+                .lambda()
+                .eq(Member::getIsdeleted,Constants.ZERO)
+                        .eq(Member::getStatus,Constants.ZERO)
+                .eq(Objects.nonNull(member.getCustomerId()),Member::getCustomerId,member.getCustomerId())
+                .eq(Member::getType,Constants.memberType.customer)
+        );
+        return memberList;
+    }
+
+
+    public void checkYwMember(Member member){
+        if (StringUtils.isBlank(member.getPhone())||!PhoneUtil.isPhone(member.getPhone())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"鐢佃瘽鍙风爜鏍煎紡鏈夎");
+        }
+        if (StringUtils.isNotBlank(member.getIdcardNo()) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO)  && !IdcardUtil.isValidCard(member.getIdcardNo())){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"韬唤璇佸彿鏍煎紡鏈夎");
+        }
+        if(StringUtils.isNotBlank(member.getIdcardNo() ) && Constants.equalsInteger(member.getIdcardType(),Constants.ZERO) ){
+            if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+                            .ne(Objects.nonNull(member.getId()),Member::getId,member.getId())
+                    .eq(Member::getIdcardNo, DESUtil.encrypt(Constants.EDS_PWD, member.getIdcardNo()))
+                    .eq(Member::getIsdeleted,Constants.ZERO)) >0){
+                throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "韬唤璇佸彿銆�"+member.getIdcardNo()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
+            }
+        }
+        if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+                .ne(Objects.nonNull(member.getId()),Member::getId,member.getId())
+                .eq(Member::getPhone,  member.getPhone())
+                .eq(Member::getIsdeleted,Constants.ZERO) ) >0){
+            throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙枫��"+member.getPhone()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
+        }
+    }
+
+
+    @Override
+    public PageData<Member> ywFindPage(PageWrap<Member> pageWrap) {
+        IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
+        MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<Member>();
+        Utils.MP.blankToNull(pageWrap.getModel());
+        Member model = pageWrap.getModel();
+        IPage iPage = memberMapper.selectJoinPage(page,Member.class,new MPJLambdaWrapper<Member>()
+                        .selectAll(Member.class)
+                .selectAs(YwCustomer::getName,Member::getCustomerName)
+                .leftJoin(YwCustomer.class,YwCustomer::getId,Member::getCustomerId)
+                .eq(Member::getIsdeleted,Constants.ZERO)
+                .eq(Member::getType,Constants.memberType.customer)
+                .eq(Objects.nonNull(model)&&Objects.nonNull(model.getCustomerId()),Member::getCustomerId,model.getCustomerId())
+                .and(Objects.nonNull(model)&&StringUtils.isNotBlank(model.getName()),i->i.like(Member::getName,model.getName()).or().like(
+                        Member::getPhone,model.getName()
+                ))
+                .orderByDesc(Member::getCreateDate)
+        );
+        return PageData.from(iPage);
+    }
 
 }

--
Gitblit v1.9.3