Commit 6626a7ce authored by 李健华's avatar 李健华

Merge branch 'feature/backlist-contact-20220120' into 'release'

Feature/backlist contact 20220120

See merge request !45
parents 639cd26e 8c875ced
...@@ -4,19 +4,17 @@ import cn.quantgroup.user.enums.BizType; ...@@ -4,19 +4,17 @@ 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.Contact;
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.IContactService;
import cn.quantgroup.xyqb.service.user.IUserService;
import cn.quantgroup.xyqb.util.ValidationUtil; import cn.quantgroup.xyqb.util.ValidationUtil;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PatchMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource; import javax.annotation.Resource;
import java.sql.Timestamp; import java.sql.Timestamp;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -30,6 +28,9 @@ public class ContactController { ...@@ -30,6 +28,9 @@ public class ContactController {
@Resource @Resource
private IContactService contactService; private IContactService contactService;
@Resource
private IUserService userService;
/** /**
* 获取联系人 * 获取联系人
* *
...@@ -87,4 +88,21 @@ public class ContactController { ...@@ -87,4 +88,21 @@ public class ContactController {
return JsonResult.buildSuccessResult(); 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);
}
} }
...@@ -22,4 +22,8 @@ public interface IContactRepository extends JpaRepository<Contact, Long> { ...@@ -22,4 +22,8 @@ public interface IContactRepository extends JpaRepository<Contact, Long> {
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
@Query(value = "update contact set name=?1,phone_no=?2,relation=?3 where id = ?4", nativeQuery = true) @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); 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);
} }
...@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.service.user; ...@@ -3,6 +3,7 @@ package cn.quantgroup.xyqb.service.user;
import cn.quantgroup.user.enums.BizType; import cn.quantgroup.user.enums.BizType;
import cn.quantgroup.user.enums.Relation; import cn.quantgroup.user.enums.Relation;
import cn.quantgroup.xyqb.entity.Contact; import cn.quantgroup.xyqb.entity.Contact;
import org.springframework.data.jpa.repository.Query;
import java.util.List; import java.util.List;
...@@ -41,4 +42,6 @@ public interface IContactService { ...@@ -41,4 +42,6 @@ public interface IContactService {
void update(String name, String phoneNo, Relation relation, Long id); void update(String name, String phoneNo, Relation relation, Long id);
void save(List<Contact> contactList); void save(List<Contact> contactList);
List<Contact> findContactForUserId(Long userId);
} }
...@@ -98,6 +98,11 @@ public class ContactServiceImpl implements IContactService { ...@@ -98,6 +98,11 @@ public class ContactServiceImpl implements IContactService {
contactRepository.save(contactList); contactRepository.save(contactList);
} }
@Override
public List<Contact> findContactForUserId(Long userId) {
return contactRepository.findContactForUserId(userId);
}
/** /**
* 合并当前用户列表到更新列表 * 合并当前用户列表到更新列表
* *
......
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