Commit 4ea75dad authored by minminyan's avatar minminyan

重构returnValue方法,添加接口saveUserDetail实现,findUserSpouseByUserId实现,

等实现
parent 3526c3a7
......@@ -75,29 +75,31 @@ public class MotanUserServiceImpl implements UserMotanService {
private IUserExtInfoService userExtInfoService;
@Autowired
private IWechatService wechatService;
@Autowired
private IUserSpouseService userSpouseService;
@Override
public UserSysResult<XUser> findUserByPhoneNo(String phoneNo) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return returnValue(null, "手机号格式不正确");
return returnErrorValue("手机号格式不正确");
}
User user = userService.findByPhoneInDb(phoneNo);
return returnValue(fromUser(user), "");
return returnSuccessValue(fromUser(user));
}
@Override
public UserSysResult<XUser> findUserByUuid(String uuid) {
if (StringUtils.isBlank(uuid)) {
return returnValue(null, "参数不能为空");
return returnErrorValue("参数不能为空");
}
User user = userService.findByUuidInDb(uuid);
return returnValue(fromUser(user), "");
return returnSuccessValue(fromUser(user));
}
@Override
public UserSysResult<XUser> saveUser(UserBean userBean) {
if (null == userBean || !ValidationUtil.validatePhoneNo(userBean.getPhoneNo())) {
return returnValue(null, userBean == null ? "要保存的用户对象不能为null" : "手机号不正确");
return returnErrorValue(userBean == null ? "要保存的用户对象不能为null" : "手机号不正确");
}
Timestamp now = new Timestamp(System.currentTimeMillis());
User user = userService.findByPhoneWithCache(userBean.getPhoneNo());
......@@ -120,17 +122,17 @@ public class MotanUserServiceImpl implements UserMotanService {
user.setUuid(userBean.getUuid());
user.setRegisteredFrom(userBean.getRegisteredFrom());
User saveUser = userService.saveUser(user);
return returnValue(fromUser(saveUser), "");
return returnSuccessValue(fromUser(saveUser));
}
@Override
public UserSysResult<XUserDetail> findUserDetailByUserId(Long userId) {
if (userId == null || userId.longValue() < 1) {
return returnValue(null, "参数必须是正整数");
return returnErrorValue("参数必须是正整数");
}
UserDetail userDetail = userDetailService.findByUserId(userId);
XUserDetail xUserDetail = fromUserDetail(userDetail);
return returnValue(xUserDetail, "");
return returnSuccessValue(xUserDetail);
}
private XUserDetail fromUserDetail(UserDetail userDetail) {
......@@ -143,8 +145,12 @@ public class MotanUserServiceImpl implements UserMotanService {
xUserDetail.setPhoneNo(userDetail.getPhoneNo());
xUserDetail.setName(userDetail.getName());
xUserDetail.setIdNo(userDetail.getIdNo());
xUserDetail.setIdType(cn.quantgroup.motan.enums.IdType.valueOf(userDetail.getIdType().getName()));
xUserDetail.setGender(cn.quantgroup.motan.enums.Gender.valueOf(userDetail.getGender().getName()));
if (userDetail.getIdType() != null) {
xUserDetail.setIdType(cn.quantgroup.motan.enums.IdType.valueOf(userDetail.getIdType().name()));
}
if (userDetail.getGender() != null) {
xUserDetail.setGender(cn.quantgroup.motan.enums.Gender.valueOf(userDetail.getGender().name()));
}
xUserDetail.setEmail(userDetail.getEmail());
xUserDetail.setQq(userDetail.getQq());
xUserDetail.setId(userDetail.getId());
......@@ -173,26 +179,26 @@ public class MotanUserServiceImpl implements UserMotanService {
@Override
public UserSysResult<XUser> findUserByUserId(Long id) {
if (id == null || id.longValue() < 1) {
return returnValue(null, "参数必须是正整数");
return returnErrorValue("参数必须是正整数");
}
User user = userService.findById(id);
return returnValue(fromUser(user), "");
return returnSuccessValue(fromUser(user));
}
@Override
public UserSysResult<XUserDetail> findUserDetailByPhone(String phoneNo) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return returnValue(null, "手机号格式不正确");
return returnErrorValue("手机号格式不正确");
}
UserDetail userDetail = userDetailService.findByPhoneNo(phoneNo);
return returnValue(fromUserDetail(userDetail), "");
return returnSuccessValue(fromUserDetail(userDetail));
}
@Override
public UserSysResult<XUserDetail> updateUserDetail(UserDetailUpdateBean userDetailUpdateBean) {
if (null == userDetailUpdateBean) {
return returnValue(null, "要保存的用户详情对象不能为null");
return returnErrorValue("要保存的用户详情对象不能为null");
}
UserDetail userDetail = new UserDetail();
if (null != userDetailUpdateBean.getId() && userDetailUpdateBean.getId() > 0L) {
......@@ -210,27 +216,70 @@ public class MotanUserServiceImpl implements UserMotanService {
userDetail.setGender(idCardService.getIdCardInfo(userDetailUpdateBean.getIdNo()).getGender());
} catch (ParseException e) {
log.error("根据身份证获取性别出错,userDetailUpdateBean:{}", JSON.toJSONString(userDetailUpdateBean), e);
return returnValue(null, "根据身份证获取性别出错.");
return returnErrorValue("根据身份证获取性别出错.");
}
userDetail.setEmail(userDetailUpdateBean.getEmail());
userDetail = userDetailService.saveUserDetail(userDetail);
if (userDetail != null) {
XUserDetail xUserDetail = convertObject(JSON.toJSONString(userDetail), new TypeReference<XUserDetail>() {
});
return returnValue(xUserDetail, "");
return returnSuccessValue(xUserDetail);
}
return returnValue(null, "保存失败");
return returnErrorValue("保存失败");
}
@Override
public UserSysResult<XUserDetail> saveUserDetail(UserDetailSaveBean userDetailSaveBean) {
return null;
if (userDetailSaveBean == null) {
return returnErrorValue("数据不能为空");
}
Long userId = userDetailSaveBean.getUserId();
if (userId == null || userId == 0L) {
return returnErrorValue("用户id为空");
}
if (StringUtils.isBlank(userDetailSaveBean.getPhoneNo())) {
return returnErrorValue("用户手机号为空");
}
if (StringUtils.isBlank(userDetailSaveBean.getName())) {
return returnErrorValue("用户名为空");
}
if (StringUtils.isBlank(userDetailSaveBean.getIdNo())) {
return returnErrorValue("用户身份证为空");
}
Timestamp time = new Timestamp(System.currentTimeMillis());
UserDetail userDetail = userDetailService.findByUserId(userId);
if (userDetail == null) {
userDetail = new UserDetail();
userDetail.setUserId(userId);
userDetail.setCreatedAt(time);
userDetail.setUpdatedAt(time);
} else {
userDetail.setUpdatedAt(time);
}
userDetail.setName(userDetail.getName());
userDetail.setPhoneNo(userDetail.getPhoneNo());
userDetail.setIdType(IdType.ID_CARD);
if (StringUtils.isNotBlank(userDetail.getIdNo())) {
try {
userDetail.setGender(idCardService.getIdCardInfo(userDetail.getIdNo()).getGender());
} catch (ParseException e) {
log.error("根据身份证获取性别出错,身份证号码:{}", userDetail.getIdNo(), e);
return returnErrorValue("身份证信息出错");
}
userDetail.setIdNo(userDetail.getIdNo());
}
userDetail.setEmail(userDetail.getEmail());
userDetail = userDetailService.saveUserDetail(userDetail);
if (userDetail != null) {
return returnSuccessValue(fromUserDetail(userDetail));
}
return returnErrorValue("操作失败");
}
@Override
public UserSysResult<XLoginInfo> appLoginAndFetchLoginInfo(AppLoginParam appLoginParam, String requestIp) {
if (!ValidationUtil.validatePhoneNo(appLoginParam.getPhoneNo())) {
return returnValue(null, "账户或者密码错误");
return returnErrorValue("账户或者密码错误");
}
log.info("第三方用户登录, loginFrom:{}, requestIp:{}", appLoginParam.getRegisterFrom(), requestIp);
......@@ -239,11 +288,11 @@ public class MotanUserServiceImpl implements UserMotanService {
user = register(appLoginParam.getRegisterFrom(), appLoginParam.getPhoneNo(), appLoginParam.getIdNo(), appLoginParam.getName());
}
if (user == null) {
return returnValue(null, "账户或者密码错误");
return returnErrorValue("账户或者密码错误");
}
Merchant merchant = merchantService.findMerchantByName(appLoginParam.getKey());
if (merchant == null) {
return returnValue(null, "无效的商户");
return returnErrorValue("无效的商户");
}
LoginProperties loginProperties = new LoginProperties();
loginProperties.setChannelId(appLoginParam.getChannelId());
......@@ -264,7 +313,7 @@ public class MotanUserServiceImpl implements UserMotanService {
log.info("第三方用户获取信息登录成功, loginFrom:{}, phoneNo:{},appChannel:{}", appLoginParam.getRegisterFrom(), appLoginParam.getPhoneNo(), appLoginParam.getAppChannel());
XLoginInfo xLoginInfo = convertObject(JSON.toJSONString(loginInfo), new TypeReference<XLoginInfo>() {
});
return returnValue(xLoginInfo, "");
return returnSuccessValue(xLoginInfo);
}
private <T> T convertObject(String json, TypeReference typeReference) {
......@@ -294,16 +343,16 @@ public class MotanUserServiceImpl implements UserMotanService {
List<Contact> contacts = contactService.findByUserId(userId);
List<XContact> xContacts = convertObject(JSON.toJSONString(contacts), new TypeReference<List<XContact>>() {
});
return returnValue(xContacts, "");
return returnSuccessValue(xContacts);
}
@Override
public UserSysResult<List<XContact>> saveContacts(Long userId, List<XContact> contacts) {
if (null == userId || userId == 0L) {
return returnValue(null, "保存联系人列表失败,用户id为空");
return returnErrorValue("保存联系人列表失败,用户id为空");
}
if (CollectionUtils.isEmpty(contacts)) {
return returnValue(null, "保存联系人列表失败,列表为空");
return returnErrorValue("保存联系人列表失败,列表为空");
}
//做一次类型转换,
String jsonContacts = JSON.toJSONString(contacts);
......@@ -313,7 +362,7 @@ public class MotanUserServiceImpl implements UserMotanService {
});
} catch (Exception e) {
log.error("联系人列表转换错误", e);
return returnValue(null, "联系人转换错误");
return returnErrorValue("联系人转换错误");
}
Timestamp now = new Timestamp(System.currentTimeMillis());
for (Contact c : contactList) {
......@@ -326,27 +375,26 @@ public class MotanUserServiceImpl implements UserMotanService {
List<Contact> result = contactService.save(contactList);
List<XContact> xResult = convertObject(JSON.toJSONString(result), new TypeReference<List<XContact>>() {
});
return returnValue(xResult, "");
return returnSuccessValue(xResult);
}
@Override
public UserSysResult<XAddress> findAddressByUserId(Long userId) {
UserSysResult<XAddress> userSysResult = returnValue(null, null);
UserSysResult<XAddress> userSysResult = returnErrorValue(null);
Address address = addressService.findByUserId(userId);
if (null == address) {
return userSysResult;
}
XAddress xAddress = convertObject(JSON.toJSONString(address), new TypeReference<XAddress>() {
});
return returnValue(xAddress, "");
return returnSuccessValue(xAddress);
}
@Override
public UserSysResult<XAddress> saveAddress(Long userId, Long provinceCode, String province, Long cityCode, String city,
Long districtCode, String district, String address) {
UserSysResult<XAddress> userSysResult = returnValue(null, null);
if (null == userId || null == provinceCode || null == cityCode) {
return userSysResult;
return returnErrorValue("参数不能为空");
}
Address addressObj = addressService.findByUserId(userId);
if (addressObj == null) {
......@@ -366,7 +414,7 @@ public class MotanUserServiceImpl implements UserMotanService {
addressObj = addressService.save(addressObj);
XAddress xAddress = convertObject(JSON.toJSONString(addressObj), new TypeReference<XAddress>() {
});
return returnValue(xAddress, "");
return returnSuccessValue(xAddress);
}
@Override
......@@ -376,7 +424,7 @@ public class MotanUserServiceImpl implements UserMotanService {
Boolean hasSocialSecurity, Boolean hasHouse, Boolean hasCreditCard, cn.quantgroup.motan.enums.MaritalStatus maritalStatus) {
UserSysResult<XUserExtInfo> userSysResult = returnValue(null, null);
if (null == userId || 0L == userId) {
return returnValue(null, "用户id为空");
return returnErrorValue("用户id为空");
}
UserExtInfo info = userExtInfoService.findByUserId(userId);
if (info == null) {
......@@ -413,17 +461,17 @@ public class MotanUserServiceImpl implements UserMotanService {
info = userExtInfoService.save(info);
XUserExtInfo userExtInfo = convertObject(JSON.toJSONString(info), new TypeReference<XUserExtInfo>() {
});
return returnValue(userExtInfo, "");
return returnSuccessValue(userExtInfo);
}
@Override
public UserSysResult<String> queryOpenIdByXyqbUserId(Long userId) {
if (userId == null || userId < 1) {
return returnValue(null, "用户id不能为空");
return returnErrorValue("用户id不能为空");
}
WechatUserInfo wechatUserInfo = wechatService.queryOpenIdByUserId(userId);
if (wechatUserInfo == null) {
return returnValue(null, "wechat信息为空");
return returnErrorValue("wechat信息为空");
}
return returnValue(wechatUserInfo.getOpenId(), "success");
}
......@@ -436,24 +484,46 @@ public class MotanUserServiceImpl implements UserMotanService {
@Override
public UserSysResult<String> queryOpenIdByPhoneNo(String phoneNo) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return returnValue(null, "手机号格式不正确");
return returnErrorValue("手机号格式不正确");
}
WechatUserInfo wechatUserInfo = wechatService.findWechatUserInfoByPhoneNo(phoneNo);
String openId = null == wechatUserInfo ? null : wechatUserInfo.getOpenId();
return returnValue(openId, null);
return returnSuccessValue(openId);
}
@Override
public UserSysResult<UserRegisterTrace> findRegisterTraceByPhoneNo(String phoneNo) {
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
return returnValue(null, "手机号格式不正确");
return returnErrorValue("手机号格式不正确");
}
return null;
}
@Override
public UserSysResult<XUserSpouse> findUserSpouseByUserId(Long userId) {
return null;
if (userId == null || userId == 0) {
return returnErrorValue("用户不能为空");
}
UserSpouse userSpouse = userSpouseService.findByUserId(userId);
if (userSpouse == null) {
userSpouse = new UserSpouse(userId);
userSpouse.setStatus(MaritalStatus.UNKNOWN);
}
return returnSuccessValue(fromUserSpouse(userSpouse));
}
private XUserSpouse fromUserSpouse(UserSpouse userSpouse) {
if (userSpouse == null) {
return null;
}
XUserSpouse xUserSpouse = new XUserSpouse();
xUserSpouse.setUserId(userSpouse.getUserId());
xUserSpouse.setSpousePhone(userSpouse.getSpousePhone());
xUserSpouse.setSpouseName(userSpouse.getSpouseName());
xUserSpouse.setCreatedAt(userSpouse.getCreatedAt());
xUserSpouse.setUpdateAt(userSpouse.getUpdateAt());
xUserSpouse.setStatus(cn.quantgroup.motan.enums.MaritalStatus.valueOf(userSpouse.getStatus().name()));
return xUserSpouse;
}
@Override
......@@ -468,7 +538,7 @@ public class MotanUserServiceImpl implements UserMotanService {
return null;
}
List<XUserDetail> xUserDetails = userDetails.stream().map(user -> fromUserDetail(user)).collect(Collectors.toList());
return returnValue(xUserDetails, null);
return returnSuccessValue(xUserDetails);
}
@Override
......@@ -482,8 +552,33 @@ public class MotanUserServiceImpl implements UserMotanService {
}
@Override
public UserSysResult<XUserSpouse> saveUserSpouse(XUserSpouse userSpouse) {
return null;
public UserSysResult<XUserSpouse> saveUserSpouse(XUserSpouse xUserSpouse) {
if (xUserSpouse.getUserId() == null || xUserSpouse.getUserId() == 0) {
return returnErrorValue("用户不能为空");
}
cn.quantgroup.motan.enums.MaritalStatus status = xUserSpouse.getStatus();
String spousePhone = xUserSpouse.getSpousePhone();
String spouseName = xUserSpouse.getSpouseName();
if (xUserSpouse.getStatus() == cn.quantgroup.motan.enums.MaritalStatus.MARRIED) {
if (!ValidationUtil.validatePhoneNo(spousePhone)) {
return returnErrorValue("手机号格式错误");
}
if (StringUtils.isBlank(spouseName)) {
return returnErrorValue("配偶姓名不能为空");
}
}
UserSpouse userSpouse = userSpouseService.findByUserId(xUserSpouse.getUserId());
Timestamp timestamp = new Timestamp(System.currentTimeMillis());
if (userSpouse == null) {
userSpouse = new UserSpouse(xUserSpouse.getUserId());
userSpouse.setCreatedAt(timestamp);
}
userSpouse.setSpouseName(status == cn.quantgroup.motan.enums.MaritalStatus.MARRIED ? spouseName : "");
userSpouse.setSpousePhone(status == cn.quantgroup.motan.enums.MaritalStatus.MARRIED ? spousePhone : "");
userSpouse.setStatus(MaritalStatus.valueOf(status.name()));
userSpouse.setUpdateAt(timestamp);
userSpouse = userSpouseService.save(userSpouse);
return returnSuccessValue(fromUserSpouse(userSpouse));
}
@Override
......@@ -516,6 +611,14 @@ public class MotanUserServiceImpl implements UserMotanService {
return userSysResult;
}
private <T> UserSysResult<T> returnErrorValue(String message) {
return returnValue(null, message);
}
private <T> UserSysResult<T> returnSuccessValue(T t) {
return returnValue(t, "");
}
/**
* 注册新用户
*
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment