winter 1 год назад
Родитель
Сommit
cbbcfc35c5
8 измененных файлов: 144 добавлений и 1 удалений
  1. +73
    -0
      mallinkBApi/src/main/java/com/iformall/controller/WxMallAdminController.java
  2. +7
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCouponOrder.java
  3. +20
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/WxCouponOrderSumVo.java
  4. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponOrderMapper.java
  5. +4
    -0
      mallinkService/src/main/java/com/iformall/service/WxCouponOrderService.java
  6. +0
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxChartServiceImpl.java
  7. +11
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponOrderServiceImpl.java
  8. +27
    -0
      mallinkService/src/main/resources/mapper/WxCouponOrderMapper.xml

+ 73
- 0
mallinkBApi/src/main/java/com/iformall/controller/WxMallAdminController.java Просмотреть файл

@@ -11,6 +11,7 @@ import com.iformall.domain.po.MallUserInfo;
import com.iformall.domain.po.MallUserRole; import com.iformall.domain.po.MallUserRole;
import com.iformall.domain.po.SysConfig; import com.iformall.domain.po.SysConfig;
import com.iformall.domain.po.WxBillAction; import com.iformall.domain.po.WxBillAction;
import com.iformall.domain.po.WxCouponOrder;
import com.iformall.domain.po.WxFlowModel; import com.iformall.domain.po.WxFlowModel;
import com.iformall.domain.po.WxMerchant; import com.iformall.domain.po.WxMerchant;
import com.iformall.domain.po.WxMerchantBUser; import com.iformall.domain.po.WxMerchantBUser;
@@ -20,9 +21,12 @@ import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxBillAll; import com.iformall.domain.vo.WxBillAll;
import com.iformall.domain.vo.WxBillHotNotify; import com.iformall.domain.vo.WxBillHotNotify;
import com.iformall.domain.vo.WxBillSum; import com.iformall.domain.vo.WxBillSum;
import com.iformall.domain.vo.WxCouponOrderSumVo;
import com.iformall.enums.EnumBillAllType; import com.iformall.enums.EnumBillAllType;
import com.iformall.enums.EnumBillOweOrNearType; import com.iformall.enums.EnumBillOweOrNearType;
import com.iformall.enums.EnumBillUpdateType; import com.iformall.enums.EnumBillUpdateType;
import com.iformall.enums.EnumCouponOrderStatus;
import com.iformall.enums.EnumCouponType;
import com.iformall.enums.EnumFilterSettle; import com.iformall.enums.EnumFilterSettle;
import com.iformall.enums.EnumFlowKey; import com.iformall.enums.EnumFlowKey;
import com.iformall.enums.EnumMenuType; import com.iformall.enums.EnumMenuType;
@@ -38,6 +42,7 @@ import com.iformall.service.WxBillActionService;
import com.iformall.service.WxBillAllService; import com.iformall.service.WxBillAllService;
import com.iformall.service.WxBillSettleService; import com.iformall.service.WxBillSettleService;
import com.iformall.service.WxChartDataService; import com.iformall.service.WxChartDataService;
import com.iformall.service.WxCouponOrderService;
import com.iformall.service.WxFlowService; import com.iformall.service.WxFlowService;
import com.iformall.service.WxMerchantService; import com.iformall.service.WxMerchantService;
import com.iformall.service.WxUserDataRuleService; import com.iformall.service.WxUserDataRuleService;
@@ -89,6 +94,8 @@ public class WxMallAdminController extends BaseController {
WxUserDataRuleService wxUserDataRuleService; WxUserDataRuleService wxUserDataRuleService;
@Autowired @Autowired
private WxChartDataService wxChartDataService; private WxChartDataService wxChartDataService;
@Autowired
private WxCouponOrderService wxCouponOrderService;
private WxUserDataRule getCurrentDataFloors(MallUserInfo user) { private WxUserDataRule getCurrentDataFloors(MallUserInfo user) {
@@ -243,4 +250,70 @@ public class WxMallAdminController extends BaseController {
return wxChartDataService.getIndexShopRentData(wxShop); return wxChartDataService.getIndexShopRentData(wxShop);
} }
private void queryCouponOrderSum(Map retMap,String keyPre,WxCouponOrder wxCouponOrder,List<Integer> couponTypes,EnumCouponType couponType,boolean noVerifyed) {
if (null != couponTypes) {
wxCouponOrder.setCouponTypes(couponTypes);
}
if (null != couponType) {
wxCouponOrder.setCouponType(couponType.getCode());
}
WxCouponOrderSumVo sum = wxCouponOrderService.findSum(wxCouponOrder);
if (null != sum) {
retMap.put(keyPre+"Money", sum.getOrderMoneyStr());
retMap.put(keyPre+"Count", sum.getOrderNumber());
if (noVerifyed) {
retMap.put(keyPre+"VerifyedMoney", sum.getOrderMoneyStr());
retMap.put(keyPre+"VerifyedCount", sum.getOrderNumber());
}else {
wxCouponOrder.setCouponOrderStatus(EnumCouponOrderStatus.COUPON_ORDER_USED.getCode());
WxCouponOrderSumVo couponVerifyedSum = wxCouponOrderService.findSum(wxCouponOrder);
if (null != couponVerifyedSum) {
retMap.put(keyPre+"VerifyedMoney", couponVerifyedSum.getOrderMoneyStr());
retMap.put(keyPre+"VerifyedCount", couponVerifyedSum.getOrderNumber());
}else {
retMap.put(keyPre+"VerifyedMoney", "0");
retMap.put(keyPre+"VerifyedCount", 0);
}
}
}else {
retMap.put(keyPre+"Money", "0");
retMap.put(keyPre+"Count", 0);
retMap.put(keyPre+"VerifyedMoney", "0");
retMap.put(keyPre+"VerifyedCount", 0);
}
}
//营销汇总
@GetMapping("sales")
public ResultData sales(@ModelAttribute WxCouponOrder wxCouponOrder) {
setQueryDataRule(wxCouponOrder);
Map retMap = new HashMap();
//券
List<Integer> couponTypes = new ArrayList<Integer>();
couponTypes.add(EnumCouponType.COUPON_MANJIAN.getCode());
couponTypes.add(EnumCouponType.COUPON_DAIJIN.getCode());
couponTypes.add(EnumCouponType.COUPON_LIPIN.getCode());
couponTypes.add(EnumCouponType.COUPON_MULTIMCH.getCode());
couponTypes.add(EnumCouponType.COUPON_PREORDER.getCode());
couponTypes.add(EnumCouponType.COUPON_DISTRIBUTION.getCode());
couponTypes.add(EnumCouponType.COUPON_GIFT.getCode());
queryCouponOrderSum(retMap, "coupon", wxCouponOrder, couponTypes, null, false);
//卡
queryCouponOrderSum(retMap, "card", wxCouponOrder, null, EnumCouponType.CARD_MULTIMCH, true);
//拼团
queryCouponOrderSum(retMap, "group", wxCouponOrder, null, EnumCouponType.COUPON_GROUP, false);
//砍价
queryCouponOrderSum(retMap, "press", wxCouponOrder, null, EnumCouponType.COUPON_PRESS, false);
//停车券
queryCouponOrderSum(retMap, "park", wxCouponOrder, null, EnumCouponType.COUPON_TINGCHE, false);
return new ResultData(retMap);
}

} }

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

