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

//legionActivity

release_toaliyun_real
xiaohu 1 год назад
Родитель
Сommit
eb6d2d6a37
12 измененных файлов: 525 добавлений и 1 удалений
  1. +93
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityNoticeController.java
  2. +25
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/ActivityNoticeBo.java
  3. +26
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/ActivityNoticeVo.java
  4. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderTypeStatistics.java
  5. +36
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityStatistics.java
  6. +2
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityUserStatistics.java
  7. +6
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityOrderMapper.java
  8. +4
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxLegionActivityUserMapper.java
  9. +7
    -0
      mallinkService/src/main/java/com/iformall/service/WxLegionActivityOrderService.java
  10. +206
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java
  11. +58
    -1
      mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml
  12. +60
    -0
      mallinkService/src/main/resources/mapper/WxLegionActivityUserMapper.xml

+ 93
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityNoticeController.java Просмотреть файл

@@ -0,0 +1,93 @@
package com.iformall.controller.market;

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.ApiVersion;
import com.iformall.common.ErrorCode;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.constant.SwaggerConstant;
import com.iformall.controller.base.BaseController;
import com.iformall.domain.po.WxLegionActivity;
import com.iformall.domain.po.WxLegionActivityConfig;
import com.iformall.domain.po.WxLegionActivityMerchantConfig;
import com.iformall.domain.po.WxLegionActivityOrder;
import com.iformall.domain.po.base.BaseEntity.SortField;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.LegionActivityStatistics;
import com.iformall.enums.EnumLegionActivityStatus;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxLegionActivityConfigService;
import com.iformall.service.WxLegionActivityOrderService;
import com.iformall.service.WxLegionActivityService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
* @author alascor
*
*/
@RestController
@RequestMapping("/legionNotic")
@Api(tags = "军团活动看板相关接口")
public class WxLegionActivityNoticeController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxLegionActivityOrderService wxLegionActivityOrderService;

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("查询军团活动数据")
@GetMapping("legionData")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)})
public ResultData getLegionData(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder) {
if(wxLegionActivityOrder.getActivityId() == null){
throw new MallinkException(Result.ERROR,"活动ID不能为空");
}
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
List<LegionActivityStatistics> activityData = wxLegionActivityOrderService.getLegionData(wxLegionActivityOrder);
return new ResultData(activityData);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("导出军团活动数据")
@GetMapping("/exportLegionData")
public void exportLegionData(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder, HttpServletRequest request, HttpServletResponse response) {
if (null == wxLegionActivityOrder) wxLegionActivityOrder = new WxLegionActivityOrder();
if(wxLegionActivityOrder.getActivityId() == null){
throw new MallinkException(Result.ERROR,"活动ID不能为空");
}
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
wxLegionActivityOrderService.exportLegionData(request,response,wxLegionActivityOrder);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("查询军团活动数据")
@GetMapping("legionDaysData")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)})
public ResultData getLegionDaysData(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder) {
if(wxLegionActivityOrder.getActivityId() == null){
throw new MallinkException(Result.ERROR,"活动ID不能为空");
}
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
List<LegionActivityStatistics> activityData = wxLegionActivityOrderService.getLegionDaysData(wxLegionActivityOrder);
return new ResultData(activityData);
}

}

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

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

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

@Data
public class ActivityNoticeBo implements Serializable {

private static final long serialVersionUID = 1L;

//名称
private String name;
//数量
private Integer count;
//百分比
private String percentage;
//序号
private Integer sortNum;

private Double score;

private BigDecimal price;
}

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

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

import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;
import java.text.DecimalFormat;

@Data
public class ActivityNoticeVo implements Serializable {

private static final long serialVersionUID = 1L;

//名称
private String name;
//数量
private Integer count;
//百分比
private String percentage;
//序号
private Integer sortNum;

private Double score;

private BigDecimal price;
}

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

@@ -10,6 +10,8 @@ public class LegionActivityOrderTypeStatistics implements Serializable {
private static final long serialVersionUID = 1L;

private Long cusMerchantId;
private Long cusLegionId;
private Integer orderType;
private String xTime;
private Integer count;
}

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

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

import cn.afterturn.easypoi.excel.annotation.Excel;
import lombok.Data;

import java.io.Serializable;
import java.util.List;

