Просмотр исходного кода

[营销分析][添加][卡营销列表]

release_toaliyun_real
luozukai 7 лет назад
Родитель
Сommit
954b767018
6 измененных файлов: 95 добавлений и 12 удалений
  1. +42
    -3
      mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java
  2. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java
  3. +10
    -9
      mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java
  4. +7
    -0
      mallinkService/src/main/java/com/iformall/service/WxCouponService.java
  5. +5
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java
  6. +29
    -0
      mallinkService/src/main/resources/mapper/WxCouponMapper.xml

+ 42
- 3
mallinkAdmin/src/main/java/com/iformall/controller/WxCouponController.java Просмотреть файл

@@ -147,13 +147,52 @@ public class WxCouponController extends BaseController {
result.put("list",wxCouponService.findCountData(wxCoupon,pageNum,pageSize)); result.put("list",wxCouponService.findCountData(wxCoupon,pageNum,pageSize));
result.put("saleHistory",saleMap); result.put("saleHistory",saleMap);
result.put("paymentHistory",payMentMap); result.put("paymentHistory",payMentMap);
result.put("saleCardCount",0);
result.put("tranCount",0);
result.put("subsidyCount",0);
result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon));
result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon));
result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon));


return new ResultData(result); return new ResultData(result);
} }


@ApiOperation("卷列表统计接口")
@GetMapping("findCouponData")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData findCouponData(@ModelAttribute WxCoupon wxCoupon, Integer pageNum, Integer pageSize) {
//默认时间本月第一天,截止到当天
Map<String,Object> result = new HashedMap();
if(wxCoupon.getStartdate() == null){
Calendar c = Calendar.getInstance();
c.add(Calendar.MONTH, 0);
c.set(Calendar.DAY_OF_MONTH,1);
wxCoupon.setStartdate(c.getTime());
}
if(wxCoupon.getEnddate() == null){
wxCoupon.setEnddate(new Date());
}
List<WxCoupon> saleMoneyList = wxCouponService.findSaleMoneyByDate(wxCoupon);
List<WxCoupon> paymentList = wxCouponService.findPaymentByDate(wxCoupon);
Map<String,Integer> saleMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());
Map<String,Integer> payMentMap = getDateMap(wxCoupon.getStartdate(),wxCoupon.getEnddate());

for (WxCoupon coupon:saleMoneyList){
saleMap.put(coupon.getXtime(),coupon.getSaleAmount());
}
for (WxCoupon coupon:paymentList){
payMentMap.put(coupon.getXtime(),coupon.getSumPayment());
}
result.put("list",wxCouponService.findCountData(wxCoupon,pageNum,pageSize));
result.put("saleHistory",saleMap);
result.put("paymentHistory",payMentMap);
result.put("saleCardCount",wxCouponService.findSaleCardCount(wxCoupon));
result.put("tranCount",wxCouponService.findTranCardCount(wxCoupon));
result.put("subsidyCount",wxCouponService.findSubsidyMoney(wxCoupon));

return new ResultData(result);
}