@@ -206,5 +206,12 @@ public class WxCouponOrder extends TenantEntity {
@TableField(exist = false) @TableField(exist = false)
private String couponTenantId; private String couponTenantId;
@TableField(exist = false)
private List<Integer> couponTypes;
@TableField(exist = false)
private Long startCreateDateTimes;
@TableField(exist = false)
private Long endCreateDateTimes;


} }

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

@@ -0,0 +1,20 @@
package com.iformall.domain.vo;

import java.math.BigDecimal;
import java.math.RoundingMode;

import lombok.Data;

@Data
public class WxCouponOrderSumVo {
private Integer orderMoney;
private String orderMoneyStr;
private Integer orderNumber;
public String getOrderMoneyStr() {
if (null != orderMoney) {
return new BigDecimal(orderMoney).divide(new BigDecimal(100)).setScale(2, RoundingMode.HALF_UP).toPlainString();
}
return "0";
}
}

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

@@ -144,4 +144,6 @@ public interface WxCouponOrderMapper extends CommonMapper<WxCouponOrder, Long> {
List<MonthOrderMapping> verifiedOrderGroupByDate(@Param("tenantId") String tenantId, @Param("year") Integer year); List<MonthOrderMapping> verifiedOrderGroupByDate(@Param("tenantId") String tenantId, @Param("year") Integer year);


BigDecimal sumOrderAmount(@Param("tenantId") String tenantId, @Param("couponOrderStatus") Integer couponOrderStatus, @Param("specificDate") Date specificDate); BigDecimal sumOrderAmount(@Param("tenantId") String tenantId, @Param("couponOrderStatus") Integer couponOrderStatus, @Param("specificDate") Date specificDate);

WxCouponOrderSumVo findSum(WxCouponOrder wxCouponOrder);
} }

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

