Browse Source

基础配置

master
张彭杰 2 years ago
parent
commit
80dfd7b5e8
5 changed files with 112 additions and 0 deletions
  1. 11
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/RightUserQueryController.java
  2. 20
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/request/UserListRightByOperatorQueryParam.java
  3. 41
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/response/UserListRightByOperatorVo.java
  4. 4
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/RightQueryService.java
  5. 36
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java

11
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/RightUserQueryController.java

@ -2,9 +2,12 @@ package com.qniao.dam.api.query.right.user;
import com.qniao.dam.api.query.right.user.request.UserCheckEnableRightBySdkQueryParam;
import com.qniao.dam.api.query.right.user.request.UserListRightByCustomerQueryParam;
import com.qniao.dam.api.query.right.user.request.UserListRightByOperatorQueryParam;
import com.qniao.dam.api.query.right.user.response.UserCheckEnableRightBySdkVo;
import com.qniao.dam.api.query.right.user.response.UserListRightByCustomerVo;
import com.qniao.dam.api.query.right.user.response.UserListRightByOperatorVo;
import com.qniao.dam.query.right.RightQueryService;
import com.qniao.dau.infrastructure.constant.RequestHeaderFields;
import com.qniao.framework.annotation.IgnoreResponseAdvice;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -36,4 +39,12 @@ public class RightUserQueryController {
public UserCheckEnableRightBySdkVo userCheckEnableRightBySdk(@RequestBody @Validated UserCheckEnableRightBySdkQueryParam queryParam) {
return rightQueryService.checkEnableRight(queryParam);
}
@GetMapping("list/right/by/operator")
@ApiOperation("运营获取权益列表")
public List<UserListRightByOperatorVo> userListRightByOperator(@Validated UserListRightByOperatorQueryParam queryParam,
@RequestParam("userId") Long userId,
@RequestHeader(name = RequestHeaderFields.FIELD_ORGANIZATION_ID) Long orgId) {
return rightQueryService.listRightByOperator(queryParam);
}
}

20
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/request/UserListRightByOperatorQueryParam.java

@ -0,0 +1,20 @@
package com.qniao.dam.api.query.right.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class UserListRightByOperatorQueryParam {
@ApiModelProperty("用户标识")
private Long queryUserId;
@ApiModelProperty("征婚资料标识")
@NotNull(message = "征婚资料标识不能为空")
private Long miId;
@ApiModelProperty("权益类型")
private Integer type;
}

41
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/right/user/response/UserListRightByOperatorVo.java

