记得上下班打卡 | git大法好,push需谨慎

Commit 1079ac40 authored by jiangxiulong's avatar jiangxiulong

积分列表展示优化

parent 4c09fe1d
...@@ -85,20 +85,31 @@ ...@@ -85,20 +85,31 @@
} }
}, },
{ {
field: 'prizeNum', field: '',
title: '奖品数量' title: '实物数量',
formatter: function (value, row) {
var sureTotalPrizeNum = row.sureTotalPrizeNum;
var sureOutPrizeNum = row.sureOutPrizeNum;
return '实物总库存:'+sureTotalPrizeNum+'<br>'+'实物已发放数量:'+sureOutPrizeNum;
}
}, },
{ {
field: 'drawNum', field: '',
title: '已发出' title: '抽奖次数',
formatter: function (value, row) {
var estimatedNum = row.estimatedNum;
var totalDrawNum = row.totalDrawNum;
var notBlackDrawNum = row.notBlackDrawNum;
return '预计参与人数:'+estimatedNum+'<br>'+'已抽奖次数:'+totalDrawNum+'<br>'+'去除黑名单已抽奖次数:'+notBlackDrawNum;
}
}, },
{ {
field: '', field: '',
title: '奖品剩余', title: '非实物数量',
formatter: function (value, row) { formatter: function (value, row) {
var prizeNum = row.prizeNum; var otherTotalPrizeNum = row.otherTotalPrizeNum;
var drawNum = row.drawNum; var otherOutPrizeNum = row.otherOutPrizeNum;
return prizeNum - drawNum; return '非实物总库存:'+otherTotalPrizeNum+'<br>'+'非实物已发放数量:'+otherOutPrizeNum;
} }
}, },
{ {
......
...@@ -197,6 +197,31 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA ...@@ -197,6 +197,31 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
public PageInfo<SweetIntegralActivityDto> list(SweetIntegralActivityListSearchParam listParam) { public PageInfo<SweetIntegralActivityDto> list(SweetIntegralActivityListSearchParam listParam) {
PageHelper.startPage(listParam.getPageNum(), listParam.getPageSize()); PageHelper.startPage(listParam.getPageNum(), listParam.getPageSize());
List<SweetIntegralActivityDto> voList = sweetIntegralActivityMapper.searchActivityList(listParam.getActivityTitle()); List<SweetIntegralActivityDto> voList = sweetIntegralActivityMapper.searchActivityList(listParam.getActivityTitle());
for (SweetIntegralActivityDto activityDto : voList) {
String activityId = activityDto.getIntegralActivityId();
// 实物总库存、实物已发放数量
int sureTotalPrizeNum = sweetIntegralActivityPrizeMapper.sureTotalPrizeNum(activityId);
int sureOutPrizeNum = sweetIntegralActivityDrawMapper.sureOutPrizeNum(activityId);
// 总抽奖次数、redis去除黑名单抽奖次数
int totalDrawNum = sweetIntegralActivityDrawMapper.totalDrawNum(activityId);
int diffEstimatedNum = sweetRedisAdminUtils.getIntegralActivityEstimatedNum(activityId);
int notBlackDrawNum = 0;
if (diffEstimatedNum > 0) {
notBlackDrawNum = activityDto.getEstimatedNum() - diffEstimatedNum;
} else {
notBlackDrawNum = activityDto.getEstimatedNum() + Math.abs(diffEstimatedNum);
}
// 积分和券的总库存、已发放的数量
int otherTotalPrizeNum = sweetIntegralActivityPrizeMapper.otherTotalPrizeNum(activityId);
int otherOutPrizeNum = sweetIntegralActivityDrawMapper.otherOutPrizeNum(activityId);
activityDto.setSureTotalPrizeNum(sureTotalPrizeNum);
activityDto.setSureOutPrizeNum(sureOutPrizeNum);
activityDto.setTotalDrawNum(totalDrawNum);
activityDto.setNotBlackDrawNum(notBlackDrawNum);
activityDto.setOtherTotalPrizeNum(otherTotalPrizeNum);
activityDto.setOtherOutPrizeNum(otherOutPrizeNum);
}
return new PageInfo(voList); return new PageInfo(voList);
} }
......
...@@ -34,6 +34,11 @@ public class SweetIntegralActivityDto { ...@@ -34,6 +34,11 @@ public class SweetIntegralActivityDto {
*/ */
private Integer activityNum; private Integer activityNum;
/**
* 预估玩此活动的总人数
*/
private Integer estimatedNum;
/** /**
* 活动时间类型 1长期 2开始结束时间 * 活动时间类型 1长期 2开始结束时间
*/ */
...@@ -54,11 +59,6 @@ public class SweetIntegralActivityDto { ...@@ -54,11 +59,6 @@ public class SweetIntegralActivityDto {
*/ */
private Integer expressFeeType; private Integer expressFeeType;
/**
* 活动规则
*/
private String activityRules;
/** /**
* 是否上线 1未上线 2已上线 * 是否上线 1未上线 2已上线
*/ */
...@@ -76,6 +76,32 @@ public class SweetIntegralActivityDto { ...@@ -76,6 +76,32 @@ public class SweetIntegralActivityDto {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR) @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt; private LocalDateTime updatedAt;
private Integer prizeNum; // private Integer prizeNum;
private Integer drawNum; // private Integer drawNum;
/**
* 实物总库存
*/
private Integer sureTotalPrizeNum;
/**
* 实物已发放数量
*/
private Integer sureOutPrizeNum;
/**
* 已抽奖次数
*/
private Integer totalDrawNum;
/**
* 去除黑名单已抽奖次数
*/
private Integer notBlackDrawNum;
/**
* 非实物总库存
*/
private Integer otherTotalPrizeNum;
/**
* 非实物已发放数量
*/
private Integer otherOutPrizeNum;
} }
...@@ -21,4 +21,10 @@ public interface SweetIntegralActivityDrawMapper extends BaseMapper<SweetIntegra ...@@ -21,4 +21,10 @@ public interface SweetIntegralActivityDrawMapper extends BaseMapper<SweetIntegra
List<SweetActivityDrawListDao> selectExcelList(@Param("integralActivityId") String integralActivityId); List<SweetActivityDrawListDao> selectExcelList(@Param("integralActivityId") String integralActivityId);
List<SweetActivityDrawListDao> searchLists(SweetIntegralActivityDrawListSearchParam listParam); List<SweetActivityDrawListDao> searchLists(SweetIntegralActivityDrawListSearchParam listParam);
int sureOutPrizeNum(String activityId);
int totalDrawNum(String activityId);
int otherOutPrizeNum(String activityId);
} }
...@@ -13,4 +13,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; ...@@ -13,4 +13,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/ */
public interface SweetIntegralActivityPrizeMapper extends BaseMapper<SweetIntegralActivityPrize> { public interface SweetIntegralActivityPrizeMapper extends BaseMapper<SweetIntegralActivityPrize> {
int sureTotalPrizeNum(String activityId);
int otherTotalPrizeNum(String activityId);
} }
...@@ -52,4 +52,33 @@ ...@@ -52,4 +52,33 @@
</where> </where>
ORDER BY a.mid DESC ORDER BY a.mid DESC
</select> </select>
<select id="sureOutPrizeNum" resultType="java.lang.Integer">
select count(prize_type_num)
from sweet_integral_activity_draw
<where>
<if test="integralActivityId != null and integralActivityId != ''">
and integral_activity_id = #{integralActivityId}
</if>
and prize_type in (3, 4)
</where>
</select>
<select id="totalDrawNum" resultType="java.lang.Integer">
select count(*)
from sweet_integral_activity_draw
<where>
<if test="integralActivityId != null and integralActivityId != ''">
and integral_activity_id = #{integralActivityId}
</if>
</where>
</select>
<select id="otherOutPrizeNum" resultType="java.lang.Integer">
select count(prize_type_num)
from sweet_integral_activity_draw
<where>
<if test="integralActivityId != null and integralActivityId != ''">
and integral_activity_id = #{integralActivityId}
</if>
and prize_type in (1, 2)
</where>
</select>
</mapper> </mapper>
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<mapper namespace="com.liquidnet.service.sweet.mapper.SweetIntegralActivityMapper"> <mapper namespace="com.liquidnet.service.sweet.mapper.SweetIntegralActivityMapper">
<select id="searchActivityList" resultType="com.liquidnet.service.sweet.dto.SweetIntegralActivityDto"> <select id="searchActivityList" resultType="com.liquidnet.service.sweet.dto.SweetIntegralActivityDto">
SELECT <!--SELECT
d.*, sum(b.prize_num) AS prize_num d.*, sum(b.prize_num) AS prize_num
FROM ( FROM (
SELECT a.*, count(c.prize_id) AS draw_num SELECT a.*, count(c.prize_id) AS draw_num
...@@ -18,6 +18,15 @@ ...@@ -18,6 +18,15 @@
ORDER BY a.integral_activity_id DESC ORDER BY a.integral_activity_id DESC
) d ) d
LEFT JOIN sweet_integral_activity_prize AS b ON d.integral_activity_id = b.integral_activity_id LEFT JOIN sweet_integral_activity_prize AS b ON d.integral_activity_id = b.integral_activity_id
GROUP BY d.integral_activity_id GROUP BY d.integral_activity_id-->
SELECT
*
FROM sweet_integral_activity
<where>
<if test="activityTitle != null and activityTitle != ''">
and a.activity_title like concat('%', #{activityTitle}, '%')
</if>
</where>
ORDER BY mid DESC
</select> </select>
</mapper> </mapper>
...@@ -2,4 +2,24 @@ ...@@ -2,4 +2,24 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.sweet.mapper.SweetIntegralActivityPrizeMapper"> <mapper namespace="com.liquidnet.service.sweet.mapper.SweetIntegralActivityPrizeMapper">
<select id="sureTotalPrizeNum" resultType="java.lang.Integer">
select count(prize_type_num)
from sweet_integral_activity_prize
<where>
<if test="integralActivityId != null and integralActivityId != ''">
and integral_activity_id = #{integralActivityId}
</if>
and prize_type in (3, 4)
</where>
</select>
<select id="otherTotalPrizeNum" resultType="java.lang.Integer">
select count(prize_type_num)
from sweet_integral_activity_prize
<where>
<if test="integralActivityId != null and integralActivityId != ''">
and integral_activity_id = #{integralActivityId}
</if>
and prize_type in (1, 2)
</where>
</select>
</mapper> </mapper>
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