@@ -242,4 +242,8 @@ public interface WxCouponOrderService {




ResultData sumVerified(WxMerchantBUser bUser, Date startDate, Date endDate); ResultData sumVerified(WxMerchantBUser bUser, Date startDate, Date endDate);
WxCouponOrderSumVo findSum(WxCouponOrder wxCouponOrder);
} }

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

@@ -2476,7 +2476,6 @@ public class WxChartServiceImpl implements WxChartDataService {
private ResultData getSaleCardAnalysis(TenantEntity tenantEntity,Map<String, String> paramsMap, String startdate, String enddate) { private ResultData getSaleCardAnalysis(TenantEntity tenantEntity,Map<String, String> paramsMap, String startdate, String enddate) {
List<TenantEntity> tenantEntitys = wxMallService.getTenantEntitys(tenantEntity); List<TenantEntity> tenantEntitys = wxMallService.getTenantEntitys(tenantEntity);
WxCoupon wxCoupon = new WxCoupon(); WxCoupon wxCoupon = new WxCoupon();

//默认时间本月第一天,截止到当天 //默认时间本月第一天,截止到当天
if (StringUtils.isEmpty(paramsMap.get("startdate"))) { if (StringUtils.isEmpty(paramsMap.get("startdate"))) {
wxCoupon.setStartdate(DateUtils.getFirstDayForCurrMonth()); wxCoupon.setStartdate(DateUtils.getFirstDayForCurrMonth());


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

@@ -3493,4 +3493,15 @@ public class WxCouponOrderServiceImpl implements WxCouponOrderService {
} }
return vo; return vo;
} }

@Override
public WxCouponOrderSumVo findSum(WxCouponOrder wxCouponOrder) {
if (null != wxCouponOrder.getStartTime()) {
wxCouponOrder.setStartCreateDateTimes(wxCouponOrder.getStartTime().getTime());
}
if (null != wxCouponOrder.getEndTime()) {
wxCouponOrder.setEndCreateDateTimes(wxCouponOrder.getEndTime().getTime());
}
return wxCouponOrderMapper.findSum(wxCouponOrder);
}
} }

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

@@ -1239,5 +1239,32 @@
AND DATE_FORMAT( create_date, '%Y-%m-%d' ) = DATE_FORMAT( #{specificDate}, '%Y-%m-%d' ) AND DATE_FORMAT( create_date, '%Y-%m-%d' ) = DATE_FORMAT( #{specificDate}, '%Y-%m-%d' )
</if> </if>
</select> </select>
<resultMap id="SumResultMap" type="com.iformall.domain.vo.WxCouponOrderSumVo">
<result column="order_money" jdbcType="INTEGER" property="orderMoney" />
<result column="order_number" jdbcType="INTEGER" property="orderNumber" />
</resultMap>
<select id="findSum" parameterType="com.iformall.domain.po.WxCouponOrder" resultMap="SumResultMap">
select sum(coupon_price) order_money, count(1) from wx_coupon_order where tenant_id = #{tenantId}
<if test=" null != couponOrderStatus">
AND `coupon_order_status` = #{couponOrderStatus}
</if>
<if test=" null != couponType">
and coupon_type = #{couponType}
</if>
<if test=" null != couponTypes">
and coupon_type in
<foreach collection="couponTypes" index="index" item="ctItem" open="(" separator="," close=")">
#{ctItem}
</foreach>
</if>
<if test="startCreateDateTimes != null">
AND create_date_times &gt;= #{startCreateDateTimes}
</if>
<if test="endCreateDateTimes != null">
AND create_date_times &lt;= #{endCreateDateTimes}
</if>
</select>



</mapper> </mapper>

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