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

Commit 1079ac40 authored by jiangxiulong's avatar jiangxiulong

积分列表展示优化

parent 4c09fe1d
......@@ -85,20 +85,31 @@
}
},
{
field: 'prizeNum',
title: '奖品数量'
field: '',
title: '实物数量',
formatter: function (value, row) {
var sureTotalPrizeNum = row.sureTotalPrizeNum;
var sureOutPrizeNum = row.sureOutPrizeNum;
return '实物总库存:'+sureTotalPrizeNum+'<br>'+'实物已发放数量:'+sureOutPrizeNum;
}
},
{
field: 'drawNum',
title: '已发出'
field: '',
title: '抽奖次数',
formatter: function (value, row) {
var estimatedNum = row.estimatedNum;
var totalDrawNum = row.totalDrawNum;
var notBlackDrawNum = row.notBlackDrawNum;
return '预计参与人数:'+estimatedNum+'<br>'+'已抽奖次数:'+totalDrawNum+'<br>'+'去除黑名单已抽奖次数:'+notBlackDrawNum;
}
},
{
field: '',
title: '奖品剩余',
title: '非实物数量',
formatter: function (value, row) {
var prizeNum = row.prizeNum;
var drawNum = row.drawNum;
return prizeNum - drawNum;
var otherTotalPrizeNum = row.otherTotalPrizeNum;
var otherOutPrizeNum = row.otherOutPrizeNum;
return '非实物总库存:'+otherTotalPrizeNum+'<br>'+'非实物已发放数量:'+otherOutPrizeNum;
}
},
{
......
......@@ -197,6 +197,31 @@ public class SweetIntegralActivityServiceImpl extends ServiceImpl<SweetIntegralA
public PageInfo<SweetIntegralActivityDto> list(SweetIntegralActivityListSearchParam listParam) {
PageHelper.startPage(listParam.getPageNum(), listParam.getPageSize());
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);
}
......
......@@ -34,6 +34,11 @@ public class SweetIntegralActivityDto {
*/
private Integer activityNum;
/**
* 预估玩此活动的总人数
*/
private Integer estimatedNum;
/**
* 活动时间类型 1长期 2开始结束时间
*/
......@@ -54,11 +59,6 @@ public class SweetIntegralActivityDto {
*/
private Integer expressFeeType;
/**
* 活动规则
*/
private String activityRules;
/**
* 是否上线 1未上线 2已上线
*/
......@@ -76,6 +76,32 @@ public class SweetIntegralActivityDto {
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = DateUtil.DATE_FULL_STR)
private LocalDateTime updatedAt;
private Integer prizeNum;
private Integer drawNum;
// private Integer prizeNum;
// 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
List<SweetActivityDrawListDao> selectExcelList(@Param("integralActivityId") String integralActivityId);
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;
*/
public interface SweetIntegralActivityPrizeMapper extends BaseMapper<SweetIntegralActivityPrize> {
int sureTotalPrizeNum(String activityId);
int otherTotalPrizeNum(String activityId);
}
......@@ -52,4 +52,33 @@
</where>
ORDER BY a.mid DESC
</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>
......@@ -3,7 +3,7 @@
<mapper namespace="com.liquidnet.service.sweet.mapper.SweetIntegralActivityMapper">
<select id="searchActivityList" resultType="com.liquidnet.service.sweet.dto.SweetIntegralActivityDto">
SELECT
<!--SELECT
d.*, sum(b.prize_num) AS prize_num
FROM (
SELECT a.*, count(c.prize_id) AS draw_num
......@@ -18,6 +18,15 @@
ORDER BY a.integral_activity_id DESC
) d
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>
</mapper>
......@@ -2,4 +2,24 @@
<!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">
<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>
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