@Data
public class LegionActivityStatistics implements Serializable {

private static final long serialVersionUID = 1L;

private Long legionId;
@Excel(name="军团名称",width = 20,orderNum = "2")
private String legionName;

@Excel(name="售卡数量",width = 20,orderNum = "4")
private Integer userCount;
@Excel(name="签单数量",width = 20,orderNum = "5")
private Integer orderCount;
@Excel(name="带单数量",width = 20,orderNum = "6")
private Integer sellOrderCount;

@Excel(name="售卡积分",width = 20,orderNum = "7")
private Double userScore;
@Excel(name="签单积分",width = 20,orderNum = "8")
private Double orderScore;
@Excel(name="带单积分",width = 20,orderNum = "9")
private Double sellOrderScore;

@Excel(name="总积分",width = 20,orderNum = "11")
private Double totalScore;

private List<ActivityNoticeVo> noticeVoList;
}

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

@@ -10,5 +10,7 @@ public class LegionActivityUserStatistics implements Serializable {
private static final long serialVersionUID = 1L;

private Long merchantId;
private Long LegionId;
private String xTime;
private Integer count;
}

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

@@ -30,7 +30,13 @@ public interface WxLegionActivityOrderMapper extends CommonMapper<WxLegionActivi

List<LegionActivityOrderTypeStatistics> merchantStatistics(WxLegionActivityOrder wxLegionActivityOrder);

List<LegionActivityOrderTypeStatistics> legionStatistics(WxLegionActivityOrder wxLegionActivityOrder);

List<LegionActivityOrderTypeStatistics> legionDateStatistics(WxLegionActivityOrder wxLegionActivityOrder);

List<LegionActivitySellOrder> findOrderUser(WxLegionActivityOrder wxLegionActivityOrder);


}




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

@@ -32,6 +32,10 @@ public interface WxLegionActivityUserMapper extends CommonMapper<WxLegionActivit
WxLegionActivityUser selectLimitOne(WxLegionActivityUser wxLegionActivityUser);

Integer selectCount(WxLegionActivityUser wxLegionActivityUser);

List<LegionActivityUserStatistics> selectCountGroupLegion(WxLegionActivityUser wxLegionActivityUser);

List<LegionActivityUserStatistics> selectCountGroupLegionDate(WxLegionActivityUser wxLegionActivityUser);
}




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

@@ -8,6 +8,7 @@ import com.iformall.domain.po.WxOfflineActivityRecord;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.LegionActivityMerchantStatistics;
import com.iformall.domain.vo.LegionActivitySellOrder;
import com.iformall.domain.vo.LegionActivityStatistics;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@@ -46,4 +47,10 @@ public interface WxLegionActivityOrderService {
void exportActivitySellOrder(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder);

void batchAudiPass(TenantEntity tenantEntity, List<Long> ids, Long userId);

List<LegionActivityStatistics> getLegionData(WxLegionActivityOrder wxLegionActivityOrder);

void exportLegionData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder);

List<LegionActivityStatistics> getLegionDaysData(WxLegionActivityOrder wxLegionActivityOrder);
}

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

@@ -15,6 +15,7 @@ import com.iformall.enums.*;
import com.iformall.exception.MallinkException;
import com.iformall.mapper.*;
import com.iformall.service.*;
import com.iformall.utils.DateUtils;
import jodd.util.StringUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -684,6 +685,211 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
}
wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(syncOrders);
}

@Override
public List<LegionActivityStatistics> getLegionData(WxLegionActivityOrder wxLegionActivityOrder) {
WxLegionActivity activity = wxLegionActivityMapper.selectById(wxLegionActivityOrder.getActivityId(), wxLegionActivityOrder.getTenantId());
if(activity == null){
throw new MallinkException(Result.ERROR,"未查询到活动");
}
//军团
WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig();
legionConfigQ.updateTenantInfo(wxLegionActivityOrder);
legionConfigQ.setActivityId(wxLegionActivityOrder.getActivityId());
legionConfigQ.setParentId(0L);
Map<Long, String> legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ);

//军团用户
WxLegionActivityUser userQ = new WxLegionActivityUser();
userQ.updateTenantInfo(activity);
userQ.setActivityId(activity.getId());
userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode());
userQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin());
userQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd());
List<LegionActivityUserStatistics> legionCountList = wxLegionActivityUserMapper.selectCountGroupLegion(userQ);
Map<Long, Integer> legionCountMap = new HashMap<>();
if(legionCountList != null && !legionCountList.isEmpty()){
legionCountMap = legionCountList.stream().collect(Collectors.toMap(LegionActivityUserStatistics::getLegionId, LegionActivityUserStatistics::getCount));
}