public static Map<String,Integer> getDateMap(Date begin, Date end) { public static Map<String,Integer> getDateMap(Date begin, Date end) {
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
Map<String,Integer> map = new LinkedHashMap<>(); Map<String,Integer> map = new LinkedHashMap<>();


+ 2
- 0
mallinkService/src/main/java/com/iformall/domain/po/BaseMsg.java Просмотреть файл

@@ -1,5 +1,6 @@
package com.iformall.domain.po; package com.iformall.domain.po;


import javax.persistence.Transient;
import java.io.Serializable; import java.io.Serializable;


/** /**
@@ -22,6 +23,7 @@ public class BaseMsg implements Serializable {
private String statusMessage; private String statusMessage;


//延迟消息1s,5s,10s,30s,1m,2m,3m,4m,5m,6m,7m,8m,9m,10m,20m,30m,1h,2h //延迟消息1s,5s,10s,30s,1m,2m,3m,4m,5m,6m,7m,8m,9m,10m,20m,30m,1h,2h
@Transient
private Integer delayTimeLevel = 0; private Integer delayTimeLevel = 0;


public Integer getDelayTimeLevel() { public Integer getDelayTimeLevel() {


+ 10
- 9
mallinkService/src/main/java/com/iformall/domain/po/WxCoupon.java Просмотреть файл

@@ -59,16 +59,11 @@ public class WxCoupon implements Serializable {
private String subsidyNumStr; private String subsidyNumStr;


@Transient @Transient
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date startdate; private Date startdate;


@Transient @Transient
@DateTimeFormat(pattern = "yyyy-MM-dd")
private Date enddate; private Date enddate;


@Transient
private String xtime;

/**租户ID**/ /**租户ID**/
@io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId")
private String tenantId; private String tenantId;
@@ -161,8 +156,12 @@ public class WxCoupon implements Serializable {
@io.swagger.annotations.ApiModelProperty(value="砍价限制时间",name="pressLimitHours") @io.swagger.annotations.ApiModelProperty(value="砍价限制时间",name="pressLimitHours")
private Integer pressLimitHours; private Integer pressLimitHours;


@Transient
private String merchantParams;



//营销分析-----start-----
@Transient
private String xtime;
/**售出卡数量**/ /**售出卡数量**/
@io.swagger.annotations.ApiModelProperty(value="售出卡数量",name="saleCount") @io.swagger.annotations.ApiModelProperty(value="售出卡数量",name="saleCount")
@Transient @Transient
@@ -179,9 +178,11 @@ public class WxCoupon implements Serializable {
@io.swagger.annotations.ApiModelProperty(value="核销金额",name="sumPayment") @io.swagger.annotations.ApiModelProperty(value="核销金额",name="sumPayment")
@Transient @Transient
private Integer sumPayment; private Integer sumPayment;

@Transient
private String merchantParams;
// /**fdsfsd**/
// @io.swagger.annotations.ApiModelProperty(value="核销金额",name="sumPayment")
// @Transient
// private Integer sumPayment;
//营销分析-----end-----


public Long getSaleCount() { public Long getSaleCount() {
return saleCount; return saleCount;


+ 7
- 0
mallinkService/src/main/java/com/iformall/service/WxCouponService.java Просмотреть файл

@@ -36,6 +36,13 @@ public interface WxCouponService {
*/ */
PageInfo<WxCoupon> findCountData(WxCoupon record,Integer pageNum, Integer pageSize); PageInfo<WxCoupon> findCountData(WxCoupon record,Integer pageNum, Integer pageSize);


/**
* 卷列表,包括统计
* @param record
* @return
*/
PageInfo<WxCoupon> findCouponData(WxCoupon record,Integer pageNum, Integer pageSize);

/** /**
* 根据Id获得实体 * 根据Id获得实体
* *


+ 5
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java Просмотреть файл

@@ -349,4 +349,9 @@ public class WxCouponServiceImpl implements WxCouponService {
public Long findSubsidyMoney(WxCoupon wxCoupon) { public Long findSubsidyMoney(WxCoupon wxCoupon) {
return null; return null;
} }

@Override
public PageInfo<WxCoupon> findCouponData(WxCoupon record, Integer pageNum, Integer pageSize) {
return null;
}
} }

+ 29
- 0
mallinkService/src/main/resources/mapper/WxCouponMapper.xml Просмотреть файл

@@ -703,4 +703,33 @@
</if> </if>
group by xtime group by xtime
</select> </select>

<select id="findSaleCardCount" parameterType="com.iformall.domain.po.WxCoupon" resultType="Long">
select count(distinct co.owner_id)
from wx_card_info ci
left join wx_coupon c on c.id = ci.coupon_id
left join wx_coupon_order co on co.id = ci.id
where c.create_date between #{startdate} and #{enddate}
<if test="title != null">
and c.title like concat('%', #{title},'%')
</if>
</select>

<select id="findTranCardCount" parameterType="com.iformall.domain.po.WxCoupon" resultType="Long">
select count(distinct wcs.coupon_order_id) from wx_card_info ci
left join wx_coupon c on c.id = ci.coupon_id
left join wx_card_transfer_info wcs on wcs.coupon_order_id = ci.id
where c.create_date between #{startdate} and #{enddate}
<if test="title != null">
and c.title like concat('%', #{title},'%')
</if>
</select>

<select id="findSubsidyMoney" parameterType="com.iformall.domain.po.WxCoupon" resultType="Long">
select sum(subsidy_num) from wx_coupon c
where c.create_date between #{startdate} and #{enddate}
<if test="title != null">
and c.title like concat('%', #{title},'%')
</if>
</select>
</mapper> </mapper>

Загрузка…
Отмена
Сохранить