From d9394dcd231b0f0bd82b16c347aecf432a9b97bd Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 08 十月 2024 10:39:34 +0800
Subject: [PATCH] 最新版本
---
server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 125 ++++++++++++++++-------------------------
1 files changed, 50 insertions(+), 75 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 57e507d..f71435f 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
@@ -9,8 +9,6 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.doumee.biz.system.SystemDictDataBiz;
import com.doumee.config.DataSyncConfig;
-import com.doumee.config.Jwt.JwtPayLoad;
-import com.doumee.config.Jwt.JwtTokenUtil;
import com.doumee.core.annotation.excel.ExcelImporter;
import com.doumee.core.constants.ResponseStatus;
import com.doumee.core.exception.BusinessException;
@@ -25,7 +23,6 @@
import com.doumee.core.model.PageData;
import com.doumee.core.model.PageWrap;
import com.doumee.core.utils.*;
-import com.doumee.core.utils.redis.RedisUtil;
import com.doumee.core.wx.WXConstant;
import com.doumee.dao.admin.request.LaborEmpowerDTO;
import com.doumee.dao.admin.request.LaborMemberDTO;
@@ -35,7 +32,6 @@
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;
import com.doumee.dao.business.join.UserActionJoinMapper;
@@ -43,7 +39,6 @@
import com.doumee.dao.system.SystemUserMapper;
import com.doumee.dao.system.model.SystemDictData;
import com.doumee.dao.system.model.SystemUser;
-import com.doumee.dao.web.reqeust.AccountLoginDTO;
import com.doumee.dao.web.reqeust.CheckVisitedDTO;
import com.doumee.dao.web.reqeust.VisitMemberDTO;
import com.doumee.dao.web.response.MemberVO;
@@ -53,7 +48,6 @@
import com.doumee.service.business.impl.hksync.HkSyncEmpowerServiceImpl;
import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl;
import com.doumee.service.system.SystemLoginService;
-import com.doumee.service.system.SystemUserService;
import com.github.yulichang.wrapper.MPJLambdaWrapper;
import org.apache.commons.collections.CollectionUtils;
import org.apache.commons.lang3.RandomStringUtils;
@@ -97,8 +91,8 @@
@Autowired
private EmpowerMapper empowerMapper;
-
@Autowired
+
private DeviceMapper deviceMapper;
@Autowired
@@ -128,6 +122,9 @@
@Lazy
private SmsEmailService smsEmailService;
+ @Autowired
+ private SystemLoginService systemLoginService;
+
@Value("${debug_model}")
private Boolean isDebug;
@Override
@@ -148,7 +145,7 @@
//鍒涘缓绯荤粺鐧婚檰璐﹀彿锛堥粯璁ゆ棤浠讳綍瑙掕壊锛�
if(Constants.equalsInteger(member.getCompanyType(),Constants.ONE)){
//濡傛灉鏄唴閮ㄧ粍缁囦汉鍛橈紝鏂板绯荤粺鐧婚檰璐﹀彿
- systemUserMapper.insert(createSystemUser(insert));
+ systemUserMapper.insert(createSystemUser(insert,systemDictDataBiz));
//澶勭悊鍩硅鏈夋晥鏈熶笟鍔�
dealTrainTIme(member,0,loginUserInfo);
}
@@ -162,7 +159,7 @@
}
return insert;
}
- private SystemUser createSystemUser(Member insert) {
+ public static SystemUser createSystemUser(Member insert,SystemDictDataBiz systemDictDataBiz) {
SystemUser user = new SystemUser();
// 鐢熸垚瀵嗙爜鐩�
String salt = RandomStringUtils.randomAlphabetic(6);
@@ -182,6 +179,7 @@
user.setUpdateUser(insert.getEditor());
user.setUpdateTime(insert.getEditDate());
user.setMemberId(insert.getId());
+ user.setSource(Constants.ZERO);
user.setDeleted(Boolean.FALSE);
user.setFixed(Boolean.FALSE);
user.setStatus(Constants.ZERO);
@@ -245,7 +243,7 @@
}
//澶勭悊鏂板鏁版嵁
BaseResponse<UserAddResponse> result = HKService.addUser(hkAddRequest);
- if(result!=null && StringUtils.equals(result.getCode(),HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
+ if(result!=null && StringUtils.equals(result.getCode(), HKConstants.RESPONSE_SUCCEE) && result.getData()!=null){
insert.setHkId(hkAddRequest.getPersonId());
insert.setFaceId(result.getData().getFaceId());
if(StringUtils.isNotBlank(insert.getFaceId())){
@@ -332,12 +330,14 @@
throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"韬唤璇佸彿鏍煎紡鏈夎");
}
if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
+ .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO})
.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()
.eq(Member::getPhone, member.getPhone())
+ .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO})
.eq(Member::getIsdeleted,Constants.ZERO) ) >0){
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙枫��"+member.getPhone()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
}
@@ -387,6 +387,7 @@
}
if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
.eq(Member::getPhone,member.getPhone())
+ .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO})
.eq(Member::getIsdeleted,Constants.ZERO)
.ne(Member::getId,member.getId())) >0){
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "鎵嬫満鍙枫��"+member.getPhone()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
@@ -401,6 +402,7 @@
if( !StringUtils.equals(model.getIdcardNo(),encrptNo) ){
if(memberMapper.selectCount(new QueryWrapper<Member>().lambda()
.eq(Member::getIdcardNo,encrptNo)
+ .in(Member::getType,new Integer[]{Constants.ZERO,Constants.TWO})
.eq(Member::getIsdeleted,Constants.ZERO)
.ne(Member::getId,member.getId())) >0){
throw new BusinessException(ResponseStatus.DATA_EXISTS.getCode(), "韬唤璇佸彿銆�"+member.getIdcardNoNew()+"銆戝凡琚娇鐢紝涓嶈兘閲嶅");
@@ -549,7 +551,7 @@
public void deleteById(Integer id,LoginUserInfo loginUserInfo) {
Member member=new Member();
member.setId(id);
- member.setIsdeleted(Constants.ZERO);
+ member.setIsdeleted(Constants.ONE);
member.setEditor(loginUserInfo.getId());
member.setEditDate(new Date());
member.setHkStatus(Constants.ZERO);
@@ -740,7 +742,7 @@
memberRole.setRoleId(deviceRole.getId());
memberRoleList.add(memberRole);
}
- memberRoleMapper.insertBatchSomeColumn(memberRoleList);
+ memberRoleMapper.insert(memberRoleList);
}
member.setRoleId(ids);
return 1;
@@ -776,7 +778,10 @@
if (CollectionUtils.isEmpty(ids)) {
return;
}
- Member member=new Member();
+ for(Integer id : ids){
+ deleteById(id,loginUserInfo);
+ }
+ /* Member member=new Member();
ids.stream().forEach(s ->{
member.setId(s);
member.setIsdeleted(Constants.ONE);
@@ -786,7 +791,7 @@
member.setEditDate(new Date());
memberMapper.updateById(member);
saveUserActionBiz(member,loginUserInfo,Constants.UserActionType.DELETE,userActionJoinMapper,JSONObject.toJSONString(member));
- });
+ });*/
}
@@ -927,6 +932,7 @@
}
public static void saveUserActionBiz(Member updateMember,LoginUserInfo user, Constants.UserActionType type,UserActionJoinMapper userActionMapper,String content) {
+ updateMember.setEditDate(updateMember.getEditDate()==null?new Date():updateMember.getEditDate());
UserAction userAction=new UserAction();
userAction.setIsdeleted(Constants.ZERO);
userAction.setCreateDate(updateMember.getEditDate());
@@ -1070,6 +1076,7 @@
update.setEditor(loginUserInfo.getId());
update.setCanVisit(member.getCanVisit());
memberMapper.updateById(update);
+ member.setEditDate(update.getEditDate());
//璁板綍鎿嶄綔鏃ュ織
saveUserActionBiz(member,loginUserInfo,Constants.equalsInteger(member.getCanVisit(),Constants.ONE)?Constants.UserActionType.CANVISIT:Constants.UserActionType.CANCEL_VISIT,userActionJoinMapper,null);
}
@@ -1104,7 +1111,9 @@
if(StringUtils.isNotBlank(member.getName())){
queryWrapper.like(Member::getName,member.getName());
}
-
+ if(Objects.nonNull(member.getCompanyType())){
+ queryWrapper.eq(Company::getType,member.getCompanyType());
+ }
if(null != member.getType()) {
queryWrapper.eq(Member::getType,member.getType());
}
@@ -1112,6 +1121,7 @@
queryWrapper.eq(Member::getCompanyId,member.getCompanyId());
}
queryWrapper.eq(Member::getIsdeleted,Constants.ZERO);
+ queryWrapper.eq(Member::getWorkStatus,Constants.ZERO);
List<Member> list = memberJoinMapper.selectJoinList(Member.class,queryWrapper);
// if(list!=null){
// for(Member m : list){
@@ -1331,7 +1341,7 @@
public PageData<Member> findMemberInfoPage(PageWrap<MemberQuery> pageWrap) {
IPage<Member> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity());
MPJLambdaWrapper<Member> queryWrapper = new MPJLambdaWrapper<>();
-
+ pageWrap.getModel().setIsdeleted(Constants.formatIntegerNum(pageWrap.getModel().getIsdeleted()));
queryWrapper.selectAll(Member.class);
queryWrapper.selectAs(Company::getName,Member::getCompanyName);
queryWrapper.selectAs(SystemUser::getRealname,Member::getEditorName);
@@ -1441,7 +1451,7 @@
queryWrapper.selectAll(Member.class)
.selectAs(Company::getName,Member::getCompanyName)
.selectAs(Member::getLastVisitDate,Member::getLastVisitDate)
- .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 and v.status in (7,8) ) as visitsCount");
+ .select(" (select count(v.id) from visits v where v.MEMBER_ID=t.id and v.ISDELETED=0 and v.status in (7,8) ) as visitTimes");
queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getName()),Member::getName,pageWrap.getModel().getName())
.like(StringUtils.isNotBlank(pageWrap.getModel().getPhone()),Member::getPhone,pageWrap.getModel().getPhone())
.and(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()), ms->ms.like(Member::getVisitCompanyName,pageWrap.getModel().getCompanyName())
@@ -1551,7 +1561,7 @@
list.add(model);
}
//瀵煎叆鏂板鐨勬巿鏉冧俊鎭�
- empowerMapper.insertBatchSomeColumn(list);
+ empowerMapper.insert(list);
}
}
}
@@ -1582,7 +1592,7 @@
.eq(Member::getType,Constants.memberType.internal)
.eq(Member::getStatus,Constants.ZERO)
.isNotNull(Member::getHkId)
- .apply("to_days(lastVisitDate)+ "+days+" < to_days(now())" ));
+ .apply("to_days(LAST_VISIT_DATE)+ "+days+" < to_days(now())" ));
if(CollectionUtils.isEmpty(memberList)){
return;
}
@@ -1621,7 +1631,10 @@
* @return
*/
@Override
- public WxAuthorizeVO wxAuthorize(String code){
+ public WxAuthorizeVO wxAuthorize(String code, Integer source){
+ if(StringUtils.isBlank(code)||Objects.isNull(source)){
+ 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)
@@ -1640,6 +1653,7 @@
.selectAs(Company::getName,Member::getCompanyName)
.leftJoin(Company.class,Company::getId,Member::getCompanyId)
.eq(Member::getOpenid,openId)
+ .eq(Member::getType,source)
.eq(Member::getIsdeleted,Constants.ZERO)
.orderByDesc(Member::getCreateDate)
.last(" limit 1 ")
@@ -1658,12 +1672,16 @@
String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() +
systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode();
member.setPrefixUrl(prefixUrl);
-// JwtPayLoad payLoad = new JwtPayLoad(Integer.toString(member.getId()));
-// String token = JwtTokenUtil.generateToken(payLoad);
-// //瀛樺偍token鑷硆edis
-// RedisUtil.addObject(redisTemplate,Constants.RedisKeys.INTERNAL_TOKEN+"_"+member.getId(),token,Constants.RedisKeys.EXPIRE_TIME);
-// wxAuthorizeVO.setToken(token);
wxAuthorizeVO.setMember(member);
+ //鍙告満 涓� 鍐呴儴浜哄憳 鎻愪緵token
+ if(Constants.equalsInteger(source,Constants.ZERO)||Constants.equalsInteger(source,Constants.TWO)){
+ SystemUser systemUser = systemUserMapper.selectOne(new QueryWrapper<SystemUser>().lambda().eq(SystemUser::getMemberId,member.getId())
+ .eq(SystemUser::getStatus,Constants.ZERO).last(" limit 1 "));
+ if(Objects.nonNull(systemUser)){
+ String token = systemLoginService.loginByUserId(systemUser.getId());
+ wxAuthorizeVO.setToken(token);
+ }
+ }
}
return wxAuthorizeVO;
}
@@ -1734,51 +1752,6 @@
- @Override
- public WxAuthorizeVO accountLogin(AccountLoginDTO accountLoginDTO){
- System.out.println(DESUtil.decrypt(Constants.EDS_PWD,"eIaPD5AR5DBuTBE9MW14QRG07IDKXCdh"));
- if(accountLoginDTO.getAccount().length()!=18
- //&&!IdcardUtil.isValidCard(accountLoginDTO.getAccount())
- ){
- throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(), "瀵逛笉璧凤紝韬唤璇佸彿鐮佹湁璇紝璇锋牳瀹炲悗閲嶈瘯锛�");
- }
- Member member = memberMapper.selectOne(new QueryWrapper<Member>().lambda()
- .eq(Member::getIdcardNo, DESUtil.encrypt(Constants.EDS_PWD, accountLoginDTO.getAccount()))
- .ne(Member::getType,Constants.memberType.visitor)
- );
- if(Objects.isNull(member)){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏈煡璇㈠埌鐢ㄦ埛,璇疯仈绯荤鐞嗗憳");
- }
- if(member.getIsdeleted() == Constants.ONE){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸插垹闄�,璇疯仈绯荤鐞嗗憳");
- }
- if(member.getStatus() != Constants.ZERO){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛宸茬鐢�,璇疯仈绯荤鐞嗗憳");
- }
- String md5Password = DESUtil.encrypt(Constants.EDS_PWD, accountLoginDTO.getPassword());
- if(!md5Password.equals(member.getPassward())){
- throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"璐︽埛瀵嗙爜閿欒!");
- }
- if(StringUtils.isNotBlank(accountLoginDTO.getOpenId())){
- //鍏堟竻绌哄師鏈夎瀹㈢殑openid缁戝畾鍏崇郴
- memberMapper.update(null, new UpdateWrapper<Member>().lambda()
- .ne(Member::getType,Constants.memberType.visitor)
- .eq(Member::getOpenid,accountLoginDTO.getOpenId())
- .set(Member::getOpenid,null)
- );
- //鏇存柊褰撳墠鐧诲綍鐢ㄦ埛 openId
- member.setOpenid(accountLoginDTO.getOpenId());
- memberMapper.updateById(member);
- }
- WxAuthorizeVO wxAuthorizeVO = new WxAuthorizeVO();
- JwtPayLoad payLoad = new JwtPayLoad(Integer.toString(member.getId()));
- String token = JwtTokenUtil.generateToken(payLoad);
- //瀛樺偍token鑷硆edis
- RedisUtil.addObject(redisTemplate,Constants.RedisKeys.INTERNAL_TOKEN+"_"+member.getId(),token,Constants.RedisKeys.EXPIRE_TIME);
- wxAuthorizeVO.setToken(token);
- return wxAuthorizeVO;
- }
-
@Override
@@ -1787,7 +1760,7 @@
List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO));
if(CollectionUtils.isNotEmpty(memberList)){
stagingHeadVO.setWorkerCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.internal)).count());
- stagingHeadVO.setLwCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.lw_visitor)).count());
+ stagingHeadVO.setLwCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.driver)).count());
stagingHeadVO.setVisitorCount(memberList.stream().filter(m->m.getType().equals(Constants.memberType.visitor)).count());
}
//鍦ㄥ満杞﹁締
@@ -1811,7 +1784,7 @@
new MPJLambdaWrapper<Member>()
.select("count(1) as memberCount, t1.name as companyName")
.leftJoin(Company.class,Company::getId,Member::getCompanyId)
- .eq(Member::getType,Constants.memberType.lw_visitor)
+ .eq(Member::getType,Constants.memberType.driver)
.groupBy(Company::getId,Company::getName)
);
List<Map<String,Object>> retentionMaps = retentionJoinMapper.selectMaps(new MPJLambdaWrapper<Retention>()
@@ -1886,17 +1859,17 @@
throw new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鍛樺伐淇℃伅銆�"+insert.getName()+"銆戝悓姝ュ畨闃插钩鍙板け璐ワ紝璇风◢鍚庨噸璇曪紒");
}
}
- memberMapper.insertBatchSomeColumn(newList);
+ memberMapper.insert(newList);
List<SystemUser> userList = new ArrayList<>();
for(Member insert: newList){
//鍒涘缓绯荤粺鐧婚檰璐﹀彿锛堥粯璁ゆ棤浠讳綍瑙掕壊锛�
if(Constants.equalsInteger(insert.getCompanyType(),Constants.ONE)){
//濡傛灉鏄唴閮ㄧ粍缁囦汉鍛橈紝鏂板绯荤粺鐧婚檰璐﹀彿
- userList.add(createSystemUser(insert));
+ userList.add(createSystemUser(insert,systemDictDataBiz));
}
}
if(userList.size()>0){
- systemUserMapper.insertBatchSomeColumn(userList);
+ systemUserMapper.insert(userList);
}
}catch (Exception e){
//濡傛灉鍙戠敓寮傚父锛屽垹闄ゅ凡缁忓垱寤虹殑浜哄憳淇℃伅
@@ -2031,9 +2004,11 @@
systemUser.setUsername(registerDriverDTO.getPhone());
systemUser.setRealname(registerDriverDTO.getName());
systemUser.setMemberId(member.getId());
+ systemUser.setMobile(registerDriverDTO.getPhone());
systemUser.setSalt(salt);
systemUser.setPassword(member.getPassward());
systemUser.setStatus(Constants.ZERO);
+ systemUser.setSource(Constants.TWO);
systemUserMapper.insert(systemUser);
}
--
Gitblit v1.9.3