10 changed files with 334 additions and 0 deletions
Split View
Diff Options
-
45dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/mica/user/MarriageInformationContactApplyUserQueryController.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/mica/user/request/UserPageApplicantMarriageInformationContactApplyQueryParams.java
-
13dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/mica/user/request/UserPageTargetMarriageInformationContactApplyQueryParams.java
-
67dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/mica/user/response/UserPageApplicantMarriageInformationContactApplyVo.java
-
67dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/mica/user/response/UserPageTargetMarriageInformationContactApplyVo.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/mica/MarriageInformationContactApplyDao.java
-
26dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/utils/AgeCalculatorUtil.java
-
12dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/MarriageInformationContactApplyQueryService.java
-
26dating-agency-mall-server/src/main/java/com/qniao/dam/query/mica/impl/MarriageInformationContactApplyQueryServiceImpl.java
-
54dating-agency-mall-server/src/main/resources/mapper/mica/MarriageInformationContactApplyDao.xml
@ -0,0 +1,45 @@ |
|||
package com.qniao.dam.api.query.mica.user; |
|||
|
|||
import com.qniao.dam.api.query.mica.user.request.UserPageApplicantMarriageInformationContactApplyQueryParams; |
|||
import com.qniao.dam.api.query.mica.user.request.UserPageTargetMarriageInformationContactApplyQueryParams; |
|||
import com.qniao.dam.api.query.mica.user.response.UserPageApplicantMarriageInformationContactApplyVo; |
|||
import com.qniao.dam.api.query.mica.user.response.UserPageTargetMarriageInformationContactApplyVo; |
|||
import com.qniao.dam.query.mica.MarriageInformationContactApplyQueryService; |
|||
import com.qniao.domain.QnPage; |
|||
import com.qniao.framework.utils.PageUtil; |
|||
import io.swagger.annotations.Api; |
|||
import io.swagger.annotations.ApiOperation; |
|||
import org.springframework.web.bind.annotation.GetMapping; |
|||
import org.springframework.web.bind.annotation.RequestMapping; |
|||
import org.springframework.web.bind.annotation.RequestParam; |
|||
import org.springframework.web.bind.annotation.RestController; |
|||
|
|||
import javax.annotation.Resource; |
|||
|
|||
@Api(tags = "征婚资料联系申请") |
|||
@RestController |
|||
@RequestMapping("user") |
|||
public class MarriageInformationContactApplyUserQueryController { |
|||
|
|||
@Resource |
|||
private MarriageInformationContactApplyQueryService marriageInformationContactApplyQueryService; |
|||
|
|||
@GetMapping("page/applicant/marriage-information-contact-apply") |
|||
@ApiOperation("用户查询发起人征婚资料联系申请列表") |
|||
public QnPage<UserPageApplicantMarriageInformationContactApplyVo> userPageApplicantMarriageInformationContactApply(PageUtil pageUtil, |
|||
UserPageApplicantMarriageInformationContactApplyQueryParams queryParams, |
|||
@RequestParam("userId") Long userId) { |
|||
queryParams.setApplicantUserId(userId); |
|||
return PageUtil.convert(marriageInformationContactApplyQueryService.pageApplicant(queryParams, pageUtil), UserPageApplicantMarriageInformationContactApplyVo.class); |
|||
} |
|||
|
|||
@GetMapping("page/target/marriage-information-contact-apply") |
|||
@ApiOperation("用户查询接收人征婚资料联系申请列表") |
|||
public QnPage<UserPageTargetMarriageInformationContactApplyVo> userPageTargetMarriageInformationContactApply(PageUtil pageUtil, |
|||
UserPageTargetMarriageInformationContactApplyQueryParams queryParams, |
|||
@RequestParam("userId") Long userId) { |
|||
queryParams.setTargetUserId(userId); |
|||
return PageUtil.convert(marriageInformationContactApplyQueryService.pageTarget(queryParams, pageUtil), UserPageTargetMarriageInformationContactApplyVo.class); |
|||
} |
|||
|
|||
} |
|||
@ -0,0 +1,12 @@ |
|||
package com.qniao.dam.api.query.mica.user.request; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class UserPageApplicantMarriageInformationContactApplyQueryParams { |
|||
|
|||
@ApiModelProperty(hidden = true) |
|||
private Long applicantUserId; |
|||
|
|||
} |
|||
@ -0,0 +1,13 @@ |
|||
package com.qniao.dam.api.query.mica.user.request; |
|||
|
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class UserPageTargetMarriageInformationContactApplyQueryParams { |
|||
|
|||
|
|||
@ApiModelProperty(hidden = true) |
|||
private Long targetUserId; |
|||
|
|||
} |
|||
@ -0,0 +1,67 @@ |
|||
package com.qniao.dam.api.query.mica.user.response; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
|||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
|||
import com.qniao.dam.domian.aggregate.mica.constant.MarriageInformationContactApplyStatusEnum; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.time.LocalDateTime; |
|||
|
|||
@Data |
|||
public class UserPageApplicantMarriageInformationContactApplyVo { |
|||
|
|||
@ApiModelProperty("唯一标识") |
|||
@JsonSerialize(using = ToStringSerializer.class) |
|||
private Long id; |
|||
|
|||
@ApiModelProperty("目标用户id") |
|||
@JsonSerialize(using = ToStringSerializer.class) |
|||
private Long targetUserId; |
|||
|
|||
@ApiModelProperty("目标资料id") |
|||
@JsonSerialize(using = ToStringSerializer.class) |
|||
private Long targetMiId; |
|||
|
|||
@ApiModelProperty("昵称") |
|||
private String nickName; |
|||
|
|||
@ApiModelProperty("头像URL") |
|||
private String profilePhoto; |
|||
|
|||
@ApiModelProperty("性别") |
|||
private Integer genderCode; |
|||
|
|||
@ApiModelProperty("出身年份") |
|||
private String birthYear; |
|||
|
|||
@ApiModelProperty("出身日期") |
|||
private String birthDate; |
|||
|
|||
@ApiModelProperty("年龄") |
|||
private Integer age; |
|||
|
|||
@ApiModelProperty("省编码") |
|||
private Integer provinceCode; |
|||
|
|||
@ApiModelProperty("省名称") |
|||
private String provinceName; |
|||
|
|||
@ApiModelProperty("市名编码") |
|||
private Integer cityCode; |
|||
|
|||
@ApiModelProperty("市名称") |
|||
private String cityName; |
|||
|
|||
@ApiModelProperty("状态") |
|||
private MarriageInformationContactApplyStatusEnum status; |
|||
|
|||
@ApiModelProperty("是否解锁") |
|||
private Boolean unlocked; |
|||
|
|||
@ApiModelProperty("创建时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime createTime; |
|||
|
|||
} |
|||
@ -0,0 +1,67 @@ |
|||
package com.qniao.dam.api.query.mica.user.response; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonFormat; |
|||
import com.fasterxml.jackson.databind.annotation.JsonSerialize; |
|||
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; |
|||
import com.qniao.dam.domian.aggregate.mica.constant.MarriageInformationContactApplyStatusEnum; |
|||
import io.swagger.annotations.ApiModelProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.time.LocalDateTime; |
|||
|
|||
@Data |
|||
public class UserPageTargetMarriageInformationContactApplyVo { |
|||
|
|||
@ApiModelProperty("唯一标识") |
|||
@JsonSerialize(using = ToStringSerializer.class) |
|||
private Long id; |
|||
|
|||
@ApiModelProperty("申请人用户id") |
|||
@JsonSerialize(using = ToStringSerializer.class) |
|||
private Long applicantUserId; |
|||
|
|||
@ApiModelProperty("申请人资料id") |
|||
@JsonSerialize(using = ToStringSerializer.class) |
|||
private Long applicantMiId; |
|||
|
|||
@ApiModelProperty("昵称") |
|||
private String nickName; |
|||
|
|||
@ApiModelProperty("头像URL") |
|||
private String profilePhoto; |
|||
|
|||
@ApiModelProperty("性别") |
|||
private Integer genderCode; |
|||
|
|||
@ApiModelProperty("出身年份") |
|||
private String birthYear; |
|||
|
|||
@ApiModelProperty("出身日期") |
|||
private String birthDate; |
|||
|
|||
@ApiModelProperty("年龄") |
|||
private Integer age; |
|||
|
|||
@ApiModelProperty("省编码") |
|||
private Integer provinceCode; |
|||
|
|||
@ApiModelProperty("省名称") |
|||
private String provinceName; |
|||
|
|||
@ApiModelProperty("市名编码") |
|||
private Integer cityCode; |
|||
|
|||
@ApiModelProperty("市名称") |
|||
private String cityName; |
|||
|
|||
@ApiModelProperty("状态") |
|||
private MarriageInformationContactApplyStatusEnum status; |
|||
|
|||
@ApiModelProperty("是否解锁") |
|||
private Boolean unlocked; |
|||
|
|||
@ApiModelProperty("创建时间") |
|||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
|||
private LocalDateTime createTime; |
|||
|
|||
} |
|||
@ -0,0 +1,26 @@ |
|||
package com.qniao.dam.infrastructure.utils; |
|||
|
|||
import cn.hutool.core.util.StrUtil; |
|||
|
|||
import java.time.LocalDate; |
|||
import java.time.Period; |
|||
import java.time.format.DateTimeFormatter; |
|||
|
|||
public class AgeCalculatorUtil { |
|||
|
|||
// 固定支持 yyyy-MM-dd 格式 |
|||
private static final DateTimeFormatter DATE_FORMATTER = DateTimeFormatter.ofPattern("yyyy-MM-dd"); |
|||
|
|||
public static Integer calculateAge(String birthYearStr, String yearDateStr) { |
|||
Integer age = null; |
|||
if (StrUtil.isEmpty(yearDateStr) && StrUtil.isNotBlank(birthYearStr)) { |
|||
yearDateStr = birthYearStr + "-01-01"; |
|||
} |
|||
if (StrUtil.isNotBlank(yearDateStr)) { |
|||
LocalDate birthDate = LocalDate.parse(yearDateStr, DATE_FORMATTER); |
|||
age = Period.between(birthDate, LocalDate.now()).getYears(); |
|||
} |
|||
return age; |
|||
} |
|||
|
|||
} |
|||
@ -1,6 +1,18 @@ |
|||
package com.qniao.dam.query.mica; |
|||
|
|||
import com.baomidou.mybatisplus.core.metadata.IPage; |
|||
import com.qniao.dam.api.query.mica.user.request.UserPageApplicantMarriageInformationContactApplyQueryParams; |
|||
import com.qniao.dam.api.query.mica.user.request.UserPageTargetMarriageInformationContactApplyQueryParams; |
|||
import com.qniao.dam.api.query.mica.user.response.UserPageApplicantMarriageInformationContactApplyVo; |
|||
import com.qniao.dam.api.query.mica.user.response.UserPageTargetMarriageInformationContactApplyVo; |
|||
import com.qniao.domain.QnPage; |
|||
import com.qniao.framework.utils.PageUtil; |
|||
|
|||
public interface MarriageInformationContactApplyQueryService { |
|||
|
|||
Boolean checkApplying(Long applicantUserId, Long targetMiId); |
|||
|
|||
IPage<UserPageApplicantMarriageInformationContactApplyVo> pageApplicant(UserPageApplicantMarriageInformationContactApplyQueryParams queryParams, PageUtil pageUtil); |
|||
|
|||
IPage<UserPageTargetMarriageInformationContactApplyVo> pageTarget(UserPageTargetMarriageInformationContactApplyQueryParams queryParams, PageUtil pageUtil); |
|||
} |
|||
@ -0,0 +1,54 @@ |
|||
<?xml version="1.0" encoding="UTF-8"?> |
|||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
|||
<mapper namespace="com.qniao.dam.infrastructure.persistent.dao.mica.MarriageInformationContactApplyDao"> |
|||
|
|||
<select id="pageApplicant" |
|||
resultType="com.qniao.dam.api.query.mica.user.response.UserPageApplicantMarriageInformationContactApplyVo"> |
|||
SELECT |
|||
damica.id, |
|||
damica.target_mi_id, |
|||
damica.target_user_id, |
|||
dami.nick_name, |
|||
dami.profile_photo, |
|||
dami.gender_code, |
|||
dami.birth_year, |
|||
dami.birth_date, |
|||
dami.province_code, |
|||
dami.province_name, |
|||
dami.city_code, |
|||
dami.city_name, |
|||
damica.`status`, |
|||
damica.unlocked, |
|||
damica.create_time |
|||
from da_marriage_information_contact_apply as damica |
|||
LEFT JOIN da_marriage_information as dami on damica.target_mi_id=dami.id |
|||
WHERE damica.is_delete=0 |
|||
and damica.applicant_user_id=#{queryParams.applicantUserId} |
|||
ORDER BY damica.`status` ASC,damica.create_time desc |
|||
</select> |
|||
|
|||
<select id="pageTarget" |
|||
resultType="com.qniao.dam.api.query.mica.user.response.UserPageTargetMarriageInformationContactApplyVo"> |
|||
SELECT damica.id, |
|||
damica.applicant_mi_id, |
|||
damica.applicant_user_id, |
|||
dami.nick_name, |
|||
dami.profile_photo, |
|||
dami.gender_code, |
|||
dami.birth_year, |
|||
dami.birth_date, |
|||
dami.province_code, |
|||
dami.province_name, |
|||
dami.city_code, |
|||
dami.city_name, |
|||
damica.`status`, |
|||
damica.unlocked, |
|||
damica.create_time |
|||
from da_marriage_information_contact_apply as damica |
|||
LEFT JOIN da_marriage_information as dami on damica.applicant_mi_id = dami.id |
|||
WHERE damica.is_delete = 0 |
|||
and damica.target_user_id = #{queryParams.targetUserId} |
|||
ORDER BY damica.`status` ASC, damica.create_time desc |
|||
</select> |
|||
|
|||
</mapper> |
|||
Write
Preview
Loading…
Cancel
Save