From 30e858fa504b268b9b436afca0a1259cf6e8c488 Mon Sep 17 00:00:00 2001 From: MrShi <1878285526@qq.com> Date: 星期二, 19 八月 2025 11:01:40 +0800 Subject: [PATCH] 优化 --- server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 52 ++++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 44 insertions(+), 8 deletions(-) diff --git a/server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index dc9d09b..adde7de 100644 --- a/server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -13,10 +13,9 @@ import com.doumee.core.utils.qiyeweixin.model.response.*; import com.doumee.dao.business.CompanyMapper; import com.doumee.dao.business.CompanyMemberMapper; +import com.doumee.dao.business.ManagersMapper; import com.doumee.dao.business.MemberMapper; -import com.doumee.dao.business.model.Company; -import com.doumee.dao.business.model.CompanyMember; -import com.doumee.dao.business.model.Member; +import com.doumee.dao.business.model.*; import com.doumee.dao.system.model.SystemUser; import com.doumee.dao.web.dto.LoginH5DTO; import com.doumee.dao.web.dto.UpdEmailDTO; @@ -27,14 +26,19 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.github.yulichang.wrapper.MPJLambdaWrapper; import io.swagger.annotations.ApiOperation; +import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.apache.shiro.SecurityUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.data.redis.core.RedisTemplate; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import org.springframework.util.CollectionUtils; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestHeader; +import javax.annotation.Resource; +import java.io.Serializable; import java.util.ArrayList; import java.util.Date; import java.util.List; @@ -46,8 +50,11 @@ * @since 2025/04/02 17:49 */ @Service +@Slf4j public class MemberServiceImpl implements MemberService { + @Resource(name="sessionRedisTemplate") + private RedisTemplate<Object, Serializable> redisTemplate; @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired @@ -56,6 +63,8 @@ private CompanyMapper companyMapper; @Autowired private CompanyMemberMapper companyMemberMapper; + @Autowired + private ManagersMapper managersMapper; @Override public Integer create(Member member) { @@ -84,7 +93,19 @@ @Override public void updateById(Member member) { - memberMapper.updateById(member); + if( member.getId() == null){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); + memberMapper.update(null,new UpdateWrapper<Member>().lambda() + .eq(Member::getId,member.getId() ) + .set(Member::getSex,member.getSex() ) + .set(Member::getPhone,member.getPhone() ) + .set(Member::getRemark,member.getRemark() ) + .set(Member::getEmail,member.getEmail() ) + .set(Member::getEditDate,new Date()) + .set(Member::getEditor,user.getId()) + ); } @Override @@ -207,6 +228,11 @@ //涓嶅寘鍚笅绾х粍缁� queryWrapper.exists(pageWrap.getModel().getCompanyId()!=null,"select (cm.id) from company_member cm where cm.company_id='"+pageWrap.getModel().getCompanyId()+"' and cm.member_id=t.id"); } + + if(Objects.nonNull(pageWrap.getModel().getIsSendCopy())&&Constants.equalsInteger(Constants.ONE,pageWrap.getModel().getIsSendCopy())){ + queryWrapper.apply(" t.id in ( select MEMBER_ID from managers where ISDELETED= 0 and STATUS = 0 and TYPE = 1 ) "); + } + queryWrapper.orderByAsc(Member::getCreateDate); PageData<Member> record = PageData.from(memberMapper.selectJoinPage(page,Member.class, queryWrapper)); if(record!=null && record.getRecords()!=null){ @@ -226,6 +252,7 @@ } @Override + @Transactional public void syncQwAll(){ if(Constants.DEALING_MEMBER_SYNC){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝鍚屾浠诲姟姝e湪杩涜锛岃绋嶅悗鍒锋柊椤甸潰閲嶈瘯锛�"); @@ -243,15 +270,20 @@ LoginUserInfo user = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal(); Date date = new Date(); List<QywxUserListResponse> list = new ArrayList<>(); + int index =0; for(Company c : companyList){ List<QywxUserListResponse> tList = QywxUtil.getUserList(systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_TOKEN).getCode(),c.getQwId()); if(tList!=null){ + log.error((index++)+"==============="+c.getName()+"============浜哄憳鏁伴噺锛�"+tList.size()); list.addAll(tList); + }else{ + log.error((index++)+"==============="+c.getName()+"============浜哄憳鏁伴噺锛�0"); } } if(list == null || list.size() ==0){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"鏈悓姝ュ埌浠讳綍缁勭粐淇℃伅锛�"); } + log.error( "###################=================浜哄憳鎬绘暟閲忥細"+list.size()); List<Member> memberList = memberMapper.selectList(new LambdaQueryWrapper<Member>().eq(Member::getIsdeleted,Constants.ZERO)); List<Member> newList = new ArrayList<>(); List<Member> updateList = new ArrayList<>(); @@ -286,7 +318,7 @@ if(StringUtils.isNotBlank(comNames)){ comNames += ","; } - comNames += c.getNamePath(); + comNames += StringUtils.defaultString(c.getNamePath(),c.getName()); } } cm.setCompanyList(qycom); @@ -418,11 +450,11 @@ } String token = systemDictDataBiz.queryByCode(Constants.QYWX,Constants.QYWX_TOKEN).getCode(); //鏍规嵁code鎹㈠尯浼佷笟寰俊ID - QywxBaseResponse<String> qwIdBaseResponse= QywxUtil.getUserInfoByCode(token,dto.getCode()); + QywxBaseResponse<String> qwIdBaseResponse = QywxUtil.getUserInfoByCode(token,dto.getCode()); if(Objects.isNull(qwIdBaseResponse)||Objects.isNull(qwIdBaseResponse.getErrcode())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟寰俊鐧诲綍鐮佽В鏋愬け璐ワ紝璇疯仈绯荤鐞嗗憳"); } - if(Constants.equalsInteger(qwIdBaseResponse.getErrcode(),Constants.ZERO)){ + if(!Constants.equalsInteger(qwIdBaseResponse.getErrcode(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟寰俊鐧诲綍澶辫触锛�"+qwIdBaseResponse.getErrmsg()); } if(Objects.isNull(qwIdBaseResponse.getData())){ @@ -437,7 +469,7 @@ if(Objects.isNull(qywxUserInfoResponse)||Objects.isNull(qywxUserInfoResponse.getErrcode())){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟寰俊鑾峰彇鐢ㄦ埛淇℃伅瑙f瀽澶辫触锛岃鑱旂郴绠$悊鍛�"); } - if(Constants.equalsInteger(qywxUserInfoResponse.getErrcode(),Constants.ZERO)){ + if(!Constants.equalsInteger(qywxUserInfoResponse.getErrcode(),Constants.ZERO)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"浼佷笟寰俊鑾峰彇鐢ㄦ埛淇℃伅澶辫触锛�"+qwIdBaseResponse.getErrmsg()); } member = new Member(); @@ -450,6 +482,10 @@ member.setQwId(qwId); memberMapper.insert(member); } + //鏌ヨ鏄惁鏈夋潈闄� + member.setDcaButton(managersMapper.selectCount(new QueryWrapper<Managers>().lambda() + .eq(Managers::getIsdeleted,Constants.ZERO).eq(Managers::getMemberId,member.getId()) + .eq(Managers::getType,Constants.TWO))>Constants.ZERO?Constants.ONE:Constants.ZERO); return member; } -- Gitblit v1.9.3