Commit 382d8437 authored by 技术部-任文超's avatar 技术部-任文超

CodeReview后优化代码结构

parent 0c6d7eba
......@@ -335,7 +335,7 @@ public class MotanUserServiceImpl implements UserMotanService {
@Override
public UserSysResult<List<XContact>> findContactsByUserId(Long userId) {
List<Contact> contacts = contactService.trim(contactService.findByUserId(userId));
List<Contact> contacts = contactService.findByUserId(userId, true);
List<XContact> xContacts = convertObject(JSON.toJSONString(contacts), new TypeReference<List<XContact>>() {
});
return returnSuccessValue(xContacts);
......@@ -359,13 +359,9 @@ public class MotanUserServiceImpl implements UserMotanService {
return returnErrorValue("联系人转换错误");
}
for (Contact c : contactList) {
if (!ValidationUtil.validatePhoneNo(c.getPhoneNo())) {
log.info("用户手机号错误, phoneNo:{}", c.getPhoneNo());
return returnErrorValue("用户手机号错误");
}
if (!ValidationUtil.validateChinese(c.getName())) {
log.info("用户姓名错误, name:{}", c.getName());
return returnErrorValue("用户姓名错误");
if (!c.valid()) {
log.info("用户手机号或姓名错误, phoneNo:{},name:{}", c.getPhoneNo(), c.getName());
return returnErrorValue("用户手机号或姓名错误");
}
}
List<Contact> result = contactService.save(userId, contactList);
......
......@@ -362,7 +362,7 @@ public class InnerController implements IBaseController {
if (null == userId) {
return JsonResult.buildErrorStateResult(null, null);
}
List<Contact> contacts = contactService.trim(contactService.findByUserId(userId));
List<Contact> contacts = contactService.findByUserId(userId, true);
if (null == contacts || contacts.size() == 0) {
return JsonResult.buildErrorStateResult(null, Collections.emptyList());
}
......@@ -385,14 +385,10 @@ public class InnerController implements IBaseController {
return JsonResult.buildErrorStateResult(null, null);
}
for(Contact contact : contacts){
if (!ValidationUtil.validatePhoneNo(contact.getPhoneNo())) {
LOGGER.info("用户手机号错误, phoneNo:{}", contact.getPhoneNo());
if (!contact.valid()) {
LOGGER.info("用户手机号或姓名错误, phoneNo:{},name:{}", contact.getPhoneNo(), contact.getName());
return JsonResult.buildErrorStateResult(null, null);
}
if (!ValidationUtil.validateChinese(contact.getName())) {
LOGGER.info("用户姓名错误, name:{}", contact.getName());
return JsonResult.buildErrorStateResult("null", null);
}
}
List<Contact> result = contactService.save(userId, contacts);
return JsonResult.buildSuccessResult(null, ContactRet.contacts2ContactRets(result));
......@@ -583,7 +579,7 @@ public class InnerController implements IBaseController {
if (null != userDetail) {
Address address = addressService.findByUserId(userDetail.getUserId());
List<Contact> contacts = contactService.trim(contactService.findByUserId(userDetail.getUserId()));
List<Contact> contacts = contactService.findByUserId(userDetail.getUserId(), true);
UserExtInfo extInfo = userExtInfoService.findByUserId(userDetail.getUserId());
bean.setUserId(userDetail.getUserId());
bean.setPhoneNo(userDetail.getPhoneNo());
......@@ -635,7 +631,7 @@ public class InnerController implements IBaseController {
if (null != userDetail) {
Address address = addressService.findByUserId(userDetail.getUserId());
List<Contact> contacts = contactService.trim(contactService.findByUserId(userDetail.getUserId()));
List<Contact> contacts = contactService.findByUserId(userDetail.getUserId(), true);
UserExtInfo extInfo = userExtInfoService.findByUserId(userDetail.getUserId());
bean.setUserId(userDetail.getUserId());
bean.setPhoneNo(userDetail.getPhoneNo());
......
......@@ -201,7 +201,7 @@ public class UserCenterController {
return JsonResult.buildErrorStateResult("该用户不存在", null);
}
UserExtInfo userExtInfo = userExtInfoService.findByUserId(userId);
List<Contact> contacts = contactService.trim(contactService.findByUserId(userId));
List<Contact> contacts = contactService.findByUserId(userId, true);
Map<String, Object> result = new HashMap<>();
if(null != userExtInfo) {
result.put("contacts", null != contacts && contacts.size() > 0 ? true : false);
......@@ -251,14 +251,10 @@ public class UserCenterController {
return JsonResult.buildErrorStateResult(null, null);
}
for(Contact contact : contacts){
if (!ValidationUtil.validatePhoneNo(contact.getPhoneNo())) {
LOGGER.info("用户手机号错误, phoneNo:{}", contact.getPhoneNo());
if (!contact.valid()) {
LOGGER.info("用户手机号或姓名错误, phoneNo:{},name:{}", contact.getPhoneNo(), contact.getName());
return JsonResult.buildErrorStateResult(null, null);
}
if (!ValidationUtil.validateChinese(contact.getName())) {
LOGGER.info("用户姓名错误, name:{}", contact.getName());
return JsonResult.buildErrorStateResult("null", null);
}
}
List<Contact> result = contactService.save(userId, contacts);
return JsonResult.buildSuccessResult(null, result);
......@@ -341,7 +337,7 @@ public class UserCenterController {
LOGGER.error("保存联系人,未获取到用户id. userId:{}", userId);
return JsonResult.buildErrorStateResult("该用户不存在", null);
}
List<Contact> contacts = contactService.trim(contactService.findByUserId(userId));
List<Contact> contacts = contactService.findByUserId(userId, true);
return JsonResult.buildSuccessResult(null, contacts);
}
......
package cn.quantgroup.xyqb.entity;
import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.util.ValidationUtil;
import lombok.Data;
import javax.persistence.*;
......@@ -32,4 +33,13 @@ public class Contact implements Serializable {
private Timestamp createdAt;
@Column(name = "updated_at")
private Timestamp updateAt;
/**
* 数据合法性校验
* @return
*/
public boolean valid(){
return (ValidationUtil.validatePhoneNo(this.phoneNo) && ValidationUtil.validateChinese(this.name));
}
}
......@@ -55,7 +55,7 @@ public class PageServiceImpl implements IPageService {
private PageType pageContacts = new PageType("contacts", false) {
@Override
public boolean canPass(User user) {
List<Contact> contacts = contactService.trim(contactService.findByUserId(user.getId()));
List<Contact> contacts = contactService.findByUserId(user.getId(), true);
return contacts != null && contacts.size() != 0;
}
};
......
......@@ -9,14 +9,13 @@ import java.util.List;
* Created by Miraculous on 2017/1/3.
*/
public interface IContactService {
List<Contact> findByUserId(Long userId);
/**
* 清除非法联系人记录
* @param contacts - 包含待清除记录的联系人列表
* @return 只包含合法联系人记录的列表
*
* @param userId - 用户主键
* @param trim - 是否清除非法错误记录,true-清除,false-不清除
* @return
*/
List<Contact> trim(List<Contact> contacts);
List<Contact> findByUserId(Long userId, boolean trim);
Contact findById(Long id);
......
......@@ -12,9 +12,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cache.annotation.CacheEvict;
import org.springframework.cache.annotation.Cacheable;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
/**
......@@ -27,25 +29,33 @@ public class ContactServiceImpl implements IContactService {
private IContactRepository contactRepository;
@Override
public List<Contact> findByUserId(Long userId, boolean trim) {
List<Contact> contacts = findByUserId(userId);
if(trim){
return trim(contacts);
}
return contacts;
}
@Cacheable(value = "contact", key = "'contact' + #userId", unless = "#result == null or #result.size() == 0", cacheManager = "cacheManager")
public List<Contact> findByUserId(Long userId) {
return contactRepository.findByUserId(userId);
}
@Override
public List<Contact> trim(List<Contact> contacts){
List<Contact> trimList = new ArrayList<Contact>();
if(contacts == null){
return trimList;
/**
* 清除非法联系人记录
* @param contacts - 包含待清除记录的联系人列表
* @return 只包含合法联系人记录的列表
*/
private List<Contact> trim(List<Contact> contacts){
if(CollectionUtils.isEmpty(contacts)){
return Collections.emptyList();
}
List<Contact> trimList = new ArrayList<Contact>(contacts.size());
for(Contact contact : contacts){
if (!ValidationUtil.validatePhoneNo(contact.getPhoneNo())) {
continue;
}
if (!ValidationUtil.validateChinese(contact.getName())) {
continue;
if (contact.valid()) {
trimList.add(contact);
}
trimList.add(contact);
}
return trimList;
}
......
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