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.dto.*;
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.GridLeaderRegisterDTO;
import com.elink.esua.epdc.dto.epdc.form.*;
@ -192,11 +193,11 @@ public class AppUserServiceImpl implements AppUserService {
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);
EpdcGridLeaderRegisterFormDTO registerDto = new EpdcGridLeaderRegisterFormDTO();
registerDto.setUserDto(appUser);
registerDto.setGridLeader(gridLeaderRegister);
registerDto.setUserGridList(userGridList);
Result<UserDTO> appUserResult = userFeignClient.gridLeaderRegister(registerDto);
@ -224,38 +225,37 @@ public class AppUserServiceImpl implements AppUserService {
* @author work@yujt.net.cn
* @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);
Date now = new Date();
String mobile = sysUser.getMobile();
UserDTO appUser = new UserDTO();
appUser.setFaceImg(USER_FACE);
appUser.setWxUnionId(wxMaUser.getUnionid());
appUser.setWxOpenId(wxMaUser.getOpenid());
appUser.setLastLoginTime(now);
appUser.setRegisterTime(now);
appUser.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
appUser.setRegisterSource(AppUserRegisterSourceEnum.MA.value());
appUser.setRegisterWay(AppUserRegisterWayEnum.WX.value());
appUser.setMobile(mobile);
appUser.setNickname("网格长-"
EpdcGridLeaderRegisterDTO gridLeaderRegister = new EpdcGridLeaderRegisterDTO();
gridLeaderRegister.setFaceImg(USER_FACE);
gridLeaderRegister.setWxUnionId(wxMaUser.getUnionid());
gridLeaderRegister.setWxOpenId(wxMaUser.getOpenid());
gridLeaderRegister.setRegisterTime(now);
gridLeaderRegister.setState(AppUserStatesEnum.STATE_INFORMATION_PASSED.value());
gridLeaderRegister.setRegisterSource(AppUserRegisterSourceEnum.MA.value());
gridLeaderRegister.setRegisterWay(AppUserRegisterWayEnum.WX.value());
gridLeaderRegister.setMobile(mobile);
gridLeaderRegister.setNickname("网格长-"
+ sysUser.getRealName().substring(NumConstant.ZERO, NumConstant.ONE)
+ (sysUser.getGender() == NumConstant.ZERO ? "女士" : "先生"));
appUser.setSex(String.valueOf(sysUser.getGender()));
appUser.setRealName(sysUser.getRealName());
appUser.setEmail(sysUser.getEmail());
appUser.setPartyFlag(YesOrNoEnum.NO.value());
gridLeaderRegister.setSex(String.valueOf(sysUser.getGender()));
gridLeaderRegister.setRealName(sysUser.getRealName());
gridLeaderRegister.setEmail(sysUser.getEmail());
gridLeaderRegister.setPartyFlag(YesOrNoEnum.NO.value());
PhoneDto phoneDto = PhoneUtil.getPhoneDto(mobile);
if (phoneDto != null) {
appUser.setMobileProvince(phoneDto.getProvinceName());
appUser.setMobileCity(phoneDto.getCityName());
appUser.setMobileCarrier(phoneDto.getCarrier());
gridLeaderRegister.setMobileProvince(phoneDto.getProvinceName());
gridLeaderRegister.setMobileCity(phoneDto.getCityName());
gridLeaderRegister.setMobileCarrier(phoneDto.getCarrier());
}
return appUser;
return gridLeaderRegister;
}
@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;
import com.elink.esua.epdc.dto.UserDTO;
import com.elink.esua.epdc.dto.UserGridRelationDTO;
import com.elink.esua.epdc.dto.epdc.EpdcGridLeaderRegisterDTO;
import lombok.Data;
import java.io.Serializable;
@ -18,7 +18,7 @@ public class EpdcGridLeaderRegisterFormDTO implements Serializable {
private static final long serialVersionUID = -3300063484743833705L;
private UserDTO userDto;
private EpdcGridLeaderRegisterDTO gridLeader;
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
*/
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);
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.UserGridRelationDTO;
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.result.EpdcUserRegisterInfoResultDTO;
import com.elink.esua.epdc.dto.epdc.result.EpdcUserInfoResultDTO;
@ -270,29 +271,56 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
@Override
@Transactional(rollbackFor = Exception.class)
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);
boolean insertUser = insert(userEntity);
String userId;
String faceImg = userEntity.getFaceImg();
String userId = userEntity.getId();
List<UserGridRelationDTO> userGridList = registerDto.getUserGridList();
for (UserGridRelationDTO dto : userGridList) {
dto.setUserId(userId);
dto.setLeaderFlag(YesOrNoEnum.YES.value());
// 首次注册
if (null == existUser) {
this.insert(userEntity);
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);
boolean insertRelation = userGridRelationService.insertBatch(userGridRelationEntityList);
if (!insertUser || !insertRelation) {
throw new RenException("注册失败");
}
userGridRelationService.insertBatch(userGridRelationEntityList);
UserGridRelationDTO userGridRelationDto = userGridList.get(NumConstant.ZERO);
UserDTO userDto = ConvertUtils.sourceToTarget(gridLeader, UserDTO.class);
userDto.setId(userId);
UserGridRelationDTO userGridRelationDto = userGridList.get(NumConstant.ZERO);
userDto.setGridId(userGridRelationDto.getGridId());
userDto.setGrid(userGridRelationDto.getGrid());
userDto.setFaceImg(faceImg);
return new Result<UserDTO>().ok(userDto);
}

Loading…
Cancel
Save