//军团订单
WxLegionActivityOrder orderQ = new WxLegionActivityOrder();
orderQ.updateTenantInfo(activity);
orderQ.setActivityId(activity.getId());
orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode());
orderQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin());
orderQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd());
List<LegionActivityOrderTypeStatistics> legionStatistics = wxLegionActivityOrderMapper.legionStatistics(orderQ);
Map<Long, List<LegionActivityOrderTypeStatistics>> legionStatisticsMap = new HashMap<>();
if(legionStatistics != null && !legionStatistics.isEmpty()){
legionStatisticsMap = legionStatistics.stream().collect(groupingBy(LegionActivityOrderTypeStatistics::getCusLegionId));
}

List<LegionActivityStatistics> legionStatisticsList = new ArrayList<>();
for (Long legionId : legionConfigMap.keySet()) {
LegionActivityStatistics legionS = new LegionActivityStatistics();
legionS.setLegionId(legionId);
legionS.setLegionName(legionConfigMap.get(legionId));
Integer userCount = legionCountMap.get(legionId)==null?0:legionCountMap.get(legionId);
legionS.setUserCount(userCount);
Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0;
if(legionStatisticsMap.get(legionId) != null){
for(LegionActivityOrderTypeStatistics statistics : legionStatisticsMap.get(legionId)){
if(EnumLegionActivityOrderType.SIGN_ORDER.getCode().equals(statistics.getOrderType())){
sign_order = statistics.getCount();
}else if (EnumLegionActivityOrderType.DIF_LEGION.getCode().equals(statistics.getOrderType())){
dif_legion = statistics.getCount();
}else if(EnumLegionActivityOrderType.DIF_UNION.getCode().equals(statistics.getOrderType())){
dif_union = statistics.getCount();
}else if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(statistics.getOrderType())){
eq_union = statistics.getCount();
}else if(EnumLegionActivityOrderType.NOT_UNION.getCode().equals(statistics.getOrderType())){
not_union = statistics.getCount();
}
}
}
//签单=总订单数
Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union;
legionS.setOrderCount(order_count);
//带单
legionS.setSellOrderCount(dif_legion+dif_union+eq_union+not_union);

legionS.setUserScore(userCount*activity.getSellingCard());
legionS.setOrderScore(order_count*activity.getSignOrder());
legionS.setSellOrderScore(dif_legion*activity.getDifLegionOrder()+dif_union*activity.getDifUnionOrder()
+eq_union*activity.getEqUnionOrder()+not_union*activity.getNotUnionOrder());

Double total_score = legionS.getUserScore() + legionS.getOrderScore() + legionS.getSellOrderScore();
legionS.setTotalScore(total_score);

legionStatisticsList.add(legionS);
}

return legionStatisticsList;
}

@Override
public void exportLegionData(HttpServletRequest request, HttpServletResponse response, WxLegionActivityOrder wxLegionActivityOrder) {
List<LegionActivityStatistics> legionData = getLegionData(wxLegionActivityOrder);
excelService.exportExcel(legionData, null, "军团活动数据", LegionActivityStatistics.class, "军团活动数据.xlsx", response, false);
}

@Override
public List<LegionActivityStatistics> getLegionDaysData(WxLegionActivityOrder wxLegionActivityOrder) {
WxLegionActivity activity = wxLegionActivityMapper.selectById(wxLegionActivityOrder.getActivityId(), wxLegionActivityOrder.getTenantId());
if(activity == null){
throw new MallinkException(Result.ERROR,"未查询到活动");
}
//军团
WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig();
legionConfigQ.updateTenantInfo(wxLegionActivityOrder);
legionConfigQ.setActivityId(wxLegionActivityOrder.getActivityId());
legionConfigQ.setParentId(0L);
Map<Long, String> legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ);

if(wxLegionActivityOrder.getCreateDateBegin() == null || wxLegionActivityOrder.getCreateDateBegin().before(activity.getStartTime())){
wxLegionActivityOrder.setCreateDateBegin(activity.getStartTime());
}
if(wxLegionActivityOrder.getCreateDateEnd() == null || wxLegionActivityOrder.getCreateDateEnd().after(activity.getEndTime())){
wxLegionActivityOrder.setCreateDateEnd(activity.getEndTime());
}
Date now = new Date();
if(wxLegionActivityOrder.getCreateDateEnd().after(now)){
wxLegionActivityOrder.setCreateDateEnd(now);
}
List<LegionActivityStatistics> legionStatisticsList = new ArrayList<>();
if(wxLegionActivityOrder.getCreateDateBegin().after(wxLegionActivityOrder.getCreateDateEnd())){
for (Long legionId : legionConfigMap.keySet()) {
LegionActivityStatistics legionS = new LegionActivityStatistics();
legionS.setLegionId(legionId);
legionS.setLegionName(legionConfigMap.get(legionId));
legionStatisticsList.add(legionS);
}
return legionStatisticsList;
}

