Commit 25909857 authored by 王亮's avatar 王亮

Merge branch 'feature-temp-20230607' into 'master'

remove unused code.

See merge request !111
parents ecd19e8a dc438b0c
...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.controller.internal.querylog; ...@@ -2,7 +2,6 @@ package cn.quantgroup.xyqb.controller.internal.querylog;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator; import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserQueryLog; import cn.quantgroup.xyqb.entity.UserQueryLog;
import cn.quantgroup.xyqb.exception.UserQueryLogException; import cn.quantgroup.xyqb.exception.UserQueryLogException;
...@@ -10,7 +9,6 @@ import cn.quantgroup.xyqb.model.JsonResult; ...@@ -10,7 +9,6 @@ import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.PageModel; import cn.quantgroup.xyqb.model.PageModel;
import cn.quantgroup.xyqb.model.UserQueryInfo; import cn.quantgroup.xyqb.model.UserQueryInfo;
import cn.quantgroup.xyqb.service.http.IHttpService; import cn.quantgroup.xyqb.service.http.IHttpService;
import cn.quantgroup.xyqb.service.user.IAddressService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserQueryLogService; import cn.quantgroup.xyqb.service.user.IUserQueryLogService;
import cn.quantgroup.xyqb.util.IdcardValidator; import cn.quantgroup.xyqb.util.IdcardValidator;
...@@ -61,8 +59,7 @@ public class UserQueryLogController { ...@@ -61,8 +59,7 @@ public class UserQueryLogController {
private IUserQueryLogService userQueryLogService; private IUserQueryLogService userQueryLogService;
@Autowired @Autowired
private IUserDetailService userDetailService; private IUserDetailService userDetailService;
@Autowired
private IAddressService addressService;
@Value("${payapi.http}") @Value("${payapi.http}")
private String payCenterUrl; private String payCenterUrl;
...@@ -368,16 +365,13 @@ public class UserQueryLogController { ...@@ -368,16 +365,13 @@ public class UserQueryLogController {
phonesCards = getBankCardsByPhoneNos(phones); phonesCards = getBankCardsByPhoneNos(phones);
} }
} }
List<Address> addresslist = new ArrayList<>();
if (columns.contains(Constants.ADDRESS)) { if (columns.contains(Constants.ADDRESS)) {
List<Long> uidss = new ArrayList<>(); List<Long> uidss = new ArrayList<>();
//加地址信息 //加地址信息
for (UserDetail ud : userDetails) { for (UserDetail ud : userDetails) {
uidss.add(ud.getUserId()); uidss.add(ud.getUserId());
} }
if (uidss != null && uidss.size() > 0) {
addresslist = addressService.findByUserIds(uidss);
}
} }
List<UserQueryInfo> userQueryInfos = new ArrayList<>(); List<UserQueryInfo> userQueryInfos = new ArrayList<>();
for (UserDetail ud : userDetails) { for (UserDetail ud : userDetails) {
...@@ -394,10 +388,6 @@ public class UserQueryLogController { ...@@ -394,10 +388,6 @@ public class UserQueryLogController {
if (columns.contains(Constants.USER_ID)) { if (columns.contains(Constants.USER_ID)) {
uqi.setUserId(ud.getUserId()); uqi.setUserId(ud.getUserId());
} }
if (columns.contains(Constants.ADDRESS)) {
Optional<Address> oad = addresslist.stream().filter(addr -> Objects.equals(addr.getUserId(), ud.getUserId())).findFirst();
oad.ifPresent(address -> uqi.setAddress(address.toString()));
}
if (columns.contains(Constants.BANK_CARD) && phonesCards != null) { if (columns.contains(Constants.BANK_CARD) && phonesCards != null) {
uqi.setBankCards(phonesCards.get(ud.getPhoneNo())); uqi.setBankCards(phonesCards.get(ud.getPhoneNo()));
} }
......
...@@ -14,8 +14,6 @@ import cn.quantgroup.xyqb.aspect.accessable.IpValidator; ...@@ -14,8 +14,6 @@ import cn.quantgroup.xyqb.aspect.accessable.IpValidator;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator; import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.controller.IBaseController; import cn.quantgroup.xyqb.controller.IBaseController;
import cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp; import cn.quantgroup.xyqb.controller.internal.user.resp.UserFullResp;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.Merchant; import cn.quantgroup.xyqb.entity.Merchant;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserBtRegister; import cn.quantgroup.xyqb.entity.UserBtRegister;
...@@ -28,9 +26,7 @@ import cn.quantgroup.xyqb.event.DisableActiveEvent; ...@@ -28,9 +26,7 @@ import cn.quantgroup.xyqb.event.DisableActiveEvent;
import cn.quantgroup.xyqb.event.UserDisableRecordEvent; import cn.quantgroup.xyqb.event.UserDisableRecordEvent;
import cn.quantgroup.xyqb.event.UserExtInfoSaveEvent; import cn.quantgroup.xyqb.event.UserExtInfoSaveEvent;
import cn.quantgroup.xyqb.exception.UserNotExistException; import cn.quantgroup.xyqb.exception.UserNotExistException;
import cn.quantgroup.xyqb.model.AddressRet;
import cn.quantgroup.xyqb.model.ContactInfo; import cn.quantgroup.xyqb.model.ContactInfo;
import cn.quantgroup.xyqb.model.ContactRet;
import cn.quantgroup.xyqb.model.Gender; import cn.quantgroup.xyqb.model.Gender;
import cn.quantgroup.xyqb.model.IdCardInfo; import cn.quantgroup.xyqb.model.IdCardInfo;
import cn.quantgroup.xyqb.model.IdType; import cn.quantgroup.xyqb.model.IdType;
...@@ -58,8 +54,6 @@ import cn.quantgroup.xyqb.service.register.IUserRegisterService; ...@@ -58,8 +54,6 @@ import cn.quantgroup.xyqb.service.register.IUserRegisterService;
import cn.quantgroup.xyqb.service.session.ISessionService; import cn.quantgroup.xyqb.service.session.ISessionService;
import cn.quantgroup.xyqb.service.sms.ISmsService; import cn.quantgroup.xyqb.service.sms.ISmsService;
import cn.quantgroup.xyqb.service.user.CleanDataService; import cn.quantgroup.xyqb.service.user.CleanDataService;
import cn.quantgroup.xyqb.service.user.IAddressService;
import cn.quantgroup.xyqb.service.user.IContactService;
import cn.quantgroup.xyqb.service.user.IOauthLoginInfoService; import cn.quantgroup.xyqb.service.user.IOauthLoginInfoService;
import cn.quantgroup.xyqb.service.user.ITenantService; import cn.quantgroup.xyqb.service.user.ITenantService;
import cn.quantgroup.xyqb.service.user.IUserBtRegisterService; import cn.quantgroup.xyqb.service.user.IUserBtRegisterService;
...@@ -78,14 +72,12 @@ import cn.quantgroup.xyqb.util.TenantUtil; ...@@ -78,14 +72,12 @@ import cn.quantgroup.xyqb.util.TenantUtil;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import cn.quantgroup.xyqb.util.encrypt.Md5Util; import cn.quantgroup.xyqb.util.encrypt.Md5Util;
import cn.quantgroup.xyqb.validator.ChineseName; import cn.quantgroup.xyqb.validator.ChineseName;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.TypeReference; import com.alibaba.fastjson.TypeReference;
import com.google.common.base.MoreObjects; import com.google.common.base.MoreObjects;
import com.google.common.collect.Maps; import com.google.common.collect.Maps;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
import java.text.ParseException; import java.text.ParseException;
import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.List; import java.util.List;
...@@ -140,10 +132,7 @@ public class InnerController implements IBaseController { ...@@ -140,10 +132,7 @@ public class InnerController implements IBaseController {
private IIdCardService idCardService; private IIdCardService idCardService;
@Autowired @Autowired
private IUserExtInfoService userExtInfoService; private IUserExtInfoService userExtInfoService;
@Autowired
private IContactService contactService;
@Autowired
private IAddressService addressService;
@Autowired @Autowired
private IWechatService wechatService; private IWechatService wechatService;
@Autowired @Autowired
...@@ -614,120 +603,7 @@ public class InnerController implements IBaseController { ...@@ -614,120 +603,7 @@ public class InnerController implements IBaseController {
return JsonResult.buildSuccessResult(null, null); return JsonResult.buildSuccessResult(null, null);
} }
@RequestMapping("/contact/search/user_id")
public JsonResult findContactsByUserId(Long userId) {
if (null == userId) {
return JsonResult.buildErrorStateResult(null, null);
}
List<Contact> contacts = contactService.findByUserIdAndBizType(userId, BizType.CASH, true);
if (null == contacts || contacts.size() == 0) {
return JsonResult.buildErrorStateResult(null, Collections.emptyList());
}
return JsonResult.buildSuccessResult(null, ContactRet.contacts2ContactRets(contacts));
}
@RequestMapping("/contact/save/contacts")
public JsonResult save2Contact(Long userId,
@RequestParam(value = "contacts") String contactsStr) {
if (Objects.isNull(userId) || StringUtils.isBlank(contactsStr)) {
log.warn("保存用户联系人:参数不完整:userId:{}, contacts:{}", userId, contactsStr);
return JsonResult.buildErrorStateResult("参数不完整",
String.valueOf(userId).concat(":").concat(contactsStr));
}
log.info("保存用户联系人:userId:{}, contacts:{}", userId, contactsStr);
List<Contact> contacts = JSONObject.parseObject(contactsStr,
new TypeReference<List<Contact>>() {
});
if (CollectionUtils.isEmpty(contacts)) {
log.info("联系人不能为空");
return JsonResult.buildErrorStateResult("联系人不能为空", contacts);
}
for (Contact contact : contacts) {
if (!contact.valid()) {
log.info("用户手机号或姓名错误, phoneNo:{},name:{}", contact.getPhoneNo(),
contact.getName());
return JsonResult.buildErrorStateResult("用户手机号或姓名错误", contact);
}
}
List<Contact> result = contactService.save(userId, contacts);
return JsonResult.buildSuccessResult("保存成功", ContactRet.contacts2ContactRets(result));
}
@RequestMapping("/contact/update/contact")
public JsonResult updateContact(@RequestParam Long contactId,
@RequestParam(required = false) String name,
@RequestParam(required = false) String phoneNo,
@RequestParam(required = false) Relation relation, String key,
@RequestParam String reason, HttpServletRequest request) {
if (!MODIFY_CONTACT_TOKEN.equals(key) || contactId == null) {
return JsonResult.buildErrorStateResult("参数不合法", null);
}
if (StringUtils.isEmpty(name) && StringUtils.isEmpty(phoneNo)) {
return JsonResult.buildErrorStateResult("修改联系人修改条件不能都为空", null);
}
if (!ValidationUtil.validatePhoneNo(phoneNo)) {
log.info("用户手机号错误, phoneNo:{}", phoneNo);
return JsonResult.buildErrorStateResult("用户手机号错误", null);
}
if (!ValidationUtil.validateChinese(name)) {
log.info("用户姓名错误, name:{}", name);
return JsonResult.buildErrorStateResult("用户姓名错误", null);
}
if (StringUtils.isEmpty(reason)) {
return JsonResult.buildErrorStateResult("修改原因不能为空", null);
}
Contact contact = contactService.findById(contactId);
if (null == contact) {
return JsonResult.buildErrorStateResult("修改联系人不存在", null);
}
contact = contactService.saveContact(name, phoneNo, relation, contact);
log.info("修改后联系人信息:{},修改原因:{},操作ip:{}", contact, reason,
IpUtil.getRemoteIP(request));
return JsonResult.buildSuccessResult("修改联系人成功", contact);
}
@RequestMapping("/address/search/user_id")
public JsonResult findAddressByUserId(Long userId) {
if (userId == null) {
return JsonResult.buildErrorStateResult(null, null);
}
Address address = addressService.findByUserId(userId);
if (address == null) {
return JsonResult.buildErrorStateResult(null, null);
}
return JsonResult.buildSuccessResult(null, AddressRet.address2AddressRet(address));
}
@RequestMapping("/address/save")
public JsonResult saveAddress(
Long userId, Long provinceCode, Long cityCode, String city,
Long districtCode, String district, String address, String province) {
log.info("保存地址详情:city:{},province:{},district:{}, address:{},userId:{}", city, province,
district, address, userId);
if (userId == null || provinceCode == null || cityCode == null || StringUtils.isBlank(
address)) {
log.info(
"错误保存地址详情,其中参数不能为空:city:{},province:{},district:{}, address:{},userId:{}",
city, province, district, address, userId);
return JsonResult.buildErrorStateResult("参数不能为空", null);
}
Address addressObj = addressService.findByUserId(userId);
if (addressObj == null) {
addressObj = new Address();
}
addressObj.setUserId(userId);
addressObj.setProvince(province);
addressObj.setProvinceCode(provinceCode);
addressObj.setCity(city);
addressObj.setCityCode(cityCode);
addressObj.setDistrict(district);
addressObj.setDistrictCode(districtCode);
addressObj.setAddress(address);
addressObj = addressService.save(addressObj);
log.info("保存后地址详情:{}", addressObj);
return JsonResult.buildSuccessResult(null, AddressRet.address2AddressRet(addressObj));
}
@RequestMapping("/user_ext_info/update") @RequestMapping("/user_ext_info/update")
public JsonResult updateMarryStatus( public JsonResult updateMarryStatus(
...@@ -958,17 +834,6 @@ public class InnerController implements IBaseController { ...@@ -958,17 +834,6 @@ public class InnerController implements IBaseController {
// 是否有信用卡 // 是否有信用卡
bean.setHasCreditCard(Optional.ofNullable(extInfo.getHasCreditCard()).orElse(false)); bean.setHasCreditCard(Optional.ofNullable(extInfo.getHasCreditCard()).orElse(false));
} }
Address address = addressService.findByUserId(user.getId());
if (!Objects.isNull(address)) {
log.info("[findUserAssociationModelByUser]获取用户地址address:{}",
JSON.toJSONString(address));
bean.putAddressList(Collections.singletonList(address));
}
List<Contact> contacts = contactService.findByUserIdAndBizType(user.getId(), BizType.CASH,
true);
if (!Objects.isNull(contacts)) {
bean.putContactList(contacts);
}
return bean; return bean;
} }
...@@ -1025,9 +890,6 @@ public class InnerController implements IBaseController { ...@@ -1025,9 +890,6 @@ public class InnerController implements IBaseController {
private UserAssociation getUserAssociation(UserDetail userDetail) { private UserAssociation getUserAssociation(UserDetail userDetail) {
UserAssociation bean = new UserAssociation(); UserAssociation bean = new UserAssociation();
if (null != userDetail) { if (null != userDetail) {
Address address = addressService.findByUserId(userDetail.getUserId());
List<Contact> contacts = contactService.findByUserIdAndBizType(userDetail.getUserId(),
BizType.CASH, true);
UserExtInfo extInfo = userExtInfoService.findByUserId(userDetail.getUserId()); UserExtInfo extInfo = userExtInfoService.findByUserId(userDetail.getUserId());
bean.setUserId(userDetail.getUserId()); bean.setUserId(userDetail.getUserId());
bean.setPhoneNo(userDetail.getPhoneNo()); bean.setPhoneNo(userDetail.getPhoneNo());
...@@ -1035,12 +897,6 @@ public class InnerController implements IBaseController { ...@@ -1035,12 +897,6 @@ public class InnerController implements IBaseController {
bean.setIdNo(userDetail.getIdNo()); bean.setIdNo(userDetail.getIdNo());
bean.setQq(userDetail.getQq()); bean.setQq(userDetail.getQq());
bean.setGender(Optional.ofNullable(userDetail.getGender()).orElse(Gender.UNKNOWN).getName()); bean.setGender(Optional.ofNullable(userDetail.getGender()).orElse(Gender.UNKNOWN).getName());
if (null != address) {
bean.setProvince(address.getProvince());
bean.setCity(address.getCity());
bean.setDistrict(address.getDistrict());
bean.setAddress(address.getAddress());
}
if (null != extInfo) { if (null != extInfo) {
if (null == extInfo.getEducationEnum()) { if (null == extInfo.getEducationEnum()) {
bean.setEducationEnum(cn.quantgroup.user.enums.EducationEnum.UNKNOWN.getName()); bean.setEducationEnum(cn.quantgroup.user.enums.EducationEnum.UNKNOWN.getName());
...@@ -1058,37 +914,11 @@ public class InnerController implements IBaseController { ...@@ -1058,37 +914,11 @@ public class InnerController implements IBaseController {
bean.setMarryStatus(extInfo.getMarryStatus().getDesc()); bean.setMarryStatus(extInfo.getMarryStatus().getDesc());
} }
} }
if (org.apache.commons.collections.CollectionUtils.isNotEmpty(contacts)) {
List<ContactInfo> userContacts = contacts2ContactRets(contacts);
bean.setContractResults(userContacts);
}
} }
return bean; return bean;
} }
public static ContactInfo contact2ContactRet(Contact c) {
if (c == null) {
return null;
}
ContactInfo ret = new ContactInfo();
ret.setId(c.getId());
ret.setUserId(c.getUserId());
ret.setName(c.getName());
ret.setPhoneNo(c.getPhoneNo());
ret.setRelation(c.getRelation().getDesc());
return ret;
}
public static List<ContactInfo> contacts2ContactRets(List<Contact> cs) {
if (org.apache.commons.collections.CollectionUtils.isEmpty(cs)) {
return Collections.emptyList();
}
List<ContactInfo> contactRets = new ArrayList<>();
for (Contact c : cs) {
contactRets.add(contact2ContactRet(c));
}
return contactRets;
}
@RequestMapping("/user/wechat/phone_no") @RequestMapping("/user/wechat/phone_no")
public JsonResult queryOpenIdByPhoneNo(String phoneNo) { public JsonResult queryOpenIdByPhoneNo(String phoneNo) {
...@@ -1258,7 +1088,6 @@ public class InnerController implements IBaseController { ...@@ -1258,7 +1088,6 @@ public class InnerController implements IBaseController {
if (!isIdCard) { if (!isIdCard) {
return JsonResult.buildErrorStateResult("用户身份证号异常.", null); return JsonResult.buildErrorStateResult("用户身份证号异常.", null);
} }
Address addressObj = null;
//地址信息,同时存在provinceCode和address时才校验地址信息 //地址信息,同时存在provinceCode和address时才校验地址信息
if (StringUtils.isNotEmpty(provinceCode) && StringUtils.isNotEmpty(address)) { if (StringUtils.isNotEmpty(provinceCode) && StringUtils.isNotEmpty(address)) {
if (!NumberUtils.isDigits(provinceCode)) { if (!NumberUtils.isDigits(provinceCode)) {
...@@ -1282,14 +1111,6 @@ public class InnerController implements IBaseController { ...@@ -1282,14 +1111,6 @@ public class InnerController implements IBaseController {
if (StringUtils.isBlank(address)) { if (StringUtils.isBlank(address)) {
return JsonResult.buildErrorStateResult("详细地址异常.", null); return JsonResult.buildErrorStateResult("详细地址异常.", null);
} }
addressObj = new Address();
addressObj.setProvinceCode(Long.valueOf(provinceCode));
addressObj.setProvince(province);
addressObj.setCityCode(Long.valueOf(cityCode));
addressObj.setCity(city);
addressObj.setDistrictCode(Long.valueOf(districtCode));
addressObj.setDistrict(district);
addressObj.setAddress(address);
} }
channelId = MoreObjects.firstNonNull(channelId, "-1"); channelId = MoreObjects.firstNonNull(channelId, "-1");
// 验证用户是否已存在 // 验证用户是否已存在
...@@ -1297,21 +1118,9 @@ public class InnerController implements IBaseController { ...@@ -1297,21 +1118,9 @@ public class InnerController implements IBaseController {
if (null != user) { if (null != user) {
return JsonResult.buildErrorStateResult("用户已存在,手机号被占用", null); return JsonResult.buildErrorStateResult("用户已存在,手机号被占用", null);
} }
List<Contact> contactList = null;
// 目前对空白字符串和null值容错,因是api调用,不考虑对非法格式容错(会阻断注册)
if (StringUtils.isNotBlank(contacts)) {
contactList = JSONObject.parseObject(contacts, new TypeReference<List<Contact>>() {
});
for (Contact contact : contactList) {
contact.setRelation(contact.getRelation() == null ? Relation.OTHER : contact.getRelation());
Tuple<String, Boolean> stringBooleanTuple = contact.validAndResult();
if (!stringBooleanTuple.getValue()) {
return JsonResult.buildErrorStateResult(stringBooleanTuple.getKey(), null);
}
}
}
user = userRegisterService.register(Long.valueOf(registeredFrom), Long.valueOf(channelId), user = userRegisterService.register(Long.valueOf(registeredFrom), Long.valueOf(channelId),
phoneNo, name, idNo, addressObj, contacts, contactList, btRegisterChannelId); phoneNo, name, idNo, contacts, btRegisterChannelId);
UserRet userRet = new UserRet(user); UserRet userRet = new UserRet(user);
return JsonResult.buildSuccessResult(null, userRet); return JsonResult.buildSuccessResult(null, userRet);
} }
......
...@@ -9,16 +9,12 @@ import cn.quantgroup.xyqb.Constants; ...@@ -9,16 +9,12 @@ import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator; import cn.quantgroup.xyqb.aspect.forbidden.AccessForbiddenValidator;
import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator; import cn.quantgroup.xyqb.aspect.limit.PasswordFreeAccessValidator;
import cn.quantgroup.xyqb.aspect.lock.RedisLock; import cn.quantgroup.xyqb.aspect.lock.RedisLock;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserAttached; import cn.quantgroup.xyqb.entity.UserAttached;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import cn.quantgroup.xyqb.event.UserExtInfoSaveEvent; import cn.quantgroup.xyqb.event.UserExtInfoSaveEvent;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.user.IAddressService;
import cn.quantgroup.xyqb.service.user.IContactService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService; import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
...@@ -56,10 +52,7 @@ public class UserCenterController { ...@@ -56,10 +52,7 @@ public class UserCenterController {
private IUserDetailService userDetailService; private IUserDetailService userDetailService;
@Autowired @Autowired
private IUserExtInfoService userExtInfoService; private IUserExtInfoService userExtInfoService;
@Autowired
private IContactService contactService;
@Autowired
private IAddressService addressService;
@Autowired @Autowired
private IUserService userService; private IUserService userService;
@Autowired @Autowired
...@@ -239,147 +232,17 @@ public class UserCenterController { ...@@ -239,147 +232,17 @@ public class UserCenterController {
return JsonResult.buildErrorStateResult("该用户不存在", null); return JsonResult.buildErrorStateResult("该用户不存在", null);
} }
UserExtInfo userExtInfo = userExtInfoService.findByUserId(userId); UserExtInfo userExtInfo = userExtInfoService.findByUserId(userId);
List<Contact> contacts = contactService.findByUserIdAndBizType(userId, BizType.CASH, true);
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
if (null != userExtInfo) { if (null != userExtInfo) {
result.put("contacts", null != contacts && contacts.size() > 0);
result.put("occupation", userExtInfo.getOccupationEnum() == null ? "" : userExtInfo.getOccupationEnum().ordinal()); result.put("occupation", userExtInfo.getOccupationEnum() == null ? "" : userExtInfo.getOccupationEnum().ordinal());
result.put("education", userExtInfo.getEducationEnum() == null ? "" : userExtInfo.getEducationEnum().ordinal()); result.put("education", userExtInfo.getEducationEnum() == null ? "" : userExtInfo.getEducationEnum().ordinal());
result.put("income", userExtInfo.getIncomeRangeEnum() == null ? "" : userExtInfo.getIncomeRangeEnum().ordinal()); result.put("income", userExtInfo.getIncomeRangeEnum() == null ? "" : userExtInfo.getIncomeRangeEnum().ordinal());
result.put("marryStatus", userExtInfo.getMarryStatus() == null ? "" : userExtInfo.getMarryStatus().ordinal()); result.put("marryStatus", userExtInfo.getMarryStatus() == null ? "" : userExtInfo.getMarryStatus().ordinal());
} }
Address address = addressService.findByUserId(userId);
if (null != address) {
//用户住址信息,返回二级信息:
result.put("address", address.getAddress());
result.put("provinceCode", address.getProvinceCode());
result.put("province", address.getProvince());
result.put("cityCode", address.getCityCode());
result.put("city", address.getCity());
result.put("districtCode", address.getDistrictCode());
result.put("district", address.getDistrict());
}
return JsonResult.buildSuccessResult(null, result); return JsonResult.buildSuccessResult(null, result);
} }
/**
* 保存用户联系人,
*
* @param phoneNo 用户手机号
* @param contactJson 要保存的联系人json串
* @return
*/
@AccessForbiddenValidator
@RequestMapping("/contacts/save")
public JsonResult saveUserContact(String phoneNo, String contactJson) {
if (StringUtils.isEmpty(phoneNo)) {
log.error("保存联系人,参数错误. phoneNo:{}", phoneNo);
return JsonResult.buildErrorStateResult("参数有误.", null);
}
Long userId = queryUserId(phoneNo);
if (null == userId || userId == 0L) {
log.error("保存联系人,未获取到用户id. userId:{}", userId);
return JsonResult.buildErrorStateResult("该用户不存在", null);
}
if (StringUtils.isEmpty(contactJson)) {
log.error("保存联系人,联系人参数为空.contactJson:{}", contactJson);
return JsonResult.buildErrorStateResult(null, null);
}
List<Contact> contacts = JSONObject.parseObject(contactJson, new TypeReference<List<Contact>>() {
});
if (CollectionUtils.isEmpty(contacts)) {
log.info("联系人不能空");
return JsonResult.buildErrorStateResult(null, null);
}
for (Contact contact : contacts) {
if (!contact.valid()) {
log.info("用户手机号或姓名错误, phoneNo:{},name:{}", contact.getPhoneNo(), contact.getName());
return JsonResult.buildErrorStateResult(null, null);
}
}
List<Contact> result = contactService.save(userId, contacts);
return JsonResult.buildSuccessResult(null, result);
}
/**
* 保存用户住址信息
*
* @param province
* @param provinceCode
* @param city
* @param cityCode
* @param address
* @return
*/
@RequestMapping("/address/save")
public JsonResult saveUserAddress(String phoneNo, String province, Long provinceCode, String city, Long cityCode, String address,
Long districtCode, String district) {
log.info("保存用户地址信息, phoneNo:{}, province:{}, provinceCode:{}, city:{}, cityCode:{},district:{}, address:{}", phoneNo, province, provinceCode, city, cityCode, district, address);
if (StringUtils.isEmpty(phoneNo) || provinceCode == null || cityCode == null || StringUtils.isBlank(address)) {
return JsonResult.buildErrorStateResult("参数错误", null);
}
Long userId = queryUserId(phoneNo);
if (null == userId || userId == 0L) {
log.error("保存联系人,未获取到用户id. userId:{}", userId);
return JsonResult.buildErrorStateResult("该用户不存在", null);
}
//查询用户是否有保存地址信息
Address addressInfo = addressService.findByUserId(userId);
if (null == addressInfo) {
addressInfo = new Address();
}
addressInfo.setUserId(userId);
addressInfo.setProvince(province);
addressInfo.setProvinceCode(provinceCode);
addressInfo.setCity(city);
addressInfo.setCityCode(cityCode);
addressInfo.setDistrictCode(districtCode);
addressInfo.setDistrict(district);
addressInfo.setAddress(address);
addressService.save(addressInfo);
return JsonResult.buildSuccessResult(null, addressInfo);
}
/**
* 查询用户住址信息
*
* @param phoneNo
* @return
*/
@RequestMapping("/searchAddress/phoneNo")
public JsonResult searchUserAddress(String phoneNo) {
if (StringUtils.isEmpty(phoneNo)) {
return JsonResult.buildErrorStateResult(null, null);
}
Long userId = queryUserId(phoneNo);
if (null == userId || userId == 0L) {
log.error("保存联系人,未获取到用户id. userId:{}", userId);
return JsonResult.buildErrorStateResult("该用户不存在", null);
}
Address address = addressService.findByUserId(userId);
return JsonResult.buildSuccessResult(null, address);
}
/**
* 查询用户联系人
*
* @param phoneNo
* @return
*/
@AccessForbiddenValidator
@RequestMapping("/searchContacts/phoneNo")
public JsonResult searchUserContacts(String phoneNo) {
if (StringUtils.isEmpty(phoneNo)) {
return JsonResult.buildErrorStateResult(null, null);
}
Long userId = queryUserId(phoneNo);
if (null == userId || userId == 0L) {
log.error("保存联系人,未获取到用户id. userId:{}", userId);
return JsonResult.buildErrorStateResult("该用户不存在", null);
}
List<Contact> contacts = contactService.findByUserIdAndBizType(userId, BizType.CASH, true);
return JsonResult.buildSuccessResult(null, contacts);
}
/** /**
* 保存用户经济信息 * 保存用户经济信息
......
...@@ -3,11 +3,9 @@ package cn.quantgroup.xyqb.controller.middleoffice.contact; ...@@ -3,11 +3,9 @@ package cn.quantgroup.xyqb.controller.middleoffice.contact;
import cn.quantgroup.user.enums.BizType; import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.xyqb.controller.middleoffice.contact.dto.ContactSaveDto; import cn.quantgroup.xyqb.controller.middleoffice.contact.dto.ContactSaveDto;
import cn.quantgroup.xyqb.controller.middleoffice.contact.dto.ContactUpdateDto; import cn.quantgroup.xyqb.controller.middleoffice.contact.dto.ContactUpdateDto;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.model.Tuple; import cn.quantgroup.xyqb.model.Tuple;
import cn.quantgroup.xyqb.service.user.IContactService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -29,84 +27,8 @@ import org.springframework.web.bind.annotation.RestController; ...@@ -29,84 +27,8 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("/middle_office/contacts") @RequestMapping("/middle_office/contacts")
public class ContactController { public class ContactController {
@Resource
private IContactService contactService;
@Resource @Resource
private IUserService userService; private IUserService userService;
/**
* 获取联系人
*
* @param userId 用户 ID
* @param bizType 业务类型
* @return
*/
@GetMapping
public JsonResult get(Long userId, BizType bizType) {
List<Contact> contactList = contactService.findByUserIdAndBizType(userId, bizType, true);
return JsonResult.buildSuccessResult("", contactList);
}
/**
* 更新联系人信息
*
* @param contactUpdateDtoList
* @return
*/
@PatchMapping
public JsonResult update(@RequestBody List<ContactUpdateDto> contactUpdateDtoList) {
contactUpdateDtoList = contactUpdateDtoList.stream()
.filter(contactUpdateDto -> (
ValidationUtil.validatePhoneNo(contactUpdateDto.getPhoneNo())
&& ValidationUtil.validateChinese(contactUpdateDto.getName())))
.collect(Collectors.toList());
if (contactUpdateDtoList.isEmpty()) {
return JsonResult.buildErrorStateResult("数据格式错误", null);
}
for (ContactUpdateDto contact : contactUpdateDtoList) {
contactService.update(contact.getName(), contact.getPhoneNo(), contact.getRelation(), contact.getId());
}
return JsonResult.buildSuccessResult();
}
/**
* 新增联系人
*
* @return
*/
@PostMapping
public JsonResult save(@RequestBody ContactSaveDto contactSaveDto) {
Long userId = contactSaveDto.getUserId();
List<Contact> contacts = contactSaveDto.getContacts();
for (Contact contact : contacts) {
Tuple<String, Boolean> result = contact.validAndResult();
//数据校验
if (!result.getValue()) {
return JsonResult.buildErrorStateResult(result.getKey(), null);
}
contact.setUserId(userId);
contact.setBizType(contactSaveDto.getBizType());
}
contactService.save(contacts);
return JsonResult.buildSuccessResult();
}
/**
* @需求 http://confluence.quantgroup.cn/pages/viewpage.action?pageId=61683308
* 根据用户uuid 获取联系人列表
* @param uuid
* @return
* @Yapi http://yapi.quantgroups.com/project/17/interface/api/33578
*/
@RequestMapping("/getContactForUuid")
public JsonResult getContactForUuid(@RequestParam String uuid) {
User user = userService.findByUuidInDb(uuid);
List<Contact> contactList = new ArrayList<>();
if (user != null) {
contactList = contactService.findContactForUserId(user.getId());
}
return JsonResult.buildSuccessResult("", contactList);
}
} }
package cn.quantgroup.xyqb.controller.middleoffice.contact.dto; package cn.quantgroup.xyqb.controller.middleoffice.contact.dto;
import cn.quantgroup.user.enums.BizType; import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.xyqb.entity.Contact;
import java.util.List; import java.util.List;
import javax.validation.constraints.NotNull; import javax.validation.constraints.NotNull;
import lombok.Data; import lombok.Data;
...@@ -15,6 +15,4 @@ public class ContactSaveDto { ...@@ -15,6 +15,4 @@ public class ContactSaveDto {
private Long userId; private Long userId;
@NotNull(message = "业务类型不能为空") @NotNull(message = "业务类型不能为空")
private BizType bizType; private BizType bizType;
@NotEmpty(message = "联系人信息不能为空")
private List<Contact> contacts;
} }
...@@ -3,13 +3,10 @@ package cn.quantgroup.xyqb.controller.middleoffice.userext; ...@@ -3,13 +3,10 @@ package cn.quantgroup.xyqb.controller.middleoffice.userext;
import cn.quantgroup.user.enums.BizType; import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.OccupationEnum; import cn.quantgroup.user.enums.OccupationEnum;
import cn.quantgroup.xyqb.controller.middleoffice.userext.req.UserExtReq; import cn.quantgroup.xyqb.controller.middleoffice.userext.req.UserExtReq;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import cn.quantgroup.xyqb.event.UserExtInfoSaveEvent; import cn.quantgroup.xyqb.event.UserExtInfoSaveEvent;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.user.IAddressService;
import cn.quantgroup.xyqb.service.user.IContactService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService; import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import cn.quantgroup.xyqb.service.user.IUserService; import cn.quantgroup.xyqb.service.user.IUserService;
...@@ -36,14 +33,10 @@ public class UserExtController { ...@@ -36,14 +33,10 @@ public class UserExtController {
@Resource @Resource
private IUserExtInfoService userExtInfoService; private IUserExtInfoService userExtInfoService;
@Resource
private IContactService contactService;
@Resource @Resource
private IUserDetailService userDetailService; private IUserDetailService userDetailService;
@Resource
private IAddressService addressService;
@Resource @Resource
private IUserService userService; private IUserService userService;
...@@ -60,17 +53,7 @@ public class UserExtController { ...@@ -60,17 +53,7 @@ public class UserExtController {
if (userExtReq.getQq() != null) { if (userExtReq.getQq() != null) {
userDetailService.updateUserQq(userId, userExtReq.getQq()); userDetailService.updateUserQq(userId, userExtReq.getQq());
} }
if (CollectionUtils.isNotEmpty(userExtReq.getContacts())) {
contactService.save(userId, userExtReq.getContacts());
}
if (userExtReq.getAddress() != null) {
Address address = addressService.findByUserId(userId);
if (address != null) {
userExtReq.getAddress().setId(address.getId());
}
userExtReq.getAddress().setUserId(userId);
addressService.save(userExtReq.getAddress());
}
if (userExtReq.getExtInfo() != null) { if (userExtReq.getExtInfo() != null) {
UserExtInfo extInfo = userExtInfoService.findByUserId(userId); UserExtInfo extInfo = userExtInfoService.findByUserId(userId);
if (extInfo != null) { if (extInfo != null) {
...@@ -92,16 +75,9 @@ public class UserExtController { ...@@ -92,16 +75,9 @@ public class UserExtController {
@GetMapping("/userId/{userId}") @GetMapping("/userId/{userId}")
public JsonResult query(@PathVariable Long userId, public JsonResult query(@PathVariable Long userId,
@RequestParam(defaultValue = "false") Boolean address,
@RequestParam(defaultValue = "false") Boolean contacts,
@RequestParam(defaultValue = "false") Boolean extInfo) { @RequestParam(defaultValue = "false") Boolean extInfo) {
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
if (address) {
result.put("address", addressService.findByUserId(userId));
}
if (contacts) {
result.put("contacts", contactService.findByUserIdAndBizType(userId, BizType.CASH, true));
}
if (extInfo) { if (extInfo) {
result.put("extInfo", userExtInfoService.findByUserId(userId)); result.put("extInfo", userExtInfoService.findByUserId(userId));
} }
...@@ -110,8 +86,6 @@ public class UserExtController { ...@@ -110,8 +86,6 @@ public class UserExtController {
@GetMapping("/phoneNo/{phoneNo}") @GetMapping("/phoneNo/{phoneNo}")
public JsonResult query(@PathVariable String phoneNo, public JsonResult query(@PathVariable String phoneNo,
@RequestParam(defaultValue = "false") Boolean address,
@RequestParam(defaultValue = "false") Boolean contacts,
@RequestParam(defaultValue = "false") Boolean extInfo) { @RequestParam(defaultValue = "false") Boolean extInfo) {
User user = userService.findByPhoneWithCache(phoneNo); User user = userService.findByPhoneWithCache(phoneNo);
if (user == null) { if (user == null) {
...@@ -121,12 +95,7 @@ public class UserExtController { ...@@ -121,12 +95,7 @@ public class UserExtController {
//todo duplicated //todo duplicated
Map<String, Object> result = new HashMap<>(); Map<String, Object> result = new HashMap<>();
if (address) {
result.put("address", addressService.findByUserId(userId));
}
if (contacts) {
result.put("contacts", contactService.findByUserIdAndBizType(userId, BizType.CASH, true));
}
if (extInfo) { if (extInfo) {
result.put("extInfo", userExtInfoService.findByUserId(userId)); result.put("extInfo", userExtInfoService.findByUserId(userId));
} }
......
package cn.quantgroup.xyqb.controller.middleoffice.userext.req; package cn.quantgroup.xyqb.controller.middleoffice.userext.req;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import java.util.List; import java.util.List;
import lombok.Data; import lombok.Data;
@Data @Data
public class UserExtReq { public class UserExtReq {
private List<Contact> contacts;
private Address address;
private UserExtInfo extInfo; private UserExtInfo extInfo;
private String email; private String email;
private String qq; private String qq;
......
package cn.quantgroup.xyqb.entity;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import lombok.Data;
/**
* Created by 11 on 2016/12/30.
*/
@Data
@Entity
@Table(name = "address", uniqueConstraints = @UniqueConstraint(columnNames = "user_id"))
public class Address extends BaseEntity implements Serializable {
private static final long serialVersionUID = -1L;
@Column(name = "user_id")
private Long userId;
@Column(name = "province_code")
private Long provinceCode;
@Column(name = "province")
private String province;
@Column(name = "city_code")
private Long cityCode;
@Column(name = "city")
private String city;
@Column(name = "district_code")
private Long districtCode;
@Column(name = "district")
private String district;
@Column(name = "address")
private String address;
public String toString() {
return province + "(省)" + city + "(市)" + district + "(区/县)" + address;
}
}
package cn.quantgroup.xyqb.entity;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.model.Tuple;
import cn.quantgroup.xyqb.util.ValidationUtil;
import java.io.Serializable;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
/**
* Created by 11 on 2016/12/30.
*/
@Data
@Entity
@Table(name = "contact")
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Contact extends BaseEntity implements Serializable {
private static final long serialVersionUID = -1L;
@Column(name = "user_id")
private Long userId;
@Column(name = "name")
private String name;
@Column(name = "phone_no")
private String phoneNo;
@Column(name = "biz_type")
private BizType bizType = BizType.CASH;
@Column(name = "relation")
private Relation relation;
/**
* 数据合法性校验
*
* @return
*/
public boolean valid() {
return (ValidationUtil.validatePhoneNo(this.phoneNo) && ValidationUtil.validateChinese(this.name));
}
public Tuple<String, Boolean> validAndResult() {
boolean phoneValidRes = ValidationUtil.validatePhoneNo(this.phoneNo);
if (!phoneValidRes) {
return new Tuple<>("手机号错误", false);
}
boolean nameValid = ValidationUtil.validateChinese(this.name);
if (!nameValid) {
return new Tuple<>("姓名错误", false);
}
return new Tuple<>("", true);
}
}
package cn.quantgroup.xyqb.event;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.UserRegisterParam;
import cn.quantgroup.xyqb.repository.IAddressRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
/**
* 注册成功后保存地址
*
* @author ag
*/
//@Component
public class AddressRegisteredEventListener implements ApplicationListener<RegisterEvent> {
@Autowired
private IAddressRepository addressRepository;
@Override
public void onApplicationEvent(RegisterEvent event) {
UserRegisterParam userRegisterParam = event.getUserRegisterParam();
Address address = userRegisterParam.getAddress();
if (address == null) {
return;
}
User user = userRegisterParam.getUser();
address.setUserId(user.getId());
addressRepository.save(address);
}
}
package cn.quantgroup.xyqb.event;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.model.UserRegisterParam;
import cn.quantgroup.xyqb.repository.IContactRepository;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationListener;
import org.springframework.util.CollectionUtils;
/**
* 注册成功后, 保存联系人
*
* @author ag
*/
//@Component
public class ContactRegisteredEventListener implements ApplicationListener<RegisterEvent> {
@Autowired
private IContactRepository contactRepository;
@Override
public void onApplicationEvent(RegisterEvent event) {
UserRegisterParam userRegisterParam = event.getUserRegisterParam();
List<Contact> contactList = userRegisterParam.getContactList();
User user = userRegisterParam.getUser();
if (CollectionUtils.isEmpty(contactList)) {
return;
}
contactList.forEach(contact -> contact.setUserId(user.getId()));
contactRepository.save(contactList);
}
}
package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.Address;
import java.io.Serializable;
import lombok.Data;
/**
* 地址信息数据模型
*
* @author renwc
* @date 2018-01-04
*/
@Data
public class AddressModel implements Serializable {
private static final long serialVersionUID = -1L;
private Long provinceCode;
private String province;
private Long cityCode;
private String city;
private Long districtCode;
private String district;
private String address;
private AddressModel() {
}
public static AddressModel entity2Model(Address entity) {
if (entity == null) {
return null;
}
AddressModel model = new AddressModel();
model.setProvinceCode(entity.getProvinceCode());
model.setCityCode(entity.getCityCode());
model.setDistrictCode(entity.getDistrictCode());
model.setDistrict(entity.getDistrict());
model.setProvince(entity.getProvince());
model.setCity(entity.getCity());
model.setAddress(entity.getAddress());
return model;
}
}
package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.Address;
import lombok.Data;
/**
* Created by Miraculous on 2017/2/14.
*/
@Data
public class AddressRet {
private static final long serialVersionUID = -1L;
private Long id;
private Long userId;
private Long provinceCode;
private String province;
private Long cityCode;
private String city;
private Long districtCode;
private String district;
private String address;
private Long createdAt;
private Long updateAt;
public static AddressRet address2AddressRet(Address address) {
if (address == null) {
return null;
}
AddressRet ret = new AddressRet();
ret.setId(address.getId());
ret.setUserId(address.getUserId());
ret.setProvinceCode(address.getProvinceCode());
ret.setCityCode(address.getCityCode());
ret.setDistrictCode(address.getDistrictCode());
ret.setDistrict(address.getDistrict());
ret.setProvince(address.getProvince());
ret.setCity(address.getCity());
ret.setAddress(address.getAddress());
ret.setCreatedAt(address.getCreatedAt().getTime());
ret.setUpdateAt(address.getUpdatedAt().getTime());
return ret;
}
}
package cn.quantgroup.xyqb.model;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.entity.Contact;
import java.io.Serializable;
import java.util.Optional;
import lombok.Data;
/**
* 联系人数据模型
*
* @author renwc
* @date 2018-01-04
*/
@Data
public class ContactModel implements Serializable {
private static final long serialVersionUID = -1L;
private String name;
private String phoneNo;
private String relationName;
private String relation;
private ContactModel() {
}
public static ContactModel entity2Model(Contact entity) {
if (entity == null) {
return null;
}
ContactModel model = new ContactModel();
model.setName(entity.getName());
model.setPhoneNo(entity.getPhoneNo());
model.setRelationName(Optional.ofNullable(entity.getRelation()).orElse(Relation.OTHER).getDesc());
model.setRelation(entity.getRelation().name());
return model;
}
}
package cn.quantgroup.xyqb.model;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.entity.Contact;
import java.io.Serializable;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Objects;
import lombok.Data;
import org.apache.commons.collections.CollectionUtils;
/**
* Created by Miraculous on 2017/2/14.
*/
@Data
public class ContactRet implements Serializable {
private static final long serialVersionUID = -1L;
private Long id;
private Long userId;
private String name;
private String phoneNo;
private Relation relation;
private Long createdAt;
private Long updateAt;
private static ContactRet contact2ContactRet(Contact c) {
if (c == null) {
return null;
}
ContactRet ret = new ContactRet();
ret.setId(c.getId());
ret.setUserId(c.getUserId());
ret.setName(c.getName());
ret.setPhoneNo(c.getPhoneNo());
ret.setRelation(c.getRelation());
if(Objects.nonNull(c.getCreatedAt())){
ret.setCreatedAt(c.getCreatedAt().getTime());
}
if(Objects.nonNull(c.getUpdatedAt())) {
ret.setUpdateAt(c.getUpdatedAt().getTime());
}
return ret;
}
public static List<ContactRet> contacts2ContactRets(List<Contact> cs) {
if (CollectionUtils.isEmpty(cs)) {
return Collections.emptyList();
}
List<ContactRet> contactRets = new ArrayList<>();
for (Contact c : cs) {
contactRets.add(contact2ContactRet(c));
}
return contactRets;
}
}
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import java.io.Serializable; import java.io.Serializable;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -45,40 +43,4 @@ public class UserAssociationModel implements Serializable { ...@@ -45,40 +43,4 @@ public class UserAssociationModel implements Serializable {
private Boolean hasHouse; private Boolean hasHouse;
// 是否有信用卡 // 是否有信用卡
private Boolean hasCreditCard; private Boolean hasCreditCard;
private List<AddressModel> addressList;
private List<ContactModel> contactList;
/**
* 填充地址模型列表
*
* @param entitylist
*/
public void putAddressList(List<Address> entitylist) {
if (Objects.isNull(entitylist)) {
return;
}
if (Objects.isNull(this.addressList)) {
this.addressList = new ArrayList<>(entitylist.size());
}
for (Address entity : entitylist) {
this.addressList.add(AddressModel.entity2Model(entity));
}
}
/**
* 填充联系人模型列表
*
* @param entitylist
*/
public void putContactList(List<Contact> entitylist) {
if (Objects.isNull(entitylist)) {
return;
}
if (Objects.isNull(this.contactList)) {
this.contactList = new ArrayList<>(entitylist.size());
}
for (Contact entity : entitylist) {
this.contactList.add(ContactModel.entity2Model(entity));
}
}
} }
package cn.quantgroup.xyqb.model; package cn.quantgroup.xyqb.model;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import java.util.List; import java.util.List;
import lombok.AllArgsConstructor; import lombok.AllArgsConstructor;
...@@ -29,11 +27,9 @@ public class UserRegisterParam { ...@@ -29,11 +27,9 @@ public class UserRegisterParam {
private Long channelId; // 业务渠道 private Long channelId; // 业务渠道
private Long btRegisterChannelId; // 白条渠道 private Long btRegisterChannelId; // 白条渠道
private String dimension; // 维度 private String dimension; // 维度
private Address address; // 地址
private String contacts; // 联系人 private String contacts; // 联系人
private User user; // 注册生成的用户,也是返回结果 private User user; // 注册生成的用户,也是返回结果
private List<Contact> contactList;
/** /**
* ======数据部分结束====== * ======数据部分结束======
*/ */
......
package cn.quantgroup.xyqb.repository;
import cn.quantgroup.xyqb.entity.Address;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
/**
* Created by 11 on 2016/12/30.
*/
public interface IAddressRepository extends JpaRepository<Address, Long>, JpaSpecificationExecutor<Address> {
Address findByUserId(Long userId);
}
package cn.quantgroup.xyqb.repository;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.xyqb.entity.Contact;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.transaction.annotation.Transactional;
/**
* Created by 11 on 2016/12/30.
*/
public interface IContactRepository extends JpaRepository<Contact, Long> {
List<Contact> findByUserId(Long userId);
List<Contact> findByUserIdAndBizType(Long userId, BizType bizType);
@Modifying
@Transactional(rollbackFor = Exception.class)
@Query(value = "update contact set name=?1,phone_no=?2,relation=?3 where id = ?4", nativeQuery = true)
void update(String name, String phoneNo, Integer relation, Long id);
// @Query(value = "select *, max(`id`) as mid from contact where user_id=?1 GROUP BY phone_no ORDER BY id desc limit 2", nativeQuery = true)
@Query(value = "select * from contact, (select max(`id`) as mid from contact where user_id=?1 GROUP BY phone_no ORDER BY id desc limit 2) as ids where contact.id=ids.mid", nativeQuery = true)
List<Contact> findContactForUserId(Long userId);
}
package cn.quantgroup.xyqb.service.page.impl; package cn.quantgroup.xyqb.service.page.impl;
import cn.quantgroup.user.enums.BizType; import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDetail; import cn.quantgroup.xyqb.entity.UserDetail;
import cn.quantgroup.xyqb.entity.UserExtInfo; import cn.quantgroup.xyqb.entity.UserExtInfo;
import cn.quantgroup.xyqb.model.Tuple; import cn.quantgroup.xyqb.model.Tuple;
import cn.quantgroup.xyqb.service.page.IPageService; import cn.quantgroup.xyqb.service.page.IPageService;
import cn.quantgroup.xyqb.service.page.bean.BasePageType; import cn.quantgroup.xyqb.service.page.bean.BasePageType;
import cn.quantgroup.xyqb.service.user.IAddressService;
import cn.quantgroup.xyqb.service.user.IContactService;
import cn.quantgroup.xyqb.service.user.IUserDetailService; import cn.quantgroup.xyqb.service.user.IUserDetailService;
import cn.quantgroup.xyqb.service.user.IUserExtInfoService; import cn.quantgroup.xyqb.service.user.IUserExtInfoService;
import java.util.HashMap; import java.util.HashMap;
...@@ -45,24 +41,8 @@ public class PageServiceImpl implements IPageService { ...@@ -45,24 +41,8 @@ public class PageServiceImpl implements IPageService {
return null != extInfo; return null != extInfo;
} }
}; };
@Autowired
private IAddressService addressService;
private BasePageType pageAddress = new BasePageType("address", false) {
@Override
public boolean canPass(User user) {
Address address = addressService.findByUserId(user.getId());
return null != address;
}
};
@Autowired
private IContactService contactService;
private BasePageType pageContacts = new BasePageType("contacts", false) {
@Override
public boolean canPass(User user) {
List<Contact> contacts = contactService.findByUserIdAndBizType(user.getId(), BizType.CASH, true);
return contacts != null && contacts.size() != 0;
}
};
@PostConstruct @PostConstruct
private void init() { private void init() {
...@@ -71,12 +51,7 @@ public class PageServiceImpl implements IPageService { ...@@ -71,12 +51,7 @@ public class PageServiceImpl implements IPageService {
routerDefinetion.put("cashTarget1", new BasePageType[]{ routerDefinetion.put("cashTarget1", new BasePageType[]{
pageIdNo, pageUserFinance pageIdNo, pageUserFinance
}); });
routerDefinetion.put("cashTarget2", new BasePageType[]{
pageIdNo, pageAddress
});
routerDefinetion.put("cashTarget3", new BasePageType[]{
pageIdNo, pageContacts
});
routerDefinetion.put("cashTarget4", new BasePageType[]{ routerDefinetion.put("cashTarget4", new BasePageType[]{
pageIdNo pageIdNo
}); });
......
package cn.quantgroup.xyqb.service.register; package cn.quantgroup.xyqb.service.register;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import java.util.List; import java.util.List;
...@@ -71,7 +69,7 @@ public interface IUserRegisterService { ...@@ -71,7 +69,7 @@ public interface IUserRegisterService {
* @author jinsong.zhu 2018年05月16日14:22:13 * @author jinsong.zhu 2018年05月16日14:22:13
* 处理对address和contact的非必要兼容 * 处理对address和contact的非必要兼容
*/ */
User register(Long registeredFrom, Long channelId, String phoneNo, String name, String idNo, Address addressObj, String contacts, List<Contact> contactList, Long btRegisterChannelId); User register(Long registeredFrom, Long channelId, String phoneNo, String name, String idNo,String contacts, Long btRegisterChannelId);
} }
...@@ -4,8 +4,6 @@ import static cn.quantgroup.xyqb.Constants.DELETE_USER_AGAIN_REGISTER_INTERVAL; ...@@ -4,8 +4,6 @@ import static cn.quantgroup.xyqb.Constants.DELETE_USER_AGAIN_REGISTER_INTERVAL;
import cn.quantgroup.user.enums.RecordType; import cn.quantgroup.user.enums.RecordType;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.entity.User; import cn.quantgroup.xyqb.entity.User;
import cn.quantgroup.xyqb.entity.UserDeregisterRecord; import cn.quantgroup.xyqb.entity.UserDeregisterRecord;
import cn.quantgroup.xyqb.event.RegisterEvent; import cn.quantgroup.xyqb.event.RegisterEvent;
...@@ -244,7 +242,7 @@ public class UserRegisterServiceImpl implements IUserRegisterService { ...@@ -244,7 +242,7 @@ public class UserRegisterServiceImpl implements IUserRegisterService {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Override @Override
public User register(Long registeredFrom, Long channelId, String phoneNo, String name, String idNo, Address addressObj, String contacts, List<Contact> contactList, Long btRegisterChannelId) { public User register(Long registeredFrom, Long channelId, String phoneNo, String name, String idNo, String contacts,Long btRegisterChannelId) {
deregisterCheck(phoneNo); deregisterCheck(phoneNo);
...@@ -255,9 +253,7 @@ public class UserRegisterServiceImpl implements IUserRegisterService { ...@@ -255,9 +253,7 @@ public class UserRegisterServiceImpl implements IUserRegisterService {
.name(name) .name(name)
.channelId(channelId) .channelId(channelId)
.btRegisterChannelId(btRegisterChannelId) .btRegisterChannelId(btRegisterChannelId)
.address(addressObj)
.contacts(contacts) .contacts(contacts)
.contactList(contactList)
.sendSuccessSms(true) .sendSuccessSms(true)
.sendAppSms(true) .sendAppSms(true)
.sendSuccessMq(true) .sendSuccessMq(true)
......
package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.xyqb.entity.Address;
import java.util.List;
/**
* Created by Miraculous on 2017/1/3.
*/
public interface IAddressService {
Address findByUserId(Long userId);
Address save(Address addressObj);
List<Address> findByUserIds(List<Long> userIds);
}
package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.entity.Contact;
import java.util.List;
/**
* Created by Miraculous on 2017/1/3.
*/
public interface IContactService {
/**
* @param userId - 用户主键
* @param trim - 是否清除非法错误记录,true-清除,false-不清除
* @return
*/
// List<Contact> findByUserId(Long userId, boolean trim);
List<Contact> findByUserIdAndBizType(Long userId, BizType bizType, boolean trim);
Contact findById(Long id);
/**
* 批量保存用户联系人
* 如果已存在联系人,则覆盖更新
*
* @param userId - 用户主键
* @param contacts - 联系人列表
* @return
*/
@Deprecated //因不能明确表述更新还是新增。已废弃
List<Contact> save(Long userId, List<Contact> contacts);
@Deprecated //因不能明确表述更新还是新增。已废弃
Contact save(Contact contact);
@Deprecated //因不能明确表述更新还是新增。已废弃
Contact saveContact(String name, String phoneNo, Relation relation, Contact contact);
void update(String name, String phoneNo, Relation relation, Long id);
void save(List<Contact> contactList);
List<Contact> findContactForUserId(Long userId);
}
package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.repository.IAddressRepository;
import cn.quantgroup.xyqb.service.user.IAddressService;
import cn.quantgroup.xyqb.util.AddressFilter;
import cn.quantgroup.xyqb.util.EmojiUtil;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.stereotype.Service;
/**
* Created by Miraculous on 2017/1/3.
*/
@Service
public class AddressServiceImpl implements IAddressService {
@Autowired
private IAddressRepository addressRepository;
@Override
// @Cacheable(value = "addresscache", key = "'address' + #userId", unless = "#result == null", cacheManager = "cacheManager")
public Address findByUserId(Long userId) {
Address address = addressRepository.findByUserId(userId);
//过滤特殊字符
if (null != address && null != address.getAddress() && AddressFilter.isIncSpeChar(address.getAddress())) {
address.setAddress(AddressFilter.filterAddress(address.getAddress()));
}
return address;
}
@Override
@CacheEvict(value = "addresscache", key = "'address' + #addressObj.userId", cacheManager = "cacheManager")
public Address save(Address addressObj) {
/* 替换所有,UTF-8编码时4字节的Emoji表情字符 */
addressObj.setProvince(EmojiUtil.filterUnicode4(addressObj.getProvince()));
addressObj.setCity(EmojiUtil.filterUnicode4(addressObj.getCity()));
addressObj.setDistrict(EmojiUtil.filterUnicode4(addressObj.getDistrict()));
addressObj.setAddress(EmojiUtil.filterUnicode4(addressObj.getAddress()));
return addressRepository.save(addressObj);
}
@Override
public List<Address> findByUserIds(List<Long> userIds) {
return addressRepository.findAll((root, query, cb) -> {
query.where(root.get("userId").in(userIds));
return query.getRestriction();
});
}
}
package cn.quantgroup.xyqb.service.user.impl;
import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.entity.Contact;
import cn.quantgroup.xyqb.repository.IContactRepository;
import cn.quantgroup.xyqb.service.user.IContactService;
import java.util.List;
import java.util.Objects;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Caching;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
/**
* Created by Miraculous on 2017/1/3.
*/
@Slf4j
@Service
public class ContactServiceImpl implements IContactService {
@Autowired
private IContactRepository contactRepository;
public List<Contact> findByUserIdAndBizType(Long userId, BizType bizType, boolean trim) {
List<Contact> contacts = contactRepository.findByUserIdAndBizType(userId, bizType);
if (trim) {
trim(contacts);
}
return contacts;
}
/**
* 过滤掉非法联系人记录
*
* @param contacts - 包含待清除记录的联系人列表
*/
private void trim(List<Contact> contacts) {
if (CollectionUtils.isEmpty(contacts)) {
return;
}
contacts.removeIf(contact -> !contact.valid());
}
@Override
public Contact findById(Long id) {
return contactRepository.findOne(id);
}
@Override
@Caching(evict = {
@CacheEvict(value = "contact", key = "'contact:true' + #userId", cacheManager = "cacheManager"),
@CacheEvict(value = "contact", key = "'contact:false' + #userId", cacheManager = "cacheManager")})
public List<Contact> save(Long userId, List<Contact> contacts) {
if (userId == null) {
return null;
}
// 合并当前用户列表到更新列表
mergeContacts(userId, contacts);
return contactRepository.save(contacts);
}
@Override
@Caching(evict = {
@CacheEvict(value = "contact", key = "'contact:true' + #contact.userId", cacheManager = "cacheManager"),
@CacheEvict(value = "contact", key = "'contact:false' + #contact.userId", cacheManager = "cacheManager")})
public Contact save(Contact contact) {
return contactRepository.save(contact);
}
@Override
public Contact saveContact(String name, String phoneNo, Relation relation, Contact contact) {
if (StringUtils.isNotBlank(name)) {
contact.setName(name);
}
if (StringUtils.isNotBlank(phoneNo)) {
contact.setPhoneNo(phoneNo);
}
if (null != relation) {
contact.setRelation(relation);
}
log.info("修改前联系人信息:{}", contact);
contact = save(contact);
return contact;
}
@Override
public void update(String name, String phoneNo, Relation relation, Long id) {
contactRepository.update(name, phoneNo, relation.ordinal(), id);
}
@Override
public void save(List<Contact> contactList) {
contactRepository.save(contactList);
}
@Override
public List<Contact> findContactForUserId(Long userId) {
return contactRepository.findContactForUserId(userId);
}
/**
* 合并当前用户列表到更新列表
*
* @param userId - 用户主键
* @param contacts - 新联系人列表
*/
private void mergeContacts(Long userId, List<Contact> contacts) {
// 当前联系人列表
List<Contact> userContact = contactRepository.findByUserId(userId);
for (int i = 0; i < contacts.size(); i++) {
Contact c = contacts.get(i);
c.setId(null);
c.setUserId(userId);
if(Objects.isNull(c.getRelation())){
c.setRelation(Relation.OTHER);
}
if (CollectionUtils.isEmpty(userContact) || userContact.size() <= i) {
continue;
}
Contact old = userContact.get(i);
if(Objects.isNull(old)){
continue;
}
c.setId(old.getId());
if(Objects.nonNull(old.getCreatedAt())){
c.setCreatedAt(old.getCreatedAt());
}
}
}
}
...@@ -91,10 +91,6 @@ public class UserServiceImpl implements IUserService, IBaseController { ...@@ -91,10 +91,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
@Resource @Resource
private IUserExtInfoService userExtInfoService; private IUserExtInfoService userExtInfoService;
@Resource @Resource
private IAddressService addressService;
@Resource
private IContactService contactService;
@Resource
private ILockIpv4Service lockIpv4Service; private ILockIpv4Service lockIpv4Service;
@Autowired @Autowired
...@@ -514,7 +510,6 @@ public class UserServiceImpl implements IUserService, IBaseController { ...@@ -514,7 +510,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
User user = userRepository.findById(userId); User user = userRepository.findById(userId);
UserDetail userDetail = userDetailService.findByUserId(userId); UserDetail userDetail = userDetailService.findByUserId(userId);
UserExtInfo userExtInfo = userExtInfoService.findByUserId(userId); UserExtInfo userExtInfo = userExtInfoService.findByUserId(userId);
Address address = addressService.findByUserId(userId);
UserFullResp userFullResp = UserFullResp.builder().userId(userId).build(); UserFullResp userFullResp = UserFullResp.builder().userId(userId).build();
if (user != null) { if (user != null) {
...@@ -542,28 +537,6 @@ public class UserServiceImpl implements IUserService, IBaseController { ...@@ -542,28 +537,6 @@ public class UserServiceImpl implements IUserService, IBaseController {
userFullResp.setHasCreditCard(userExtInfo.getHasCreditCard() == null ? 0 : userExtInfo.getHasCreditCard() ? 1 : 0); userFullResp.setHasCreditCard(userExtInfo.getHasCreditCard() == null ? 0 : userExtInfo.getHasCreditCard() ? 1 : 0);
userFullResp.setMarryStatus(userExtInfo.getMarryStatus() != null ? userExtInfo.getMarryStatus().ordinal() : null); userFullResp.setMarryStatus(userExtInfo.getMarryStatus() != null ? userExtInfo.getMarryStatus().ordinal() : null);
} }
if (address != null) {
userFullResp.setProvinceCode(address.getProvinceCode());
userFullResp.setProvince(address.getProvince());
userFullResp.setCityCode(address.getCityCode());
userFullResp.setCity(address.getCity());
userFullResp.setDistrictCode(address.getDistrictCode());
userFullResp.setDistrict(address.getDistrict());
userFullResp.setAddress(address.getAddress());
}
List<UserFullResp.Contact> contacts = Lists.newArrayList();
contactService.findByUserIdAndBizType(userId, BizType.CASH, true)
.forEach(contact -> {
contacts.add(UserFullResp.Contact.builder()
.bizType(contact.getBizType())
.userId(userId)
.name(contact.getName())
.mobile(contact.getPhoneNo())
.relation(contact.getRelation()
.ordinal())
.build());
});
userFullResp.setContacts(contacts);
return userFullResp; return userFullResp;
} }
......
...@@ -5,10 +5,9 @@ import cn.quantgroup.xyqb.Bootstrap; ...@@ -5,10 +5,9 @@ import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.Constants; import cn.quantgroup.xyqb.Constants;
import cn.quantgroup.xyqb.controller.external.UserController; import cn.quantgroup.xyqb.controller.external.UserController;
import cn.quantgroup.xyqb.controller.internal.user.InnerController; import cn.quantgroup.xyqb.controller.internal.user.InnerController;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.model.AuthBean; import cn.quantgroup.xyqb.model.AuthBean;
import cn.quantgroup.xyqb.model.JsonResult; import cn.quantgroup.xyqb.model.JsonResult;
import cn.quantgroup.xyqb.service.user.IAddressService;
import java.io.IOException; import java.io.IOException;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
...@@ -39,19 +38,13 @@ public class UserLoginTest { ...@@ -39,19 +38,13 @@ public class UserLoginTest {
private MockHttpServletRequest request = new MockHttpServletRequest(); private MockHttpServletRequest request = new MockHttpServletRequest();
; ;
@Resource
IAddressService iAddressService;
@Resource @Resource
private UserController userController; private UserController userController;
@Resource @Resource
private InnerController innerController; private InnerController innerController;
//注入brave-spring-boot-starter提供的techHttpClient //注入brave-spring-boot-starter提供的techHttpClient
@Test
public void testQuery(){
Address byUserId = iAddressService.findByUserId(1L);
System.out.println(byUserId);
}
@Test @Test
...@@ -62,13 +55,6 @@ public class UserLoginTest { ...@@ -62,13 +55,6 @@ public class UserLoginTest {
} }
@Test
public void testJson() {
JsonResult addressByUserId = innerController.findAddressByUserId(22L);
// JsonResult userByUserId = innerController.findUserByPhoneNo("17811111122");
System.out.println("-------------result:" + addressByUserId);
}
/** /**
* 用户密码登陆接口 * 用户密码登陆接口
......
package service; package service;
import cn.quantgroup.xyqb.Bootstrap; import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.service.user.IAddressService;
import cn.quantgroup.xyqb.service.user.IContactService;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import com.google.common.collect.Lists;
import java.util.Arrays;
import java.util.Collection;
import java.util.List;
import javax.annotation.Resource; import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.junit.Before; import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith; import org.junit.runner.RunWith;
import org.junit.runners.Parameterized; import org.junit.runners.Parameterized;
import org.springframework.boot.test.context.SpringBootTest; import org.springframework.boot.test.context.SpringBootTest;
...@@ -34,16 +27,10 @@ public class UserServiceTest { ...@@ -34,16 +27,10 @@ public class UserServiceTest {
private TestContextManager testContextManager; private TestContextManager testContextManager;
@Resource
private IAddressService addressService;
@Resource
private IContactService contactService;
private Address addressObj;
public UserServiceTest(Address addressObj) { public UserServiceTest() {
super(); super();
this.addressObj = addressObj;
} }
@Before @Before
public void setUpContext() throws Exception { public void setUpContext() throws Exception {
...@@ -52,30 +39,6 @@ public class UserServiceTest { ...@@ -52,30 +39,6 @@ public class UserServiceTest {
this.testContextManager = new TestContextManager(getClass()); this.testContextManager = new TestContextManager(getClass());
this.testContextManager.prepareTestInstance(this); this.testContextManager.prepareTestInstance(this);
} }
@Parameterized.Parameters
public static Collection data() {
Address addressObj =new Address();
addressObj.setUserId(123456L);
addressObj.setCity("悉尼");
addressObj.setCityCode(1L);
addressObj.setDistrict("悉尼");
addressObj.setDistrictCode(1L);
addressObj.setProvince("悉尼");
addressObj.setProvinceCode(1L);
addressObj.setAddress("嘻哈");
return Arrays.asList(new Object[][]{{addressObj}});
}
@Test
public void testAddress() {
addressService.save(addressObj);
addressObj=addressService.findByUserId(addressObj.getUserId());
System.out.println("测试地址"+addressObj);
List<Long> userIds= Lists.newArrayList();
userIds.add(123456L);
List<Address> addresses= addressService.findByUserIds(userIds);
System.out.println("测试地址集合"+addresses.get(0));
}
} }
package wechat; package wechat;
import cn.quantgroup.xyqb.Bootstrap; import cn.quantgroup.xyqb.Bootstrap;
import cn.quantgroup.xyqb.entity.Address;
import cn.quantgroup.xyqb.entity.WechatUserInfo; import cn.quantgroup.xyqb.entity.WechatUserInfo;
import cn.quantgroup.xyqb.repository.IWeChatUserRepository; import cn.quantgroup.xyqb.repository.IWeChatUserRepository;
import cn.quantgroup.xyqb.service.user.IAddressService;
import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer; import com.ctrip.framework.apollo.spring.config.ApolloPropertySourceInitializer;
import javax.annotation.Resource; import javax.annotation.Resource;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
...@@ -29,17 +27,6 @@ public class WechatTest { ...@@ -29,17 +27,6 @@ public class WechatTest {
@Resource @Resource
private IWeChatUserRepository weChatUserRepository; private IWeChatUserRepository weChatUserRepository;
@Resource
IAddressService iAddressService;
@Test
public void testQuery(){
Address byUserId = iAddressService.findByUserId(58846805L);
System.out.println(byUserId);
byUserId = iAddressService.findByUserId(58846803L);
System.out.println(byUserId);
}
@Test @Test
public void test(){ public void test(){
......
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