|
|
|
@ -21,21 +21,27 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage; |
|
|
|
import com.baomidou.mybatisplus.core.toolkit.IdWorker; |
|
|
|
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; |
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
import com.epmet.commons.tools.constant.NumConstant; |
|
|
|
import com.epmet.commons.tools.page.PageData; |
|
|
|
import com.epmet.commons.tools.utils.ConvertUtils; |
|
|
|
import com.epmet.commons.tools.constant.FieldConstant; |
|
|
|
import com.epmet.commons.tools.utils.Result; |
|
|
|
import com.epmet.constant.UserConstant; |
|
|
|
import com.epmet.constant.UserResiRegisterConstant; |
|
|
|
import com.epmet.dao.UserResiInfoDao; |
|
|
|
import com.epmet.dto.UserResiInfoDTO; |
|
|
|
import com.epmet.dto.UserRoleDTO; |
|
|
|
import com.epmet.dto.form.UserResiInfoFormDTO; |
|
|
|
import com.epmet.dto.form.VerificationCodeFormDTO; |
|
|
|
import com.epmet.entity.UserResiInfoEntity; |
|
|
|
import com.epmet.redis.UserResiInfoRedis; |
|
|
|
import com.epmet.service.RegisterRelationService; |
|
|
|
import com.epmet.service.UserResiInfoService; |
|
|
|
import com.epmet.service.UserResiRegisterVisitService; |
|
|
|
import com.epmet.service.UserRoleService; |
|
|
|
import org.apache.commons.lang3.StringUtils; |
|
|
|
import org.slf4j.Logger; |
|
|
|
import org.slf4j.LoggerFactory; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
@ -54,120 +60,184 @@ import java.util.Map; |
|
|
|
@Service |
|
|
|
public class UserResiInfoServiceImpl extends BaseServiceImpl<UserResiInfoDao, UserResiInfoEntity> implements UserResiInfoService { |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private UserResiInfoRedis userResiInfoRedis; |
|
|
|
@Autowired |
|
|
|
private UserResiRegisterVisitService userResiRegisterVisitService; |
|
|
|
@Autowired |
|
|
|
private UserResiInfoDao userResiInfoDao; |
|
|
|
@Autowired |
|
|
|
private RegisterRelationService registerRelationService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<UserResiInfoDTO> page(Map<String, Object> params) { |
|
|
|
IPage<UserResiInfoEntity> page = baseDao.selectPage( |
|
|
|
getPage(params, FieldConstant.CREATED_TIME, false), |
|
|
|
getWrapper(params) |
|
|
|
); |
|
|
|
return getPageData(page, UserResiInfoDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<UserResiInfoDTO> list(Map<String, Object> params) { |
|
|
|
List<UserResiInfoEntity> entityList = baseDao.selectList(getWrapper(params)); |
|
|
|
|
|
|
|
return ConvertUtils.sourceToTarget(entityList, UserResiInfoDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
private QueryWrapper<UserResiInfoEntity> getWrapper(Map<String, Object> params) { |
|
|
|
String id = (String) params.get(FieldConstant.ID_HUMP); |
|
|
|
|
|
|
|
QueryWrapper<UserResiInfoEntity> wrapper = new QueryWrapper<>(); |
|
|
|
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|
|
|
|
|
|
|
return wrapper; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public UserResiInfoDTO get(String id) { |
|
|
|
UserResiInfoEntity entity = baseDao.selectById(id); |
|
|
|
return ConvertUtils.sourceToTarget(entity, UserResiInfoDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void save(UserResiInfoDTO dto) { |
|
|
|
UserResiInfoEntity entity = ConvertUtils.sourceToTarget(dto, UserResiInfoEntity.class); |
|
|
|
insert(entity); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void update(UserResiInfoDTO dto) { |
|
|
|
UserResiInfoEntity entity = ConvertUtils.sourceToTarget(dto, UserResiInfoEntity.class); |
|
|
|
updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void delete(String[] ids) { |
|
|
|
// 逻辑删除(@TableLogic 注解)
|
|
|
|
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param userResiInfoFormDTO |
|
|
|
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.UserResiInfoDTO> |
|
|
|
* @Author yinzuomei |
|
|
|
* @Description 查询用户注册信息 |
|
|
|
* @Date 2020/3/30 11:07 |
|
|
|
**/ |
|
|
|
@Override |
|
|
|
public Result<UserResiInfoDTO> getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) { |
|
|
|
UserResiInfoDTO userResiInfoDTO = baseDao.selectUserResiInfoDTO(userResiInfoFormDTO); |
|
|
|
if (null != userResiInfoDTO) { |
|
|
|
String showName = userResiInfoDTO.getStreet() + "-" + userResiInfoDTO.getSurname() + userResiInfoDTO.getName(); |
|
|
|
userResiInfoDTO.setShowName(showName); |
|
|
|
} |
|
|
|
return new Result<UserResiInfoDTO>().ok(userResiInfoDTO); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result submit(UserResiInfoDTO userResiInfoDTO) { |
|
|
|
Result result = new Result(); |
|
|
|
//1:手机验证码数据校验//TODO
|
|
|
|
|
|
|
|
//2:验证码校验失败则更新行为记录表数据 返回前台结果
|
|
|
|
if (false) { |
|
|
|
userResiRegisterVisitService.updateResiRegisterVisit(false, userResiInfoDTO); |
|
|
|
result.setMsg(UserResiRegisterConstant.MOBILECODE_EXCEPTION); |
|
|
|
return result; |
|
|
|
} |
|
|
|
//3:校验成功 数据存入居民注册表 更新行为记录表数据
|
|
|
|
saveUserResiInfo(userResiInfoDTO); |
|
|
|
result = userResiRegisterVisitService.updateResiRegisterVisit(true, userResiInfoDTO); |
|
|
|
//4:居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一
|
|
|
|
result = registerRelationService.saveRegisterRelation(userResiInfoDTO); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 居民注册信息表新增数据 |
|
|
|
* |
|
|
|
* @param userResiInfoDTO |
|
|
|
* @Author sun |
|
|
|
*/ |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void saveUserResiInfo(UserResiInfoDTO userResiInfoDTO) { |
|
|
|
Date date = new Date(); |
|
|
|
userResiInfoDTO.setId(IdWorker.get32UUID()); |
|
|
|
userResiInfoDTO.setDelFlag(NumConstant.ZERO); |
|
|
|
userResiInfoDTO.setRevision(NumConstant.ZERO); |
|
|
|
userResiInfoDTO.setCreatedBy(userResiInfoDTO.getUserId()); |
|
|
|
userResiInfoDTO.setCreatedTime(date); |
|
|
|
userResiInfoDTO.setUpdatedBy(userResiInfoDTO.getUserId()); |
|
|
|
userResiInfoDTO.setUpdatedTime(date); |
|
|
|
userResiInfoDao.saveUserResiInfo(userResiInfoDTO); |
|
|
|
} |
|
|
|
private static final Logger log = LoggerFactory.getLogger(UserResiInfoServiceImpl.class); |
|
|
|
@Autowired |
|
|
|
private UserResiInfoRedis userResiInfoRedis; |
|
|
|
@Autowired |
|
|
|
private UserResiRegisterVisitService userResiRegisterVisitService; |
|
|
|
@Autowired |
|
|
|
private UserResiInfoDao userResiInfoDao; |
|
|
|
@Autowired |
|
|
|
private RegisterRelationService registerRelationService; |
|
|
|
@Autowired |
|
|
|
private UserRoleService userRoleService; |
|
|
|
|
|
|
|
@Override |
|
|
|
public PageData<UserResiInfoDTO> page(Map<String, Object> params) { |
|
|
|
IPage<UserResiInfoEntity> page = baseDao.selectPage( |
|
|
|
getPage(params, FieldConstant.CREATED_TIME, false), |
|
|
|
getWrapper(params) |
|
|
|
); |
|
|
|
return getPageData(page, UserResiInfoDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public List<UserResiInfoDTO> list(Map<String, Object> params) { |
|
|
|
List<UserResiInfoEntity> entityList = baseDao.selectList(getWrapper(params)); |
|
|
|
|
|
|
|
return ConvertUtils.sourceToTarget(entityList, UserResiInfoDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
private QueryWrapper<UserResiInfoEntity> getWrapper(Map<String, Object> params) { |
|
|
|
String id = (String) params.get(FieldConstant.ID_HUMP); |
|
|
|
|
|
|
|
QueryWrapper<UserResiInfoEntity> wrapper = new QueryWrapper<>(); |
|
|
|
wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); |
|
|
|
|
|
|
|
return wrapper; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public UserResiInfoDTO get(String id) { |
|
|
|
UserResiInfoEntity entity = baseDao.selectById(id); |
|
|
|
return ConvertUtils.sourceToTarget(entity, UserResiInfoDTO.class); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void save(UserResiInfoDTO dto) { |
|
|
|
UserResiInfoEntity entity = ConvertUtils.sourceToTarget(dto, UserResiInfoEntity.class); |
|
|
|
insert(entity); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void update(UserResiInfoDTO dto) { |
|
|
|
UserResiInfoEntity entity = ConvertUtils.sourceToTarget(dto, UserResiInfoEntity.class); |
|
|
|
updateById(entity); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void delete(String[] ids) { |
|
|
|
// 逻辑删除(@TableLogic 注解)
|
|
|
|
baseDao.deleteBatchIds(Arrays.asList(ids)); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param userResiInfoFormDTO |
|
|
|
* @return com.epmet.commons.tools.utils.Result<com.epmet.dto.UserResiInfoDTO> |
|
|
|
* @Author yinzuomei |
|
|
|
* @Description 查询用户注册信息 |
|
|
|
* @Date 2020/3/30 11:07 |
|
|
|
**/ |
|
|
|
@Override |
|
|
|
public Result<UserResiInfoDTO> getUserResiInfoDTO(UserResiInfoFormDTO userResiInfoFormDTO) { |
|
|
|
UserResiInfoDTO userResiInfoDTO = baseDao.selectUserResiInfoDTO(userResiInfoFormDTO); |
|
|
|
if (null != userResiInfoDTO) { |
|
|
|
String showName = userResiInfoDTO.getStreet() + "-" + userResiInfoDTO.getSurname() + userResiInfoDTO.getName(); |
|
|
|
userResiInfoDTO.setShowName(showName); |
|
|
|
} |
|
|
|
return new Result<UserResiInfoDTO>().ok(userResiInfoDTO); |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result submit(UserResiInfoDTO userResiInfoDTO) { |
|
|
|
Result result = new Result(); |
|
|
|
//1:手机验证码数据校验//TODO
|
|
|
|
|
|
|
|
//2:验证码校验失败则更新行为记录表数据 返回前台结果
|
|
|
|
if (false) { |
|
|
|
userResiRegisterVisitService.updateResiRegisterVisit(false, userResiInfoDTO); |
|
|
|
result.error(UserResiRegisterConstant.PARAMETER_ERROR); |
|
|
|
result.setMsg(UserResiRegisterConstant.MOBILECODE_EXCEPTION); |
|
|
|
return result; |
|
|
|
} |
|
|
|
//3:校验成功 数据存入居民注册表 更新行为记录表数据
|
|
|
|
saveUserResiInfo(userResiInfoDTO); |
|
|
|
userResiRegisterVisitService.updateResiRegisterVisit(true, userResiInfoDTO); |
|
|
|
//4:居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一
|
|
|
|
registerRelationService.saveRegisterRelation(userResiInfoDTO); |
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 居民注册信息表新增数据 |
|
|
|
* |
|
|
|
* @param userResiInfoDTO |
|
|
|
* @Author sun |
|
|
|
*/ |
|
|
|
@Transactional(rollbackFor = Exception.class) |
|
|
|
public void saveUserResiInfo(UserResiInfoDTO userResiInfoDTO) { |
|
|
|
Date date = new Date(); |
|
|
|
userResiInfoDTO.setId(IdWorker.get32UUID()); |
|
|
|
userResiInfoDTO.setDelFlag(NumConstant.ZERO); |
|
|
|
userResiInfoDTO.setRevision(NumConstant.ZERO); |
|
|
|
userResiInfoDTO.setCreatedBy(userResiInfoDTO.getUserId()); |
|
|
|
userResiInfoDTO.setCreatedTime(date); |
|
|
|
userResiInfoDTO.setUpdatedBy(userResiInfoDTO.getUserId()); |
|
|
|
userResiInfoDTO.setUpdatedTime(date); |
|
|
|
userResiInfoDao.saveUserResiInfo(userResiInfoDTO); |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* @param verificationCodeFormDTO |
|
|
|
* @Author sun |
|
|
|
* @Description 居民端-居民注册根据手机号获取验证码 |
|
|
|
**/ |
|
|
|
@Override |
|
|
|
public Result getVerificationCode(VerificationCodeFormDTO verificationCodeFormDTO) { |
|
|
|
Result result = new Result(); |
|
|
|
//1:更新居民注册访问记录表数据
|
|
|
|
userResiRegisterVisitService.updateResiVisitOperate(verificationCodeFormDTO); |
|
|
|
//2:判断手机号是否可用
|
|
|
|
if (!getResiInfoByMobile(verificationCodeFormDTO.getMobile())) { |
|
|
|
result.error(UserResiRegisterConstant.PARAMETER_ERROR); |
|
|
|
result.setMsg(UserResiRegisterConstant.MOBILE_EXIST); |
|
|
|
return result; |
|
|
|
} |
|
|
|
//3:调用短信服务 生成验证码发送短信 TODO
|
|
|
|
|
|
|
|
//4:将验证码存入redis TODO
|
|
|
|
|
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public Result saveResiInfo(UserResiInfoDTO userResiInfoDTO) { |
|
|
|
Result result = new Result(); |
|
|
|
|
|
|
|
//判断手机号是否可用
|
|
|
|
if (getResiInfoByMobile(userResiInfoDTO.getRegMobile())) { |
|
|
|
//数据存入居民注册表
|
|
|
|
saveUserResiInfo(userResiInfoDTO); |
|
|
|
//居民注册关系表新增数据 首次注册数加一 注册数加一 参与数加一
|
|
|
|
registerRelationService.saveRegisterRelation(userResiInfoDTO); |
|
|
|
//将用户于居民角色关联
|
|
|
|
UserRoleDTO userRole = new UserRoleDTO(); |
|
|
|
userRole.setUserId(userResiInfoDTO.getUserId()); |
|
|
|
userRole.setRoleKey(UserConstant.ROLE_RESI); |
|
|
|
userRoleService.saveUserRole(userRole); |
|
|
|
} |
|
|
|
|
|
|
|
return result; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* 判断手机号是否可用-根据手机号查询居民注册信息(user_resi_info)表数据 |
|
|
|
* |
|
|
|
* @param mobile |
|
|
|
* @return |
|
|
|
* @Author sun |
|
|
|
*/ |
|
|
|
private Boolean getResiInfoByMobile(String mobile) { |
|
|
|
Boolean bl = true; |
|
|
|
|
|
|
|
List<UserResiInfoDTO> list = userResiInfoDao.selectResiInfoByMobile(mobile); |
|
|
|
if (list.size() > 0) { |
|
|
|
bl = false; |
|
|
|
} |
|
|
|
return bl; |
|
|
|
} |
|
|
|
|
|
|
|
} |
|
|
|
|