List<String> tjTimeList = DateUtils.getTjTimeList(DateUtils.date2String(wxLegionActivityOrder.getCreateDateBegin(),"yyyy-MM-dd"),
DateUtils.date2String(wxLegionActivityOrder.getCreateDateEnd(),"yyyy-MM-dd"), "0");

//军团用户
WxLegionActivityUser userQ = new WxLegionActivityUser();
userQ.updateTenantInfo(activity);
userQ.setActivityId(activity.getId());
userQ.setStatus(EnumLegionActivityUserStatus.VALID.getCode());
userQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin());
userQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd());
List<LegionActivityUserStatistics> legionCountList = wxLegionActivityUserMapper.selectCountGroupLegionDate(userQ);
Map<Long, List<LegionActivityUserStatistics>> legionCountMap = new HashMap<>();
if(legionCountList != null && !legionCountList.isEmpty()){
legionCountMap = legionCountList.stream().collect(groupingBy(LegionActivityUserStatistics::getLegionId));
}

//军团订单
WxLegionActivityOrder orderQ = new WxLegionActivityOrder();
orderQ.updateTenantInfo(activity);
orderQ.setActivityId(activity.getId());
orderQ.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode());
orderQ.setCreateDateBegin(wxLegionActivityOrder.getCreateDateBegin());
orderQ.setCreateDateEnd(wxLegionActivityOrder.getCreateDateEnd());
List<LegionActivityOrderTypeStatistics> legionStatistics = wxLegionActivityOrderMapper.legionDateStatistics(orderQ);
Map<Long, List<LegionActivityOrderTypeStatistics>> legionStatisticsMap = new HashMap<>();
if(legionStatistics != null && !legionStatistics.isEmpty()){
legionStatisticsMap = legionStatistics.stream().collect(groupingBy(LegionActivityOrderTypeStatistics::getCusLegionId));
}

for (Long legionId : legionConfigMap.keySet()) {
LegionActivityStatistics legionS = new LegionActivityStatistics();
legionS.setLegionId(legionId);
legionS.setLegionName(legionConfigMap.get(legionId));
List<LegionActivityUserStatistics> legionDateCountList = legionCountMap.get(legionId);
Map<String, Integer> legionDateCountMap = new HashMap<>();
if(legionDateCountList != null && !legionDateCountList.isEmpty()){
legionDateCountMap = legionDateCountList.stream().collect(Collectors.toMap(LegionActivityUserStatistics::getXTime, LegionActivityUserStatistics::getCount));
}
List<LegionActivityOrderTypeStatistics> legionOrderDateList = legionStatisticsMap.get(legionId);
Map<String, List<LegionActivityOrderTypeStatistics>> legionOrderDateMap = new HashMap<>();
if(legionOrderDateList != null && !legionOrderDateList.isEmpty()){
legionOrderDateMap = legionOrderDateList.stream().collect(groupingBy(LegionActivityOrderTypeStatistics::getXTime));
}
List<ActivityNoticeVo> activityNoticeVoList = new ArrayList<>();
for (String date : tjTimeList) {
Integer userCount = legionDateCountMap.get(date)==null?0:legionDateCountMap.get(date);

Integer sign_order = 0,dif_legion = 0,dif_union = 0,eq_union = 0,not_union = 0;
if(legionOrderDateMap.get(date) != null){
for(LegionActivityOrderTypeStatistics statistics : legionOrderDateMap.get(date)){
if(EnumLegionActivityOrderType.SIGN_ORDER.getCode().equals(statistics.getOrderType())){
sign_order = statistics.getCount();
}else if (EnumLegionActivityOrderType.DIF_LEGION.getCode().equals(statistics.getOrderType())){
dif_legion = statistics.getCount();
}else if(EnumLegionActivityOrderType.DIF_UNION.getCode().equals(statistics.getOrderType())){
dif_union = statistics.getCount();
}else if(EnumLegionActivityOrderType.EQ_UNION.getCode().equals(statistics.getOrderType())){
eq_union = statistics.getCount();
}else if(EnumLegionActivityOrderType.NOT_UNION.getCode().equals(statistics.getOrderType())){
not_union = statistics.getCount();
}
}
}
//签单=总订单数
Integer order_count = sign_order+dif_legion+dif_union+eq_union+not_union;
//带单
// Integer sell_order_count = dif_legion+dif_union+eq_union+not_union;
//总分
Double total_score = userCount*activity.getSellingCard()+order_count*activity.getSignOrder()
+dif_legion*activity.getDifLegionOrder()+dif_union*activity.getDifUnionOrder()
+eq_union*activity.getEqUnionOrder()+not_union*activity.getNotUnionOrder();

ActivityNoticeVo noticeVo = new ActivityNoticeVo();
noticeVo.setName(date.substring(5).replace("-", "/"));
noticeVo.setScore(total_score);
activityNoticeVoList.add(noticeVo);
}
legionS.setNoticeVoList(activityNoticeVoList);
legionStatisticsList.add(legionS);
}
return legionStatisticsList;
}
}




