Browse Source

网格长注册修改

dev
yujintao 6 years ago
parent
commit
a4cedc1f27
  1. 44
      esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java
  2. 109
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/EpdcGridLeaderRegisterDTO.java
  3. 4
      esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcGridLeaderRegisterFormDTO.java
  4. 11
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java
  5. 8
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java
  6. 54
      esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

44
esua-epdc/epdc-module/epdc-api/epdc-api-server/src/main/java/com/elink/esua/epdc/service/impl/AppUserServiceImpl.java

@ -12,6 +12,7 @@ import com.elink.esua.epdc.commons.tools.redis.RedisUtils;
import com.elink.esua.epdc.commons.tools.utils.*; import com.elink.esua.epdc.commons.tools.utils.*;
import com.elink.esua.epdc.dto.*; import com.elink.esua.epdc.dto.*;
import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO; import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterFormDTO; import com.elink.esua.epdc.dto.epdc.form.EpdcGridLeaderRegisterFormDTO;
import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO; import com.elink.esua.epdc.dto.epdc.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.form.*;
@ -192,11 +193,11 @@ public class AppUserServiceImpl implements AppUserService {
GridLeaderRegisterDTO leaderRegisterDto = adminResult.getData(); GridLeaderRegisterDTO leaderRegisterDto = adminResult.getData();
// 组装用户注册信息 // 组装用户注册信息
UserDTO appUser = this.packageGridLeaderWhileRegister(leaderRegisterDto.getSysUser(), formDto.getWxCode()); EpdcGridLeaderRegisterDTO gridLeaderRegister = this.packageGridLeaderWhileRegister(leaderRegisterDto.getSysUser(), formDto.getWxCode());
List<UserGridRelationDTO> userGridList = ConvertUtils.sourceToTarget(leaderRegisterDto.getLeaderGridList(), UserGridRelationDTO.class); List<UserGridRelationDTO> userGridList = ConvertUtils.sourceToTarget(leaderRegisterDto.getLeaderGridList(), UserGridRelationDTO.class);
EpdcGridLeaderRegisterFormDTO registerDto = new EpdcGridLeaderRegisterFormDTO(); EpdcGridLeaderRegisterFormDTO registerDto = new EpdcGridLeaderRegisterFormDTO();
registerDto.setUserDto(appUser); registerDto.setGridLeader(gridLeaderRegister);
registerDto.setUserGridList(userGridList); registerDto.setUserGridList(userGridList);
Result<UserDTO> appUserResult = userFeignClient.gridLeaderRegister(registerDto); Result<UserDTO> appUserResult = userFeignClient.gridLeaderRegister(registerDto);
@ -224,38 +225,37 @@ public class AppUserServiceImpl implements AppUserService {
* @author work@yujt.net.cn * @author work@yujt.net.cn
* @date 2019/10/23 10:01 * @date 2019/10/23 10:01
*/ */
private UserDTO packageGridLeaderWhileRegister(SysUserDTO sysUser, String wxCode) { private EpdcGridLeaderRegisterDTO packageGridLeaderWhileRegister(SysUserDTO sysUser, String wxCode) {
WxMaJscode2SessionResult wxMaUser = this.getWxMaUser(wxCode); WxMaJscode2SessionResult wxMaUser = this.getWxMaUser(wxCode);
Date now = new Date(); Date now = new Date();
String mobile = sysUser.getMobile(); String mobile = sysUser.getMobile();
UserDTO appUser = new UserDTO(); EpdcGridLeaderRegisterDTO gridLeaderRegister = new EpdcGridLeaderRegisterDTO();
appUser.setFaceImg(USER_FACE); gridLeaderRegister.setFaceImg(USER_FACE);
appUser.setWxUnionId(wxMaUser.getUnionid()); gridLeaderRegister.setWxUnionId(wxMaUser.getUnionid());
appUser.setWxOpenId(wxMaUser.getOpenid()); gridLeaderRegister.setWxOpenId(wxMaUser.getOpenid());
appUser.setLastLoginTime(now); gridLeaderRegister.setRegisterTime(now);
appUser.setRegisterTime(now); gridLeaderRegister.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
appUser.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value()); gridLeaderRegister.setRegisterSource(AppUserRegisterSourceEnum.MA.value());
appUser.setRegisterSource(AppUserRegisterSourceEnum.MA.value()); gridLeaderRegister.setRegisterWay(AppUserRegisterWayEnum.WX.value());
appUser.setRegisterWay(AppUserRegisterWayEnum.WX.value()); gridLeaderRegister.setMobile(mobile);
appUser.setMobile(mobile); gridLeaderRegister.setNickname("网格长-"
appUser.setNickname("网格长-"
+ sysUser.getRealName().substring(NumConstant.ZERO, NumConstant.ONE) + sysUser.getRealName().substring(NumConstant.ZERO, NumConstant.ONE)
+ (sysUser.getGender() == NumConstant.ZERO ? "女士" : "先生")); + (sysUser.getGender() == NumConstant.ZERO ? "女士" : "先生"));
appUser.setSex(String.valueOf(sysUser.getGender())); gridLeaderRegister.setSex(String.valueOf(sysUser.getGender()));
appUser.setRealName(sysUser.getRealName()); gridLeaderRegister.setRealName(sysUser.getRealName());
appUser.setEmail(sysUser.getEmail()); gridLeaderRegister.setEmail(sysUser.getEmail());
appUser.setPartyFlag(YesOrNoEnum.NO.value()); gridLeaderRegister.setPartyFlag(YesOrNoEnum.NO.value());
PhoneDto phoneDto = PhoneUtil.getPhoneDto(mobile); PhoneDto phoneDto = PhoneUtil.getPhoneDto(mobile);
if (phoneDto != null) { if (phoneDto != null) {
appUser.setMobileProvince(phoneDto.getProvinceName()); gridLeaderRegister.setMobileProvince(phoneDto.getProvinceName());
appUser.setMobileCity(phoneDto.getCityName()); gridLeaderRegister.setMobileCity(phoneDto.getCityName());
appUser.setMobileCarrier(phoneDto.getCarrier()); gridLeaderRegister.setMobileCarrier(phoneDto.getCarrier());
} }
return appUser; return gridLeaderRegister;
} }
@Override @Override

109
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/EpdcGridLeaderRegisterDTO.java

@ -0,0 +1,109 @@
package com.elink.esua.epdc.dto.epdc;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
/**
* 网格长注册用
*
* @author work@yujt.net.cn
* @date 2019/10/30 17:41
*/
@Data
public class EpdcGridLeaderRegisterDTO implements Serializable {
private static final long serialVersionUID = -637346365680474316L;
/**
* 主键
*/
private String id;
/**
* 昵称
*/
private String nickname;
/**
* 手机号
*/
private String mobile;
/**
* 注册时间
*/
private Date registerTime;
/**
* 头像
*/
private String faceImg;
/**
* 性别(女性-female男性-male)
*/
private String sex;
/**
* 邮箱
*/
private String email;
/**
* 最近登录IP
*/
private String lastLoginIp;
/**
* 真实姓名
*/
private String realName;
/**
* 微信OPENID
*/
private String wxOpenId;
/**
* 微信unionId
*/
private String wxUnionId;
/**
* 是否是党员(0-1-)
*/
private String partyFlag;
/**
* 注册方式wx微信注册
*/
private String registerWay;
/**
* 用户来源(wp:公众号)
*/
private String registerSource;
/**
* 手机号所属省份
*/
private String mobileProvince;
/**
* 手机号所属城市
*/
private String mobileCity;
/**
* 手机号所属运营商
*/
private String mobileCarrier;
/**
* 状态参考枚举类{@link com.elink.esua.epdc.enums.AppUserStatesEnum}
*/
private String state;
}

4
esua-epdc/epdc-module/epdc-user/epdc-user-client/src/main/java/com/elink/esua/epdc/dto/epdc/form/EpdcGridLeaderRegisterFormDTO.java

@ -1,7 +1,7 @@
package com.elink.esua.epdc.dto.epdc.form; package com.elink.esua.epdc.dto.epdc.form;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserGridRelationDTO; import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
import lombok.Data; import lombok.Data;
import java.io.Serializable; import java.io.Serializable;
@ -18,7 +18,7 @@ public class EpdcGridLeaderRegisterFormDTO implements Serializable {
private static final long serialVersionUID = -3300063484743833705L; private static final long serialVersionUID = -3300063484743833705L;
private UserDTO userDto; private EpdcGridLeaderRegisterDTO gridLeader;
private List<UserGridRelationDTO> userGridList; private List<UserGridRelationDTO> userGridList;

11
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/UserGridRelationService.java

@ -135,4 +135,15 @@ public interface UserGridRelationService extends BaseService<UserGridRelationEnt
* @date 2019/10/25 18:20 * @date 2019/10/25 18:20
*/ */
List<UserGridRelationDTO> listUserGrid(String userId); List<UserGridRelationDTO> listUserGrid(String userId);
/**
* 按用户id和网格id删除用户网格关系
*
* @param userId 用户id
* @param gridId 网格id
* @return int
* @author work@yujt.net.cn
* @date 2019/10/30 17:55
*/
int delete(String userId, Long gridId);
} }

