10 changed files with 334 additions and 0 deletions
Unified 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; |
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 { |
public interface MarriageInformationContactApplyQueryService { |
||||
|
|
||||
Boolean checkApplying(Long applicantUserId, Long targetMiId); |
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