+ 58
- 1
mallinkService/src/main/resources/mapper/WxLegionActivityOrderMapper.xml Просмотреть файл

@@ -288,7 +288,64 @@
<if test=" null != auditStatus ">
and `audit_status` = #{auditStatus}
</if>
GROUP BY merchant_id,order_type
GROUP BY cus_merchant_id,order_type
</select>

<select id="legionStatistics" parameterType="com.iformall.domain.po.WxLegionActivityOrder" resultType="com.iformall.domain.vo.LegionActivityOrderTypeStatistics">
SELECT cus_legion_id as 'cusLegionId',
order_type as 'orderType',
count(1) as 'count'
FROM wx_legion_activity_order
where 1 = 1
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != activityId ">
and `activity_id` = #{activityId}
</if>
<if test=" null != createDateBegin">
and `create_date` &gt;= #{createDateBegin}
</if>

<if test=" null != createDateEnd">
and `create_date` &lt;= #{createDateEnd}
</if>
<if test=" null != auditStatus ">
and `audit_status` = #{auditStatus}
</if>
GROUP BY cus_legion_id,order_type
</select>

<select id="legionDateStatistics" parameterType="com.iformall.domain.po.WxLegionActivityOrder" resultType="com.iformall.domain.vo.LegionActivityOrderTypeStatistics">
SELECT cus_legion_id as 'cusLegionId',
order_type as 'orderType',
DATE_FORMAT(create_date,'%Y-%m-%d') as xTime,
count(1) as 'count'
FROM wx_legion_activity_order
where 1 = 1
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != activityId ">
and `activity_id` = #{activityId}
</if>
<if test=" null != createDateBegin">
and `create_date` &gt;= #{createDateBegin}
</if>

<if test=" null != createDateEnd">
and `create_date` &lt;= #{createDateEnd}
</if>
<if test=" null != auditStatus ">
and `audit_status` = #{auditStatus}
</if>
GROUP BY cus_legion_id,order_type,xTime
</select>

<select id="findOrderUser" parameterType="com.iformall.domain.po.WxLegionActivityOrder" resultType="com.iformall.domain.vo.LegionActivitySellOrder">


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

@@ -140,6 +140,65 @@
GROUP BY merchant_id
</select>

<select id="selectCountGroupLegion" parameterType="com.iformall.domain.po.WxLegionActivityUser" resultType="com.iformall.domain.vo.LegionActivityUserStatistics">
SELECT legion_id as 'legionId',
count(1) as 'count'
FROM wx_legion_activity_user
where 1 = 1
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != activityId ">
and `activity_id` = #{activityId}
</if>

<if test=" null != createDateBegin">
and `create_date` &gt;= #{createDateBegin}
</if>

<if test=" null != createDateEnd">
and `create_date` &lt;= #{createDateEnd}
</if>

<if test=" null != status ">
and `status` = #{status}
</if>
GROUP BY legion_id
</select>

<select id="selectCountGroupLegionDate" parameterType="com.iformall.domain.po.WxLegionActivityUser" resultType="com.iformall.domain.vo.LegionActivityUserStatistics">
SELECT legion_id as 'legionId',
DATE_FORMAT(create_date,'%Y-%m-%d') as xTime,
count(1) as 'count'
FROM wx_legion_activity_user
where 1 = 1
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != activityId ">
and `activity_id` = #{activityId}
</if>

<if test=" null != createDateBegin">
and `create_date` &gt;= #{createDateBegin}
</if>

<if test=" null != createDateEnd">
and `create_date` &lt;= #{createDateEnd}
</if>

<if test=" null != status ">
and `status` = #{status}
</if>
GROUP BY legion_id,xTime
</select>

<update id="updateStatus" parameterType="com.iformall.domain.po.WxLegionActivityUser">
update wx_legion_activity_user
set `status` = #{status},
@@ -201,4 +260,5 @@
<include refid="dynamicWhereConditions" />
</select>


</mapper>

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