8
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserGridRelationServiceImpl.java

@ -153,4 +153,12 @@ public class UserGridRelationServiceImpl extends BaseServiceImpl<UserGridRelatio
List<UserGridRelationEntity> gridRelationEntities = this.baseDao.selectList(wrapper); List<UserGridRelationEntity> gridRelationEntities = this.baseDao.selectList(wrapper);
return ConvertUtils.sourceToTarget(gridRelationEntities, UserGridRelationDTO.class); return ConvertUtils.sourceToTarget(gridRelationEntities, UserGridRelationDTO.class);
} }
@Override
public int delete(String userId, Long gridId) {
QueryWrapper<UserGridRelationEntity> wrapper = new QueryWrapper<>();
wrapper.eq(UserFieldConsant.USER_ID, userId)
.eq(FieldConstant.GRID_ID, gridId);
return this.baseDao.delete(wrapper);
}
} }

54
esua-epdc/epdc-module/epdc-user/epdc-user-server/src/main/java/com/elink/esua/epdc/service/impl/UserServiceImpl.java

@ -38,6 +38,7 @@ import com.elink.esua.epdc.dao.UserDao;
import com.elink.esua.epdc.dto.UserDTO; import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserGridRelationDTO; import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO; import com.elink.esua.epdc.dto.epdc.EpdcCompleteAppUserDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.*; import com.elink.esua.epdc.dto.epdc.form.*;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO; import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
@ -270,29 +271,56 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterFormDTO registerDto) { public Result<UserDTO> gridLeaderRegister(EpdcGridLeaderRegisterFormDTO registerDto) {
// 网格长用户信息
EpdcGridLeaderRegisterDTO gridLeader = registerDto.getGridLeader();
UserEntity userEntity = ConvertUtils.sourceToTarget(gridLeader, UserEntity.class);
// 网格长管理的网格
List<UserGridRelationDTO> userGridList = registerDto.getUserGridList();
UserDTO userDto = registerDto.getUserDto(); QueryWrapper<UserEntity> wrapper = new QueryWrapper<>();
wrapper.eq(UserFieldConsant.WX_OPEN_ID, gridLeader.getWxOpenId());
UserEntity existUser = this.baseDao.selectOne(wrapper);
UserEntity userEntity = ConvertUtils.sourceToTarget(userDto, UserEntity.class); String userId;
boolean insertUser = insert(userEntity); String faceImg = userEntity.getFaceImg();
String userId = userEntity.getId(); // 首次注册
List<UserGridRelationDTO> userGridList = registerDto.getUserGridList(); if (null == existUser) {
for (UserGridRelationDTO dto : userGridList) {
dto.setUserId(userId); this.insert(userEntity);
dto.setLeaderFlag(YesOrNoEnum.YES.value());
userId = userEntity.getId();
for (UserGridRelationDTO userGridRelation : userGridList) {
userGridRelation.setUserId(userId);
userGridRelation.setLeaderFlag(YesOrNoEnum.YES.value());
}
// 已注册过,更新信息
} else {
userId = existUser.getId();
faceImg = existUser.getFaceImg();
// 不更新头像信息
userEntity.setFaceImg(null);
userEntity.setId(userId);
this.updateById(userEntity);
for (UserGridRelationDTO userGridRelation : userGridList) {
userGridRelationService.delete(userId, userGridRelation.getGridId());
userGridRelation.setUserId(userId);
userGridRelation.setLeaderFlag(YesOrNoEnum.YES.value());
}
} }
List<UserGridRelationEntity> userGridRelationEntityList = ConvertUtils.sourceToTarget(userGridList, UserGridRelationEntity.class); List<UserGridRelationEntity> userGridRelationEntityList = ConvertUtils.sourceToTarget(userGridList, UserGridRelationEntity.class);
boolean insertRelation = userGridRelationService.insertBatch(userGridRelationEntityList); userGridRelationService.insertBatch(userGridRelationEntityList);
if (!insertUser || !insertRelation) {
throw new RenException("注册失败");
}
UserGridRelationDTO userGridRelationDto = userGridList.get(NumConstant.ZERO); UserDTO userDto = ConvertUtils.sourceToTarget(gridLeader, UserDTO.class);
userDto.setId(userId); userDto.setId(userId);
UserGridRelationDTO userGridRelationDto = userGridList.get(NumConstant.ZERO);
userDto.setGridId(userGridRelationDto.getGridId()); userDto.setGridId(userGridRelationDto.getGridId());
userDto.setGrid(userGridRelationDto.getGrid()); userDto.setGrid(userGridRelationDto.getGrid());
userDto.setFaceImg(faceImg);
return new Result<UserDTO>().ok(userDto); return new Result<UserDTO>().ok(userDto);
} }

Loading…
Cancel
Save