Browse Source

积分奖励配置

master
张彭杰 1 year ago
parent
commit
cb1e035831
7 changed files with 104 additions and 0 deletions
  1. 16
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/pointaccount/user/PointAccountUserQueryController.java
  2. 12
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/pointaccount/user/request/PagePointAccountRecordQueryParams.java
  3. 31
      dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/pointaccount/user/response/PagePointAccountRecordVo.java
  4. 7
      dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/pointaccount/PointAccountDao.java
  5. 6
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/pointaccount/PointAccountQueryService.java
  6. 9
      dating-agency-mall-server/src/main/java/com/qniao/dam/query/pointaccount/impl/PointAccountQueryServiceImpl.java
  7. 23
      dating-agency-mall-server/src/main/resources/mapper/pointaccount/PointAccountMapper.xml

16
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/pointaccount/user/PointAccountUserQueryController.java

@ -1,17 +1,23 @@
package com.qniao.dam.api.query.pointaccount.user;
import com.qniao.dam.api.query.pointaccount.user.request.PagePointAccountRecordQueryParams;
import com.qniao.dam.api.query.pointaccount.user.response.PagePointAccountRecordVo;
import com.qniao.dam.api.query.pointaccount.user.response.PointAccountVo;
import com.qniao.dam.domain.aggregate.pointaccount.entity.PointAccount;
import com.qniao.dam.query.pointaccount.PointAccountQueryService;
import com.qniao.domain.QnPage;
import com.qniao.framework.utils.PageUtil;
import com.qniao.framework.utils.TypeConvertUtils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.validation.annotation.Validated;
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;
import java.util.Objects;
@Api(tags = "积分账号")
@RestController
@ -28,4 +34,14 @@ public class PointAccountUserQueryController {
return TypeConvertUtils.convert(pointAccount, PointAccountVo.class);
}
@GetMapping("page/point-account-record")
@ApiOperation("用户获取积分账号记录分页")
public QnPage<PagePointAccountRecordVo> userPagePointAccountRecord(PageUtil pageUtil,
@Validated PagePointAccountRecordQueryParams queryParams,
@RequestParam("userId") Long userId) {
if (Objects.isNull(queryParams.getQueryUserId())) {
queryParams.setQueryUserId(userId);
}
return PageUtil.convert(pointAccountQueryService.pagePointAccountRecord(queryParams, pageUtil), PagePointAccountRecordVo.class);
}
}

12
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/pointaccount/user/request/PagePointAccountRecordQueryParams.java

@ -0,0 +1,12 @@
package com.qniao.dam.api.query.pointaccount.user.request;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
public class PagePointAccountRecordQueryParams {
@ApiModelProperty("制定查询的用户id")
private Long queryUserId;
}

31
dating-agency-mall-server/src/main/java/com/qniao/dam/api/query/pointaccount/user/response/PagePointAccountRecordVo.java

@ -0,0 +1,31 @@
package com.qniao.dam.api.query.pointaccount.user.response;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.qniao.dam.domian.aggregate.prc.constant.PointRewardConfigTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class PagePointAccountRecordVo {
@ApiModelProperty("积分类型")
private PointRewardConfigTypeEnum pointType;
@ApiModelProperty("内容")
private String content;
@ApiModelProperty("积分")
private Integer points;
@ApiModelProperty("是否收入")
private Boolean isIncome;
@ApiModelProperty("当前积分")
private Integer currentPoints;
@ApiModelProperty("创建时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime createTime;
}

7
dating-agency-mall-server/src/main/java/com/qniao/dam/infrastructure/persistent/dao/pointaccount/PointAccountDao.java

@ -1,7 +1,12 @@
package com.qniao.dam.infrastructure.persistent.dao.pointaccount;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.qniao.dam.api.query.pointaccount.user.request.PagePointAccountRecordQueryParams;
import com.qniao.dam.api.query.pointaccount.user.response.PagePointAccountRecordVo;
import com.qniao.dam.domain.aggregate.pointaccount.entity.PointAccount;
import org.apache.ibatis.annotations.Param;
/**
* 积分账号
@ -9,4 +14,6 @@ import com.qniao.dam.domain.aggregate.pointaccount.entity.PointAccount;
* @date 2024/12/23
*/
public interface PointAccountDao extends BaseMapper<PointAccount> {
IPage<PagePointAccountRecordVo> pagePointAccountRecord(Page<Object> pageWithoutOrders,
@Param("queryParams") PagePointAccountRecordQueryParams queryParams);
}

6
dating-agency-mall-server/src/main/java/com/qniao/dam/query/pointaccount/PointAccountQueryService.java

@ -1,11 +1,17 @@
package com.qniao.dam.query.pointaccount;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.pointaccount.user.request.PagePointAccountRecordQueryParams;
import com.qniao.dam.api.query.pointaccount.user.response.PagePointAccountRecordVo;
import com.qniao.dam.domain.aggregate.pointaccount.entity.PointAccount;
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.framework.utils.PageUtil;
public interface PointAccountQueryService {
PointAccount queryByUserId(Long userId);
PointAccount queryByType(Long ownId, IdentityTypeEnum identityType);
IPage<PagePointAccountRecordVo> pagePointAccountRecord(PagePointAccountRecordQueryParams queryParams, PageUtil pageUtil);
}

9
dating-agency-mall-server/src/main/java/com/qniao/dam/query/pointaccount/impl/PointAccountQueryServiceImpl.java

@ -1,10 +1,14 @@
package com.qniao.dam.query.pointaccount.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.qniao.dam.api.query.pointaccount.user.request.PagePointAccountRecordQueryParams;
import com.qniao.dam.api.query.pointaccount.user.response.PagePointAccountRecordVo;
import com.qniao.dam.domain.aggregate.pointaccount.entity.PointAccount;
import com.qniao.dam.domian.aggregate.walletaccount.constant.IdentityTypeEnum;
import com.qniao.dam.infrastructure.persistent.dao.pointaccount.PointAccountDao;
import com.qniao.dam.query.pointaccount.PointAccountQueryService;
import com.qniao.framework.utils.PageUtil;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -49,4 +53,9 @@ public class PointAccountQueryServiceImpl implements PointAccountQueryService {
return null;
}
@Override
public IPage<PagePointAccountRecordVo> pagePointAccountRecord(PagePointAccountRecordQueryParams queryParams, PageUtil pageUtil) {
return pointAccountDao.pagePointAccountRecord(pageUtil.toPageWithoutOrders(), queryParams);
}
}

23
dating-agency-mall-server/src/main/resources/mapper/pointaccount/PointAccountMapper.xml

@ -0,0 +1,23 @@
<?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.pointaccount.PointAccountDao">
<select id="pagePointAccountRecord"
resultType="com.qniao.dam.api.query.pointaccount.user.response.PagePointAccountRecordVo">
SELECT
dapar.point_type,
dapar.content,
dapar.create_time,
dapar.points,
dapar.is_income,
dapar.original_points,
dapar.current_points
from da_point_account_record as dapar
INNER JOIN da_point_account as dapa on dapa.is_delete=0 and dapar.point_account_id=dapa.id
where 1=1
<if test="queryParams.queryUserId != null">
AND dapa.user_id = #{queryParams.queryUserId}
</if>
ORDER BY dapar.create_time desc
</select>
</mapper>
Loading…
Cancel
Save