@ -0,0 +1,41 @@
package com.qniao.dam.api.query.right.user.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qniao.dam.domian.aggregate.right.constant.RightTypeEnum;
import com.qniao.dam.domian.aggregate.right.constant.RightUnitEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class UserListRightByOperatorVo {
@ApiModelProperty("权益名称")
private String rightName;
@ApiModelProperty("权益类型")
private RightTypeEnum type;
@ApiModelProperty("权益规格 101周期 102次数")
private RightUnitEnum rightSpecUnit;
@ApiModelProperty("开始时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime startTime;
@ApiModelProperty("结束时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime endTime;
@ApiModelProperty("剩余天数")
private Integer remainingDays;
@ApiModelProperty("权益额度")
private Integer rightLimit;
@ApiModelProperty("权益剩余额度")
private Integer rightCount;
}

4
dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/RightQueryService.java

@ -2,8 +2,10 @@ package com.qniao.dam.query.right;
import com.qniao.dam.api.query.right.user.request.UserCheckEnableRightBySdkQueryParam;
import com.qniao.dam.api.query.right.user.request.UserListRightByCustomerQueryParam;
import com.qniao.dam.api.query.right.user.request.UserListRightByOperatorQueryParam;
import com.qniao.dam.api.query.right.user.response.UserCheckEnableRightBySdkVo;
import com.qniao.dam.api.query.right.user.response.UserListRightByCustomerVo;
import com.qniao.dam.api.query.right.user.response.UserListRightByOperatorVo;
import com.qniao.dam.domain.aggregate.right.entity.Right;
import com.qniao.dam.domain.aggregate.right.entity.RightTerm;
import com.qniao.dam.domian.aggregate.right.constant.RightNameEnum;
@ -30,4 +32,6 @@ public interface RightQueryService {
boolean checkEnable(Right right);
Boolean checkRightUseLimit(Right right);
List<UserListRightByOperatorVo> listRightByOperator(UserListRightByOperatorQueryParam queryParam);
}

36
dating-agency-mall-server/src/main/java/com/qniao/dam/query/right/impl/RightQueryServiceImpl.java

@ -5,8 +5,10 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qniao.dam.api.query.right.user.request.UserCheckEnableRightBySdkQueryParam;
import com.qniao.dam.api.query.right.user.request.UserListRightByCustomerQueryParam;
import com.qniao.dam.api.query.right.user.request.UserListRightByOperatorQueryParam;
import com.qniao.dam.api.query.right.user.response.UserCheckEnableRightBySdkVo;
import com.qniao.dam.api.query.right.user.response.UserListRightByCustomerVo;
import com.qniao.dam.api.query.right.user.response.UserListRightByOperatorVo;
import com.qniao.dam.domain.aggregate.right.entity.Right;
import com.qniao.dam.domain.aggregate.right.entity.RightTerm;
import com.qniao.dam.domain.aggregate.right.repository.RightRepository;
@ -42,6 +44,19 @@ public class RightQueryServiceImpl implements RightQueryService {
@Resource
private RightConsumeRelQueryService rightConsumeRelQueryService;
@Override
public List<UserListRightByOperatorVo> listRightByOperator(UserListRightByOperatorQueryParam queryParam) {
List<UserListRightByOperatorVo> operatorVolist = new ArrayList<>();
List<Right> allRightList = listEnableRightBy(queryParam.getQueryUserId(), queryParam.getMiId(), RightTypeEnum.get(queryParam.getType()));
if (CollUtil.isNotEmpty(allRightList)) {
for (Right right : allRightList) {
UserListRightByOperatorVo operatorVo = transformOperatorRight(right);
operatorVolist.add(operatorVo);
}
}
return operatorVolist;
}
@Override
public List<UserListRightByCustomerVo> listRightByCustomer(UserListRightByCustomerQueryParam queryParam) {
List<UserListRightByCustomerVo> customerVolist = new ArrayList<>();
@ -97,6 +112,27 @@ public class RightQueryServiceImpl implements RightQueryService {
return customerVo;
}
private UserListRightByOperatorVo transformOperatorRight(Right right) {
UserListRightByOperatorVo operatorVo = new UserListRightByOperatorVo();
operatorVo.setType(right.getType());
operatorVo.setRightName(right.getType().getDesc());
//权益规格
RightTerm specRightTerm = getRightTermByName(right, RightNameEnum.SPEC);
operatorVo.setRightSpecUnit(Objects.nonNull(specRightTerm) ? specRightTerm.getUnit() : null);
//时间
operatorVo.setStartTime(right.getStartTime());
operatorVo.setEndTime(right.getEndTime());
operatorVo.setRemainingDays((int) (Duration.between(LocalDateTime.now(), operatorVo.getEndTime()).toDays() + 1));
operatorVo.setRemainingDays(operatorVo.getRemainingDays() > 0 ? operatorVo.getRemainingDays() : 0);
//权益上限额度
RightTerm rightLimitRightTerm = getRightTermByName(right, RightNameEnum.RIGHT_LIMIT);
operatorVo.setRightLimit(Objects.nonNull(rightLimitRightTerm) ? Integer.parseInt(rightLimitRightTerm.getValue()) : -1);
//权益剩余额度
RightTerm rightCountRightTerm = getRightTermByName(right, RightNameEnum.RIGHT_COUNT);
operatorVo.setRightCount(Objects.nonNull(rightCountRightTerm) ? Integer.parseInt(rightCountRightTerm.getValue()) : -1);
return operatorVo;
}
public Right getEnableRight(Long userId, Long miId, RightTypeEnum type, RightUnitEnum unit) {
Right right = null;
Long rightId = rightDao.getEnableSpecPeriodRightId(userId, miId, type, unit);

Loading…
Cancel
Save