Преглед изворни кода

//activity v.2

release_toaliyun_real
xiaohu пре 1 година
родитељ
комит
dfc21a4bc6
23 измењених фајлова са 1005 додато и 191 уклоњено
  1. +155
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoActivityOrderController.java
  2. +101
    -101
      mallinkBApi/src/main/java/com/iformall/controller/WxOfflineActivityRecordController.java
  3. +106
    -0
      mallinkBApi/src/main/java/com/iformall/controller/WxVtwoActivityOrderController.java
  4. +47
    -7
      mallinkService/src/main/java/com/iformall/domain/po/WxVtwoActivityOrder.java
  5. +1
    -1
      mallinkService/src/main/java/com/iformall/domain/vo/WxVtwoActivityOrderStatistics.java
  6. +1
    -1
      mallinkService/src/main/java/com/iformall/domain/vo/WxVtwoOrderBusinessStatistics.java
  7. +1
    -1
      mallinkService/src/main/java/com/iformall/domain/vo/WxVtwoOrderCountStatistics.java
  8. +3
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivitySpecialTopicMapper.java
  9. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxVtwoSpecialTopicActivityMapper.java
  10. +7
    -7
      mallinkService/src/main/java/com/iformall/service/WxLegionActivityOfflineConfigService.java
  11. +26
    -0
      mallinkService/src/main/java/com/iformall/service/WxVtwoActivityOrderService.java
  12. +6
    -0
      mallinkService/src/main/java/com/iformall/service/WxVtwoActivitySpecialTopicService.java
  13. +84
    -43
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java
  14. +15
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java
  15. +4
    -7
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java
  16. +320
    -3
      mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityOrderServiceImpl.java
  17. +11
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivitySpecialTopicServiceImpl.java
  18. +27
    -5
      mallinkService/src/main/java/com/iformall/service/impl/WxVtwoAmountGiftActivityServiceImpl.java
  19. +26
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackActivityServiceImpl.java
  20. +27
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java
  21. +8
    -8
      mallinkService/src/main/resources/mapper/WxVtwoActivityOrderMapper.xml
  22. +2
    -1
      mallinkService/src/main/resources/mapper/WxVtwoActivitySpecialTopicMapper.xml
  23. +25
    -0
      mallinkService/src/main/resources/mapper/WxVtwoSpecialTopicActivityMapper.xml

+ 155
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxVtwoActivityOrderController.java Прегледај датотеку

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

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.ApiVersion;
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.WxVtwoActivityOrder;
import com.iformall.domain.po.base.BaseEntity.SortField;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumOfflineActivityRecordStatus;
import com.iformall.service.WxVtwoActivityOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
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.Map;

/**
* @author alascor
*
*/
@RestController
@RequestMapping("/activityOrder")
@Api(description = "线下活动登记相关接口")
public class WxVtwoActivityOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxVtwoActivityOrderService wxVtwoActivityOrderService;

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(@ModelAttribute WxVtwoActivityOrder activityOrder, Integer pageNum, Integer pageSize) {
if (null == activityOrder) activityOrder = new WxVtwoActivityOrder();
TenantEntity tenantInfo = getTenantInfo();
activityOrder.updateTenantInfo(tenantInfo);
activityOrder.setSortColumns(SortField.CreateDate_DESC);
final PageInfo<WxVtwoActivityOrder> page = wxVtwoActivityOrderService.listAsPage(activityOrder, pageNum, pageSize);

return new ResultData(page);
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("新增修改接口")
@PostMapping("saveOrUpdate")
public ResultData saveOrUpdate(@RequestBody WxVtwoActivityOrder activityOrder) {
if(activityOrder.getId() == null){
return new ResultData(Result.ERROR,"id不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
activityOrder.updateTenantInfo(tenantEntity);
wxVtwoActivityOrderService.saveOrUpdate(activityOrder);
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("获取待审批数量")
@GetMapping("waitAudiCount")
public ResultData waitAudiCount() {
Integer waitAudiCount = wxVtwoActivityOrderService.getWaitAudiCount(getTenantInfo());
return new ResultData(waitAudiCount);
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("导出")
@GetMapping("/export")
public void export(@ModelAttribute WxVtwoActivityOrder activityOrder, HttpServletRequest request, HttpServletResponse response) {
if (null == activityOrder) activityOrder = new WxVtwoActivityOrder();
TenantEntity tenantInfo = getTenantInfo();
activityOrder.updateTenantInfo(tenantInfo);
activityOrder.setSortColumns(SortField.CreateDate_DESC);
wxVtwoActivityOrderService.exportData(request,response,activityOrder);
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("审核通过")
@PostMapping("audiPass")
public ResultData audiPass(@RequestBody WxVtwoActivityOrder activityOrder) {

if(activityOrder.getId() == null){
return new ResultData(Result.ERROR,"id 不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
activityOrder.updateTenantInfo(tenantEntity);
activityOrder.setAuditStatus(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode());
wxVtwoActivityOrderService.auditRecord(activityOrder,getUserId());
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("审核驳回")
@PostMapping("audtFail")
public ResultData audtFail(@RequestBody WxVtwoActivityOrder activityOrder) {
if(activityOrder.getId() == null){
return new ResultData(Result.ERROR,"id 不能为空");
}

if(StringUtils.isBlank(activityOrder.getAuditRemark())){
return new ResultData(Result.ERROR,"驳回意见不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
activityOrder.updateTenantInfo(tenantEntity);
activityOrder.setAuditStatus(EnumOfflineActivityRecordStatus.AUDT_FAIL.getCode());
wxVtwoActivityOrderService.auditRecord(activityOrder,getUserId());
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("失效")
@PostMapping("invalid")
public ResultData invalid(@RequestBody WxVtwoActivityOrder activityOrder) {
if(activityOrder == null){
return new ResultData(Result.ERROR,"id 不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
activityOrder.updateTenantInfo(tenantEntity);
activityOrder.setAuditStatus(EnumOfflineActivityRecordStatus.INVALID.getCode());
wxVtwoActivityOrderService.auditRecord(activityOrder,getUserId());
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("查询详情")
@GetMapping("getInfoById")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)})
public ResultData getInfoById(Long id) {
TenantEntity tenantInfo = getTenantInfo();
WxVtwoActivityOrder activityOrder = wxVtwoActivityOrderService.getInfoById(id, tenantInfo.getTenantId());
return new ResultData(activityOrder);
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("订单相关统计")
@GetMapping("statistics")
public ResultData statistics() {
Map<String,Object> statisticsMap = wxVtwoActivityOrderService.orderStatistics(getTenantInfo());
return new ResultData(statisticsMap);
}

}

+ 101
- 101
mallinkBApi/src/main/java/com/iformall/controller/WxOfflineActivityRecordController.java Прегледај датотеку

@@ -1,101 +1,101 @@
package com.iformall.controller;
import com.github.pagehelper.PageInfo;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxOfflineActivityRecord;
import com.iformall.domain.po.base.BaseEntity.SortField;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumOfflineActivityRecordStatus;
import com.iformall.exception.MallinkException;
import com.iformall.service.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Map;
/**
* @author alascor
*
*/
@RestController
@RequestMapping("/api/offlineRecord")
@Api(description = "线下活动登记相关接口")
public class WxOfflineActivityRecordController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
private WxOfflineActivityRecordService wxOfflineActivityRecordService;
@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(@ModelAttribute WxOfflineActivityRecord wxOfflineActivityRecord, Integer pageNum, Integer pageSize) {
if (null == wxOfflineActivityRecord) wxOfflineActivityRecord = new WxOfflineActivityRecord();
TenantEntity tenantInfo = getTenantInfo();
wxOfflineActivityRecord.updateTenantInfo(tenantInfo);
wxOfflineActivityRecord.setSortColumns(SortField.CreateDate_DESC);
wxOfflineActivityRecord.setMerchantId(getLoginBUser().getMerchantId());
final PageInfo<WxOfflineActivityRecord> page = wxOfflineActivityRecordService.listAsPage(wxOfflineActivityRecord, pageNum, pageSize);
return new ResultData(page);
}
@ApiOperation("新增修改接口")
@PostMapping("saveOrUpdate")
public ResultData saveOrUpdate(@RequestBody WxOfflineActivityRecord wxOfflineActivityRecord) {
if(StringUtils.isBlank(wxOfflineActivityRecord.getCusPhone())){
return new ResultData(Result.ERROR,"客户手机号不能为空");
}
if (null == wxOfflineActivityRecord.getOrderMoney() ) {
return new ResultData(Result.ERROR,"订单金额不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
wxOfflineActivityRecord.updateTenantInfo(tenantEntity);
if(wxOfflineActivityRecord.getId() != null){
WxOfflineActivityRecord record = wxOfflineActivityRecordService.getById(wxOfflineActivityRecord.getId(),wxOfflineActivityRecord.getTenantId());
if(!EnumOfflineActivityRecordStatus.AUDT_FAIL.getCode().equals(record.getAuditStatus())){
throw new MallinkException(Result.ERROR,"订单状态不允许修改");
}
wxOfflineActivityRecord.setAuditRemark("");
}
wxOfflineActivityRecord.setCreateBy(getMerchantBUserId());
wxOfflineActivityRecord.setMerchantId(getLoginBUser().getMerchantId());
wxOfflineActivityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode());
wxOfflineActivityRecordService.saveOrUpdate(wxOfflineActivityRecord);
return new ResultData();
}
@ApiOperation("查询当前信息详情")
@GetMapping("getInfoById")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)})
public ResultData getInfoById(Long id) {
TenantEntity tenantInfo = getTenantInfo();
WxOfflineActivityRecord activity = wxOfflineActivityRecordService.getById(id, tenantInfo.getTenantId());
return new ResultData(activity);
}
@ApiOperation("查询当前信息统计")
@GetMapping("statistics")
public ResultData statisticsCount(@ModelAttribute WxOfflineActivityRecord wxOfflineActivityRecord) {
TenantEntity tenantInfo = getTenantInfo();
wxOfflineActivityRecord.updateTenantInfo(tenantInfo);
wxOfflineActivityRecord.setMerchantId(getLoginBUser().getMerchantId());
Map<String,Integer> statisticsMap = wxOfflineActivityRecordService.getStatistics(wxOfflineActivityRecord);
return new ResultData(statisticsMap);
}
}
//package com.iformall.controller;
//
//import com.github.pagehelper.PageInfo;
//import com.iformall.common.Result;
//import com.iformall.common.ResultData;
//import com.iformall.domain.po.WxOfflineActivityRecord;
//import com.iformall.domain.po.base.BaseEntity.SortField;
//import com.iformall.domain.po.base.TenantEntity;
//import com.iformall.enums.EnumOfflineActivityRecordStatus;
//import com.iformall.exception.MallinkException;
//import com.iformall.service.*;
//import io.swagger.annotations.Api;
//import io.swagger.annotations.ApiImplicitParam;
//import io.swagger.annotations.ApiImplicitParams;
//import io.swagger.annotations.ApiOperation;
//import org.apache.commons.lang3.StringUtils;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.web.bind.annotation.*;
//
//import java.util.Map;
//
///**
// * @author alascor
// *
// */
//@RestController
//@RequestMapping("/api/offlineRecord")
//@Api(description = "线下活动登记相关接口")
//public class WxOfflineActivityRecordController extends BaseController {
// private final Logger logger = LoggerFactory.getLogger(this.getClass());
//
// @Autowired
// private WxOfflineActivityRecordService wxOfflineActivityRecordService;
//
//
// @ApiOperation("分页列表接口")
// @GetMapping("list")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
// @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
// public ResultData list(@ModelAttribute WxOfflineActivityRecord wxOfflineActivityRecord, Integer pageNum, Integer pageSize) {
// if (null == wxOfflineActivityRecord) wxOfflineActivityRecord = new WxOfflineActivityRecord();
// TenantEntity tenantInfo = getTenantInfo();
// wxOfflineActivityRecord.updateTenantInfo(tenantInfo);
// wxOfflineActivityRecord.setSortColumns(SortField.CreateDate_DESC);
// wxOfflineActivityRecord.setMerchantId(getLoginBUser().getMerchantId());
// final PageInfo<WxOfflineActivityRecord> page = wxOfflineActivityRecordService.listAsPage(wxOfflineActivityRecord, pageNum, pageSize);
// return new ResultData(page);
// }
//
// @ApiOperation("新增修改接口")
// @PostMapping("saveOrUpdate")
// public ResultData saveOrUpdate(@RequestBody WxOfflineActivityRecord wxOfflineActivityRecord) {
// if(StringUtils.isBlank(wxOfflineActivityRecord.getCusPhone())){
// return new ResultData(Result.ERROR,"客户手机号不能为空");
// }
// if (null == wxOfflineActivityRecord.getOrderMoney() ) {
// return new ResultData(Result.ERROR,"订单金额不能为空");
// }
// TenantEntity tenantEntity = getTenantInfo();
// wxOfflineActivityRecord.updateTenantInfo(tenantEntity);
//
// if(wxOfflineActivityRecord.getId() != null){
// WxOfflineActivityRecord record = wxOfflineActivityRecordService.getById(wxOfflineActivityRecord.getId(),wxOfflineActivityRecord.getTenantId());
// if(!EnumOfflineActivityRecordStatus.AUDT_FAIL.getCode().equals(record.getAuditStatus())){
// throw new MallinkException(Result.ERROR,"订单状态不允许修改");
// }
// wxOfflineActivityRecord.setAuditRemark("");
// }
// wxOfflineActivityRecord.setCreateBy(getMerchantBUserId());
// wxOfflineActivityRecord.setMerchantId(getLoginBUser().getMerchantId());
// wxOfflineActivityRecord.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode());
// wxOfflineActivityRecordService.saveOrUpdate(wxOfflineActivityRecord);
// return new ResultData();
// }
//
// @ApiOperation("查询当前信息详情")
// @GetMapping("getInfoById")
// @ApiImplicitParams({
// @ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)})
// public ResultData getInfoById(Long id) {
// TenantEntity tenantInfo = getTenantInfo();
// WxOfflineActivityRecord activity = wxOfflineActivityRecordService.getById(id, tenantInfo.getTenantId());
// return new ResultData(activity);
// }
//
// @ApiOperation("查询当前信息统计")
// @GetMapping("statistics")
// public ResultData statisticsCount(@ModelAttribute WxOfflineActivityRecord wxOfflineActivityRecord) {
// TenantEntity tenantInfo = getTenantInfo();
// wxOfflineActivityRecord.updateTenantInfo(tenantInfo);
// wxOfflineActivityRecord.setMerchantId(getLoginBUser().getMerchantId());
// Map<String,Integer> statisticsMap = wxOfflineActivityRecordService.getStatistics(wxOfflineActivityRecord);
// return new ResultData(statisticsMap);
// }
//
//
//
//}

+ 106
- 0
mallinkBApi/src/main/java/com/iformall/controller/WxVtwoActivityOrderController.java Прегледај датотеку

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

import com.github.pagehelper.PageInfo;
import com.iformall.annotation.ApiVersion;
import com.iformall.common.Result;
import com.iformall.common.ResultData;
import com.iformall.constant.SwaggerConstant;
import com.iformall.domain.po.WxVtwoActivityOrder;
import com.iformall.domain.po.base.BaseEntity.SortField;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumOfflineActivityRecordStatus;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxVtwoActivityOrderService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Map;

/**
* @author alascor
*
*/
@RestController
@RequestMapping("/api/offlineRecord")
@Api(description = "线下活动订单相关接口")
public class WxVtwoActivityOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxVtwoActivityOrderService wxVtwoActivityOrderService;

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
@ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)})
public ResultData list(@ModelAttribute WxVtwoActivityOrder activityOrder, Integer pageNum, Integer pageSize) {
if (null == activityOrder) activityOrder = new WxVtwoActivityOrder();
TenantEntity tenantInfo = getTenantInfo();
activityOrder.updateTenantInfo(tenantInfo);
activityOrder.setSortColumns(SortField.CreateDate_DESC);
activityOrder.setMerchantId(getLoginBUser().getMerchantId());
final PageInfo<WxVtwoActivityOrder> page = wxVtwoActivityOrderService.listAsPage(activityOrder, pageNum, pageSize);
return new ResultData(page);
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("新增修改接口")
@PostMapping("saveOrUpdate")
public ResultData saveOrUpdate(@RequestBody WxVtwoActivityOrder activityOrder) {
if(StringUtils.isBlank(activityOrder.getCusPhone())){
return new ResultData(Result.ERROR,"客户手机号不能为空");
}
if (null == activityOrder.getOrderMoney() ) {
return new ResultData(Result.ERROR,"订单金额不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
activityOrder.updateTenantInfo(tenantEntity);

if(activityOrder.getId() != null){
WxVtwoActivityOrder record = wxVtwoActivityOrderService.getById(activityOrder.getId(),activityOrder.getTenantId());
if(!EnumOfflineActivityRecordStatus.AUDT_FAIL.getCode().equals(record.getAuditStatus())){
throw new MallinkException(Result.ERROR,"订单状态不允许修改");
}
activityOrder.setAuditRemark("");
}
activityOrder.setCreateBy(getMerchantBUserId());
activityOrder.setMerchantId(getLoginBUser().getMerchantId());
activityOrder.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode());
wxVtwoActivityOrderService.saveOrUpdate(activityOrder);
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("查询当前信息详情")
@GetMapping("getInfoById")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)})
public ResultData getInfoById(Long id) {
TenantEntity tenantInfo = getTenantInfo();
WxVtwoActivityOrder activityOrder = wxVtwoActivityOrderService.getById(id, tenantInfo.getTenantId());
return new ResultData(activityOrder);
}

@ApiVersion(group = SwaggerConstant.V_A_2_0)
@ApiOperation("查询当前信息统计")
@GetMapping("statistics")
public ResultData statisticsCount(@ModelAttribute WxVtwoActivityOrder activityOrder) {
TenantEntity tenantInfo = getTenantInfo();
activityOrder.updateTenantInfo(tenantInfo);
activityOrder.setMerchantId(getLoginBUser().getMerchantId());
Map<String,Integer> statisticsMap = wxVtwoActivityOrderService.getStatistics(activityOrder);
return new ResultData(statisticsMap);
}

}

+ 47
- 7
mallinkService/src/main/java/com/iformall/domain/po/WxVtwoActivityOrder.java Прегледај датотеку

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

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.alibaba.fastjson.JSON;
import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
@@ -34,12 +36,14 @@ public class WxVtwoActivityOrder extends TenantEntity {
/**
* 会员卡号
*/
@Excel(name = "Vip卡号", width = 20, orderNum = "17")
@TableField(value = "vip_num")
private String vipNum;

/**
* 客户姓名
*/
@Excel(name = "客户姓名", width = 20, orderNum = "15")
@TableField(value = "cus_name")
private String cusName;

@@ -52,6 +56,7 @@ public class WxVtwoActivityOrder extends TenantEntity {
/**
* 客户电话
*/
@Excel(name = "客户电话", width = 20, orderNum = "16")
@TableField(value = "cus_phone")
private String cusPhone;

@@ -64,6 +69,7 @@ public class WxVtwoActivityOrder extends TenantEntity {
/**
* 客户地址
*/
@Excel(name = "订单地址", width = 20, orderNum = "4")
@TableField(value = "cus_address")
private String cusAddress;

@@ -76,6 +82,7 @@ public class WxVtwoActivityOrder extends TenantEntity {
/**
*
*/
@Excel(name = "所属军团", width = 20, orderNum = "18")
@TableField(value = "legion_name")
private String legionName;

@@ -88,6 +95,7 @@ public class WxVtwoActivityOrder extends TenantEntity {
/**
*
*/
@Excel(name = "所属联盟", width = 20, orderNum = "19")
@TableField(value = "union_name")
private String unionName;

@@ -100,14 +108,16 @@ public class WxVtwoActivityOrder extends TenantEntity {
/**
* 订单号
*/
@Excel(name = "订单号", width = 20, orderNum = "1")
@TableField(value = "order_no")
private String orderNo;

/**
* 订单金额
*/
@TableField(value = "order_amount")
private BigDecimal orderAmount;
@Excel(name = "订单金额(元)", width = 20, orderNum = "2")
@TableField(value = "order_money")
private BigDecimal orderMoney;

/**
* 商户编号
@@ -115,10 +125,10 @@ public class WxVtwoActivityOrder extends TenantEntity {
@TableField(value = "merchant_id")
private Long merchantId;

// @Excel(name = "商户名称", width = 20, orderNum = "6")
@Excel(name = "商户名称", width = 20, orderNum = "5")
@TableField(exist = false)
private String merchantName;
// @Excel(name="商铺号",width = 20,orderNum = "7")
@Excel(name="商铺号",width = 20,orderNum = "6")
@TableField(exist = false)
private String shopNumber;

@@ -132,6 +142,7 @@ public class WxVtwoActivityOrder extends TenantEntity {
*/
@TableField(value = "business_id")
private Integer businessId;
@Excel(name="业态",width = 20,orderNum = "7")
@TableField(exist = false)
private String businessName;

@@ -140,28 +151,54 @@ public class WxVtwoActivityOrder extends TenantEntity {
*/
@TableField(value = "lottery_num")
private String lotteryNum;
@TableField(exist = false)
private List<String> lotteryNumList;
public List<String> getLotteryNumList() {
if(StringUtils.isNotBlank(lotteryNum)){
try {
List<String> stringList = JSON.parseArray(lotteryNum, String.class);
stringList.removeIf(String::isEmpty);
lotteryNumList = stringList.isEmpty() ? null : stringList;
}catch(Exception e){}
}
return lotteryNumList;
}

@Excel(name = "抽奖券编码", width = 20, orderNum = "8")
@TableField(exist = false)
private String lotteryNumStr;
public String getLotteryNumStr() {
if(this.getLotteryNumList() != null && !lotteryNumList.isEmpty()){
lotteryNumStr = String.join(",", lotteryNumList);
}
return lotteryNumStr;
}

/**
* 抽奖券数量
*/
@Excel(name = "抽奖券数量", width = 20, orderNum = "9")
@TableField(value = "lottery_count")
private Integer lotteryCount;

/**
* 周年庆抽奖编码
*/
@Excel(name = "周年庆抽奖编码", width = 20, orderNum = "10")
@TableField(value = "anniversary_lottery_num")
private String anniversaryLotteryNum;

/**
* 审批状态
*/
@Excel(name = "订单状态", width = 20, orderNum = "3", replace = {"审核中_0", "已审批_1", "已驳回_2", "已退单_3", "已发奖_10"})
@TableField(value = "audit_status")
private Integer auditStatus;

/**
* 审批意见
*/
@Excel(name = "审核意见", width = 20, orderNum = "14")
@TableField(value = "audit_remark")
private String auditRemark;

@@ -170,16 +207,21 @@ public class WxVtwoActivityOrder extends TenantEntity {
*/
@TableField(value = "audit_by")
private Long auditBy;
@Excel(name = "审核人", width = 20, orderNum = "12")
@TableField(exist = false)
private String auditByName;

/**
* 审核时间
*/
@Excel(name = "提交时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "13")
@TableField(value = "audit_time")
private Date auditTime;

/**
* 积分变动值
*/
@Excel(name = "积分变动值", width = 20, orderNum = "20")
@TableField(value = "increased_points")
private Integer increasedPoints;

@@ -188,13 +230,11 @@ public class WxVtwoActivityOrder extends TenantEntity {
*/
@TableField(value = "create_by")
private Long createBy;
@Excel(name = "审核人", width = 20, orderNum = "14")
@TableField(exist = false)
private String auditByName;

/**
* 创建时间
*/
@Excel(name = "提交时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "11")
@TableField(value = "create_date")
private Date createDate;



+ 1
- 1
mallinkService/src/main/java/com/iformall/domain/vo/WxVtwoActivityOrderStatistics.java Прегледај датотеку

@@ -12,5 +12,5 @@ public class WxVtwoActivityOrderStatistics implements Serializable {

private Integer auditStatus;
private Integer count;
private BigDecimal sumAmount;
private BigDecimal sumMoney;
}

+ 1
- 1
mallinkService/src/main/java/com/iformall/domain/vo/WxVtwoOrderBusinessStatistics.java Прегледај датотеку

@@ -14,7 +14,7 @@ public class WxVtwoOrderBusinessStatistics implements Serializable {
private String businessName;

private Integer businessCount;
private BigDecimal sumAmount;
private BigDecimal sumMoney;

private Double moneyRatio;



+ 1
- 1
mallinkService/src/main/java/com/iformall/domain/vo/WxVtwoOrderCountStatistics.java Прегледај датотеку

@@ -14,6 +14,6 @@ public class WxVtwoOrderCountStatistics implements Serializable {

private Integer userCount;
private Integer orderCount;
private BigDecimal sumAmount;
private BigDecimal sumMoney;
private Integer merchantCount;
}

+ 3
- 0
mallinkService/src/main/java/com/iformall/mapper/WxVtwoActivitySpecialTopicMapper.java Прегледај датотеку

@@ -5,6 +5,7 @@ import com.iformall.domain.po.WxVtwoActivitySpecialTopic;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import io.lettuce.core.dynamic.annotation.Param;

import java.util.Date;
import java.util.List;

/**
@@ -20,6 +21,8 @@ public interface WxVtwoActivitySpecialTopicMapper extends CommonMapper<WxVtwoAct
int selectCreditCount(WxVtwoActivitySpecialTopic specialTopic);

WxVtwoActivitySpecialTopic selectById(@Param("id") Long id, @Param("tenantId")String tenantId);

WxVtwoActivitySpecialTopic selectCreditOne(@Param("tenantId")String tenantId,@Param("creditOnOff") Integer id, @Param("orderDate") Date orderDate);
}




+ 2
- 0
mallinkService/src/main/java/com/iformall/mapper/WxVtwoSpecialTopicActivityMapper.java Прегледај датотеку

@@ -18,6 +18,8 @@ public interface WxVtwoSpecialTopicActivityMapper extends CommonMapper<WxVtwoSpe
void insertList(@Param("activityList") List<WxVtwoSpecialTopicActivity> activityList);

List<WxVtwoSpecialTopicActivity> findList(WxVtwoSpecialTopicActivity specialTopicActivity);

void updateByActivity(WxVtwoSpecialTopicActivity specialTopicActivity);
}




+ 7
- 7
mallinkService/src/main/java/com/iformall/service/WxLegionActivityOfflineConfigService.java Прегледај датотеку

@@ -1,12 +1,10 @@
package com.iformall.service;

import com.iformall.domain.po.WxLegionActivity;
import com.iformall.domain.po.WxLegionActivityOfflineConfig;
import com.iformall.domain.po.*;
import com.baomidou.mybatisplus.extension.service.IService;
import com.iformall.domain.po.WxLegionActivityOrder;
import com.iformall.domain.po.WxOfflineActivity;

import java.util.List;
import java.util.Map;

/**
* @author xiaohu
@@ -15,11 +13,13 @@ import java.util.List;
*/
public interface WxLegionActivityOfflineConfigService {

void handleOfflineConfig(WxLegionActivity wxLegionActivity);
List<WxOfflineActivity> getOfflineActivityList(WxLegionActivity wxLegionActivity);
// void handleOfflineConfig(WxLegionActivity wxLegionActivity);
//
// List<WxOfflineActivity> getOfflineActivityList(WxLegionActivity wxLegionActivity);

void syncOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder);

void syncOfflineActivityRecord(List<WxLegionActivityOrder> wxLegionActivityOrders);

void syncOfflineActivityOrder(WxLegionActivityUser user, WxLegionActivityOrder legionActivityOrder, Map<Long, String> legionConfigMap);
}

+ 26
- 0
mallinkService/src/main/java/com/iformall/service/WxVtwoActivityOrderService.java Прегледај датотеку

@@ -1,7 +1,14 @@
package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxVtwoActivityOrder;
import com.baomidou.mybatisplus.extension.service.IService;
import com.iformall.domain.po.base.TenantEntity;

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

/**
* @author xiaohu
@@ -10,4 +17,23 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface WxVtwoActivityOrderService extends IService<WxVtwoActivityOrder> {

PageInfo<WxVtwoActivityOrder> listAsPage(WxVtwoActivityOrder record, Integer pageNum, Integer pageSize);

void handlerList(TenantEntity tenantEntity, List<WxVtwoActivityOrder> recordList);

WxVtwoActivityOrder getById(Long id, String tenantId);
WxVtwoActivityOrder getInfoById(Long id, String tenantId);

Map<String, Integer> getStatistics(WxVtwoActivityOrder record);

void auditRecord(WxVtwoActivityOrder record, Long userId);

void saveCreditHistory(WxVtwoActivityOrder record);

Map<String, Object> orderStatistics(TenantEntity tenantInfo);

void exportData(HttpServletRequest request, HttpServletResponse response, WxVtwoActivityOrder record);

Integer getWaitAudiCount(TenantEntity tenantInfo);

}

+ 6
- 0
mallinkService/src/main/java/com/iformall/service/WxVtwoActivitySpecialTopicService.java Прегледај датотеку

@@ -1,8 +1,12 @@
package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxVtwoActivityOrder;
import com.iformall.domain.po.WxVtwoActivitySpecialTopic;
import com.baomidou.mybatisplus.extension.service.IService;
import com.iformall.domain.po.base.TenantEntity;

import java.util.Date;

/**
* @author xiaohu
@@ -16,4 +20,6 @@ public interface WxVtwoActivitySpecialTopicService extends IService<WxVtwoActivi
int selectCreditCount(WxVtwoActivitySpecialTopic specialTopic);

WxVtwoActivitySpecialTopic getInfoById(Long id, String tenantId);

WxVtwoActivitySpecialTopic selectCreditOne(TenantEntity tenantEntity, Date createDate);
}

+ 84
- 43
mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java Прегледај датотеку

@@ -7,11 +7,8 @@ import com.iformall.enums.EnumOfflineActivityRecordStatus;
import com.iformall.mapper.WxLegionActivityOrderMapper;
import com.iformall.mapper.WxOfflineActivityMapper;
import com.iformall.mapper.WxOfflineActivityRecordMapper;
import com.iformall.service.WxLegionActivityOfflineConfigService;
import com.iformall.service.*;
import com.iformall.mapper.WxLegionActivityOfflineConfigMapper;
import com.iformall.service.WxMerchantService;
import com.iformall.service.WxOfflineActivityRecordService;
import com.iformall.service.WxOfflineActivityService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
@@ -27,11 +24,11 @@ import java.util.stream.Collectors;
@Service
public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivityOfflineConfigService{

@Autowired
private WxLegionActivityOfflineConfigMapper wxLegionActivityOfflineConfigMapper;
@Autowired
private WxOfflineActivityMapper wxOfflineActivityMapper;
// @Autowired
// private WxLegionActivityOfflineConfigMapper wxLegionActivityOfflineConfigMapper;
//
// @Autowired
// private WxOfflineActivityMapper wxOfflineActivityMapper;

@Autowired
private WxOfflineActivityRecordMapper wxOfflineActivityRecordMapper;
@@ -40,41 +37,44 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit
private WxOfflineActivityRecordService wxOfflineActivityRecordService;

@Autowired
private WxMerchantService wxMerchantService;

@Override
public void handleOfflineConfig(WxLegionActivity wxLegionActivity) {
wxLegionActivityOfflineConfigMapper.deleteByLegionActivity(wxLegionActivity.getId(),wxLegionActivity.getTenantId());
if(wxLegionActivity.getOfflineActivityList() == null || wxLegionActivity.getOfflineActivityList().isEmpty()){
return;
}
final IdWorker idWorker = IdWorker.get();
List<WxLegionActivityOfflineConfig> legionActivityOfflineConfigList = new ArrayList<>();
for (WxOfflineActivity wxOfflineActivity : wxLegionActivity.getOfflineActivityList()) {
WxLegionActivityOfflineConfig wxLegionActivityOfflineConfig = new WxLegionActivityOfflineConfig();
wxLegionActivityOfflineConfig.setId(idWorker.nextId());
wxLegionActivityOfflineConfig.updateTenantInfo(wxLegionActivity);
wxLegionActivityOfflineConfig.setLegionActivityId(wxLegionActivity.getId());
wxLegionActivityOfflineConfig.setOfflineActivityId(wxOfflineActivity.getId());
legionActivityOfflineConfigList.add(wxLegionActivityOfflineConfig);
}
private WxVtwoActivityOrderService wxVtwoActivityOrderService;

wxLegionActivityOfflineConfigMapper.insertList(legionActivityOfflineConfigList);
}

@Override
public List<WxOfflineActivity> getOfflineActivityList(WxLegionActivity wxLegionActivity) {

List<Long> OfflineActivityIds = wxLegionActivityOfflineConfigMapper.getOfflineActivityIds(wxLegionActivity.getId(),wxLegionActivity.getTenantId());
if(OfflineActivityIds == null || OfflineActivityIds.isEmpty()){
return Collections.emptyList();
}
WxOfflineActivity wxOfflineActivity = new WxOfflineActivity();
wxOfflineActivity.updateTenantInfo(wxLegionActivity);
wxOfflineActivity.setIds(OfflineActivityIds);
@Autowired
private WxMerchantService wxMerchantService;

return wxOfflineActivityMapper.findList(wxOfflineActivity);
}
// @Override
// public void handleOfflineConfig(WxLegionActivity wxLegionActivity) {
// wxLegionActivityOfflineConfigMapper.deleteByLegionActivity(wxLegionActivity.getId(),wxLegionActivity.getTenantId());
// if(wxLegionActivity.getOfflineActivityList() == null || wxLegionActivity.getOfflineActivityList().isEmpty()){
// return;
// }
// final IdWorker idWorker = IdWorker.get();
// List<WxLegionActivityOfflineConfig> legionActivityOfflineConfigList = new ArrayList<>();
// for (WxOfflineActivity wxOfflineActivity : wxLegionActivity.getOfflineActivityList()) {
// WxLegionActivityOfflineConfig wxLegionActivityOfflineConfig = new WxLegionActivityOfflineConfig();
// wxLegionActivityOfflineConfig.setId(idWorker.nextId());
// wxLegionActivityOfflineConfig.updateTenantInfo(wxLegionActivity);
// wxLegionActivityOfflineConfig.setLegionActivityId(wxLegionActivity.getId());
// wxLegionActivityOfflineConfig.setOfflineActivityId(wxOfflineActivity.getId());
// legionActivityOfflineConfigList.add(wxLegionActivityOfflineConfig);
// }
//
// wxLegionActivityOfflineConfigMapper.insertList(legionActivityOfflineConfigList);
// }
//
// @Override
// public List<WxOfflineActivity> getOfflineActivityList(WxLegionActivity wxLegionActivity) {
//
// List<Long> OfflineActivityIds = wxLegionActivityOfflineConfigMapper.getOfflineActivityIds(wxLegionActivity.getId(),wxLegionActivity.getTenantId());
// if(OfflineActivityIds == null || OfflineActivityIds.isEmpty()){
// return Collections.emptyList();
// }
// WxOfflineActivity wxOfflineActivity = new WxOfflineActivity();
// wxOfflineActivity.updateTenantInfo(wxLegionActivity);
// wxOfflineActivity.setIds(OfflineActivityIds);
//
// return wxOfflineActivityMapper.findList(wxOfflineActivity);
// }

@Override
@Transactional(rollbackFor = Exception.class)
@@ -126,7 +126,6 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit

}


private WxOfflineActivityRecord createOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder) {
WxOfflineActivityRecord activityRecord = new WxOfflineActivityRecord();
activityRecord.updateTenantInfo(legionActivityOrder);
@@ -155,6 +154,48 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit
return activityRecord;
}

@Override
public void syncOfflineActivityOrder(WxLegionActivityUser user, WxLegionActivityOrder legionActivityOrder, Map<Long, String> legionConfigMap) {
WxVtwoActivityOrder order = new WxVtwoActivityOrder();
order.updateTenantInfo(legionActivityOrder);
order.setFromUserId(user.getId());
order.setVipNum(user.getVipNum());
order.setCusName(legionActivityOrder.getCusName());
order.setRealCusName(user.getName());
order.setCusPhone(user.getPhone());
order.setCusAddress(legionActivityOrder.getCusAddress());
order.setLegionId(user.getLegionId());
if(order.getLegionId() == null || order.getLegionId() == 0){
order.setLegionName("无军团");
}else{
order.setLegionName(legionConfigMap.get(order.getLegionId()));
}
order.setUnionId(user.getUnionId());
if(order.getUnionId() == null || order.getUnionId() == 0){
order.setUnionName("无联盟");
}else{
order.setUnionName(legionConfigMap.get(order.getUnionId()));
}
order.setFromOrderId(legionActivityOrder.getId());
order.setOrderNo(legionActivityOrder.getOrderNo());
order.setOrderMoney(legionActivityOrder.getOrderMoney());
order.setMerchantId(legionActivityOrder.getMerchantId());
order.setLotteryNum(legionActivityOrder.getLotteryNum());
order.setLotteryCount(legionActivityOrder.getLotteryCount());
order.setAnniversaryLotteryNum(legionActivityOrder.getAnniversaryLotteryNum());
order.setAuditStatus(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode());
order.setAuditRemark(legionActivityOrder.getAuditRemark());
order.setAuditBy(legionActivityOrder.getAuditBy());
order.setAuditTime(legionActivityOrder.getAuditTime());
order.setCreateBy(legionActivityOrder.getCreateBy());
order.setCreateDate(legionActivityOrder.getCreateDate());
order.setUpdateDate(legionActivityOrder.getUpdateDate());

wxVtwoActivityOrderService.saveOrUpdate(order);

wxVtwoActivityOrderService.saveCreditHistory(order);
}

}




+ 15
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOrderServiceImpl.java Прегледај датотеку

@@ -368,8 +368,15 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
Integer upd = wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrder);

if(upd == 1 && EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(wxLegionActivityOrder.getAuditStatus())){

//同步订单
WxLegionActivityOrder legionActivityOrder = wxLegionActivityOrderMapper.selectById(wxLegionActivityOrder.getId(), wxLegionActivityOrder.getTenantId());

WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig();
legionConfigQ.updateTenantInfo(legionActivityOrder);
legionConfigQ.setActivityId(legionActivityOrder.getActivityId());
Map<Long, String> legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ);

WxLegionActivityUser user = wxLegionActivityUserMapper.selectById(legionActivityOrder.getCusId(), legionActivityOrder.getTenantId());
legionActivityOrder.setCusPhone(user.getPhone());
legionActivityOrder.setCusVipNum(user.getVipNum());
@@ -382,7 +389,7 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
legionActivityOrder.setAuditTime(wxLegionActivityOrder.getAuditTime());
legionActivityOrder.setUpdateDate(wxLegionActivityOrder.getUpdateDate());

wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(legionActivityOrder);
wxLegionActivityOfflineConfigService.syncOfflineActivityOrder(user,legionActivityOrder,legionConfigMap);
}

}
@@ -701,6 +708,11 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
wxLegionActivityOrderUpd.setUpdateDate(now);
Integer upd = wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrderUpd);

WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig();
legionConfigQ.updateTenantInfo(syncOrders.get(0));
legionConfigQ.setActivityId(syncOrders.get(0).getActivityId());
Map<Long, String> legionConfigMap = wxLegionActivityConfigService.getLegionConfigMap(legionConfigQ);

List<Long> userIds = syncOrders.stream().map(WxLegionActivityOrder::getCusId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
WxLegionActivityUser userQ = new WxLegionActivityUser();
userQ.updateTenantInfo(tenantEntity);
@@ -714,8 +726,9 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe
legionActivityOrder.setAuditBy(userId);
legionActivityOrder.setAuditTime(now);
legionActivityOrder.setUpdateDate(now);

wxLegionActivityOfflineConfigService.syncOfflineActivityOrder(user,legionActivityOrder,legionConfigMap);
}
wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(syncOrders);
}

@Override


+ 4
- 7
mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityServiceImpl.java Прегледај датотеку

@@ -48,11 +48,8 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{
@Autowired
private WxLegionActivityMerchantConfigService wxLegionActivityMerchantConfigService;

@Autowired
private WxLegionActivityOfflineConfigMapper wxLegionActivityOfflineConfigMapper;

@Autowired
private WxLegionActivityOfflineConfigService wxLegionActivityOfflineConfigService;
// @Autowired
// private WxLegionActivityOfflineConfigService wxLegionActivityOfflineConfigService;

@Autowired
private WxLegionActivityOrderService wxLegionActivityOrderService;
@@ -187,7 +184,7 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{
wxLegionActivityMapper.updateById(wxLegionActivity);
}
//处理线下活动配置
wxLegionActivityOfflineConfigService.handleOfflineConfig(wxLegionActivity);
// wxLegionActivityOfflineConfigService.handleOfflineConfig(wxLegionActivity);
//处理军团配置
wxLegionActivityConfigService.handleLegionConfig(wxLegionActivity);

@@ -205,7 +202,7 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{
return activity;
}
//获取活动发奖配置
activity.setOfflineActivityList(wxLegionActivityOfflineConfigService.getOfflineActivityList(activity));
// activity.setOfflineActivityList(wxLegionActivityOfflineConfigService.getOfflineActivityList(activity));
//获取军团配置
WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig();
legionConfigQ.updateTenantInfo(activity);


+ 320
- 3
mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivityOrderServiceImpl.java Прегледај датотеку

@@ -1,10 +1,30 @@
package com.iformall.service.impl;

import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.iformall.domain.po.WxVtwoActivityOrder;
import com.iformall.service.WxVtwoActivityOrderService;
import com.iformall.mapper.WxVtwoActivityOrderMapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.*;
import com.iformall.enums.*;
import com.iformall.mapper.*;
import com.iformall.service.*;
import com.iformall.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.text.NumberFormat;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;

/**
* @author xiaohu
@@ -15,6 +35,303 @@ import org.springframework.stereotype.Service;
public class WxVtwoActivityOrderServiceImpl extends ServiceImpl<WxVtwoActivityOrderMapper, WxVtwoActivityOrder>
implements WxVtwoActivityOrderService{

@Autowired
private WxVtwoActivityOrderMapper wxVtwoActivityOrderMapper;

@Autowired
private WxVtwoActivitySpecialTopicService wxVtwoActivitySpecialTopicService;

@Autowired
private WxMerchantService wxMerchantService;
@Autowired
private WxShopService wxShopService;
@Autowired
private MallUserInfoService mallUserInfoService;
@Autowired
private WxBusinessService wxBusinessService;

@Autowired
private WxCUserBasicInfoService wxCUserBasicInfoService;
@Autowired
private WxCreditHistoryService wxCreditHistoryService;

@Autowired
private ExcelService excelService;

@Override
public PageInfo<WxVtwoActivityOrder> listAsPage(WxVtwoActivityOrder record, Integer pageNum, Integer pageSize) {
handlerQuery(record);
PageInfo<WxVtwoActivityOrder> recordPage = PageHelper.startPage(pageNum, pageSize).doSelectPageInfo(() -> wxVtwoActivityOrderMapper.findList(record));
handlerList(record,recordPage.getList());
return recordPage;
}

private void handlerQuery(WxVtwoActivityOrder record) {
//商户处理
if (StringUtils.isNotBlank(record.getMerchantName())) {
WxMerchant merchant = new WxMerchant();
merchant.updateTenantInfo(record);
merchant.setName(record.getMerchantName());
List<Long> mids = wxMerchantService.findIdList(merchant);
if (null == mids || mids.size() <= 0 ) {
record.setId(-1L);
}else {
record.setMerchantIdList(mids);
}
}
}

@Override
public void handlerList(TenantEntity tenantEntity, List<WxVtwoActivityOrder> recordList) {
if (recordList == null || recordList.size() <= 0) {
return;
}
List<Long> merchantIds = recordList.stream().map(WxVtwoActivityOrder::getMerchantId).filter(Objects::nonNull).distinct().collect(Collectors.toList());
List<Long> userIds = recordList.stream().map(WxVtwoActivityOrder::getAuditBy).filter(Objects::nonNull).distinct().collect(Collectors.toList());
Map<Long, String> idAndNamesMap = new HashMap<>();
Map<Long,String> merchantShopNumberMap = new HashMap<>();
if(!merchantIds.isEmpty()){
WxMerchant merchantQ = new WxMerchant();
merchantQ.updateTenantInfo(tenantEntity);
merchantQ.setIds(merchantIds);
idAndNamesMap = wxMerchantService.getIdAndNamesMap(merchantQ);
merchantShopNumberMap = wxShopService.getMerchantShopNumberMap(tenantEntity, merchantIds, EnumYesOrNo.NO.getCode());
}
Map<Long, MallUserInfo> userMap = new HashMap<>();
if(!userIds.isEmpty()){
MallUserInfo userInfoQ = new MallUserInfo();
userInfoQ.updateTenantInfo(tenantEntity);
userMap = mallUserInfoService.getUserMap(userInfoQ);
}

Map<Integer, WxBusiness> bussinessMap = wxBusinessService.findAllMap(tenantEntity);

for (WxVtwoActivityOrder record : recordList) {
if(record.getMerchantId() != null){
record.setMerchantName(idAndNamesMap.get(record.getMerchantId()));
record.setShopNumber(merchantShopNumberMap.get(record.getMerchantId()));
}
if(record.getAuditBy() != null){
record.setAuditByName(userMap.get(record.getAuditBy()).getName());
}
if(record.getBusinessId() != null){
record.setBusinessName(bussinessMap.get(record.getBusinessId()).getTitle());
}
}
}

@Override
public boolean saveOrUpdate(WxVtwoActivityOrder activityOrder) {
if(activityOrder.getMerchantId() != null){
WxMerchant merchant = wxMerchantService.selectById(activityOrder.getMerchantId());
activityOrder.setBusinessId(merchant.getBusinessId());
}
Date now = new Date();
if(activityOrder.getId() == null){
final IdWorker idWorker = IdWorker.get();
activityOrder.setId(idWorker.nextId());
if(activityOrder.getAuditStatus() == null){
activityOrder.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode());
}
activityOrder.setCreateDate(now);
activityOrder.setUpdateDate(now);
wxVtwoActivityOrderMapper.insert(activityOrder);
}
else{
activityOrder.setUpdateDate(now);
wxVtwoActivityOrderMapper.updateById(activityOrder);
}
return true;
}

@Override
public WxVtwoActivityOrder getById(Long id, String tenantId) {
return wxVtwoActivityOrderMapper.selectById(id,tenantId);
}

@Override
public WxVtwoActivityOrder getInfoById(Long id, String tenantId) {
WxVtwoActivityOrder record = getById(id, tenantId);
if(record != null){
WxMerchant merchant = wxMerchantService.selectById(record.getMerchantId());
record.setMerchantName(merchant.getName());
}
return record;
}

@Override
public Map<String, Integer> getStatistics(WxVtwoActivityOrder record) {
List<WxVtwoActivityOrderStatistics> auditStatusStatistics = wxVtwoActivityOrderMapper.auditStatusStatistics(record);
Map<String, Integer> result = new HashMap<>();
Integer audting = 0, audi_success = 0, audt_fail = 0, invalid = 0;
for(WxVtwoActivityOrderStatistics statistics : auditStatusStatistics){
if(EnumOfflineActivityRecordStatus.AUDTING.getCode().equals(statistics.getAuditStatus())){
audting = statistics.getCount();
} else if (EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode().equals(statistics.getAuditStatus())) {
audi_success = statistics.getCount();
} else if (EnumOfflineActivityRecordStatus.AUDT_FAIL.getCode().equals(statistics.getAuditStatus())) {
audt_fail = statistics.getCount();
} else if (EnumOfflineActivityRecordStatus.INVALID.getCode().equals(statistics.getAuditStatus())) {
invalid = statistics.getCount();
}
}
result.put("audting",audting);
result.put("audi_success",audi_success);
result.put("audt_fail",audt_fail);
result.put("invalid",invalid);
result.put("sum_count",audting+audi_success+audt_fail+invalid);
return result;
}

@Override
@Transactional(propagation = Propagation.REQUIRED, rollbackFor = {Exception.class})
public void auditRecord(WxVtwoActivityOrder record, Long userId) {
Date now = new Date();
record.setUpdateDate(now);
record.setAuditTime(now);
record.setAuditBy(userId);
wxVtwoActivityOrderMapper.updateAuditStatus(record);

WxVtwoActivityOrder activityOrder = wxVtwoActivityOrderMapper.selectById(record.getId(), record.getTenantId());
activityOrder.setAuditBy(record.getAuditBy());
activityOrder.setAuditStatus(record.getAuditStatus());
activityOrder.setAuditBy(record.getAuditBy());
saveCreditHistory(activityOrder);
}

@Override
public void saveCreditHistory(WxVtwoActivityOrder record){
if(!EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode().equals(record.getAuditStatus())
&& !EnumOfflineActivityRecordStatus.INVALID.getCode().equals(record.getAuditStatus())){
return;
}

WxVtwoActivitySpecialTopic specialTopic = wxVtwoActivitySpecialTopicService.selectCreditOne(record,record.getCreateDate());
if(specialTopic == null){
return;
}

WxCreditHistory creditHistory = new WxCreditHistory();
creditHistory.setTenantId(record.getFinalTenantId());
creditHistory.setOperatorType(EnumUserType.MALLUSER.getCode());
creditHistory.setOperatorId(record.getAuditBy());
creditHistory.setCreateDate(record.getAuditTime());

creditHistory.setCouponId(record.getId());
creditHistory.setBusinessId(record.getBusinessId());
creditHistory.setMerchantId(record.getMerchantId());

WxCUserBasicInfo cuser = wxCUserBasicInfoService.findInfoByPhone(record, record.getCusPhone());
if(cuser == null){
return;
}
creditHistory.setCUserId(cuser.getId());
creditHistory.setCreditType(EnumScoreType.POINT_CHANGE.getCode());

Integer increasedPoints = record.getIncreasedPoints();
if(increasedPoints == null){
increasedPoints = 0;
}
if(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode().equals(record.getAuditStatus())){
if(increasedPoints > 0){
return;
}
//计算积分
WxVtwoActivityCreditRule creditConfigObject = specialTopic.getCreditConfigObject();
BigDecimal priceCondition = creditConfigObject.getStep();
int baseScore = creditConfigObject.getScore();

if (record.getOrderMoney().compareTo(priceCondition) > 0) {
increasedPoints = record.getOrderMoney().divide(priceCondition,0, RoundingMode.DOWN)
.multiply(BigDecimal.valueOf(baseScore)).intValue();
}
if(increasedPoints == 0){
return;
}
creditHistory.setCreditNum(increasedPoints);
}else if(EnumOfflineActivityRecordStatus.INVALID.getCode().equals(record.getAuditStatus())){
if(increasedPoints == 0){
return;
}
creditHistory.setCreditNum(-increasedPoints);
increasedPoints = 0;
}
if(creditHistory.getCreditNum() > 0){
creditHistory.setChangePurpose("活动订单("+record.getOrderNo()+")新增积分"+creditHistory.getCreditNum());
}else if(creditHistory.getCreditNum() < 0){
creditHistory.setChangePurpose("活动订单("+record.getOrderNo()+")退单-积分扣减"+creditHistory.getCreditNum());
}
creditHistory = wxCreditHistoryService.saveOrUpdate(creditHistory,record);

record.setIncreasedPoints(increasedPoints);
wxVtwoActivityOrderMapper.updateIncreasedPoints(record);
}

@Override
public Map<String, Object> orderStatistics(TenantEntity tenantInfo) {
//最近30天
Date now = new Date();
String monthStartdate = DateUtils.getTimeBefore(30, now);
String yesyeweekDate = DateUtils.getTimeBefore(8, now);//计算周同比时间
String weekStartdate = DateUtils.getTimeBefore(7, now);
String yesyesDate = DateUtils.getTimeBefore(2, now);//计算日同比时间
String yesterdayDate = DateUtils.getTimeBefore(1, now);
String today = DateUtils.getTimeBefore(0, now);

//最近30天数据
WxVtwoActivityOrder recordQ = new WxVtwoActivityOrder();
recordQ.updateTenantInfo(tenantInfo);
recordQ.setCreateDateBegin(DateUtils.stringToDate(monthStartdate));
Integer monthCount = wxVtwoActivityOrderMapper.getCount(recordQ);
//一周前的昨天
recordQ.setCreateDateBegin(DateUtils.stringToDate(yesyeweekDate));
recordQ.setCreateDateEnd(DateUtils.stringToDate(weekStartdate));
Integer yesWeekCount = wxVtwoActivityOrderMapper.getCount(recordQ);
//昨天的昨天
recordQ.setCreateDateBegin(DateUtils.stringToDate(yesyesDate));
recordQ.setCreateDateEnd(DateUtils.stringToDate(yesterdayDate));
Integer yesYesCount = wxVtwoActivityOrderMapper.getCount(recordQ);
//昨天
recordQ.setCreateDateBegin(DateUtils.stringToDate(yesterdayDate));
recordQ.setCreateDateEnd(DateUtils.stringToDate(today));
Integer yesCount = wxVtwoActivityOrderMapper.getCount(recordQ);

Map<String, Object> result = new HashMap<>();
result.put("monthCount",monthCount);

NumberFormat nf = NumberFormat.getPercentInstance();
nf.setMinimumFractionDigits(2);
String dayPercentage = "--";
if (yesYesCount > 0) {
Integer count = yesCount - yesYesCount;
dayPercentage = nf.format(count.doubleValue() / new Double(yesYesCount).doubleValue());
}
result.put("dayPercentage",dayPercentage);
String weekPercentage = "--";
if (yesWeekCount > 0) {
Integer count = yesCount - yesWeekCount;
weekPercentage = nf.format(count.doubleValue() / new Double(yesWeekCount).doubleValue());
}
result.put("weekPercentage",weekPercentage);
return result;
}

@Override
public void exportData(HttpServletRequest request, HttpServletResponse response, WxVtwoActivityOrder record) {
handlerQuery(record);
List<WxVtwoActivityOrder> list = wxVtwoActivityOrderMapper.findList(record);
handlerList(record,list);
excelService.exportExcel(list, null, "活动订单列表", WxOfflineActivityRecord.class, "活动订单列表.xlsx", response, false);
}

@Override
public Integer getWaitAudiCount(TenantEntity tenantInfo) {
WxVtwoActivityOrder record = new WxVtwoActivityOrder();
record.updateTenantInfo(tenantInfo);
record.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode());
return wxVtwoActivityOrderMapper.getCount(record);
}

}




+ 11
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxVtwoActivitySpecialTopicServiceImpl.java Прегледај датотеку

@@ -7,6 +7,7 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.WxVtwoActivityCreditRule;
import com.iformall.domain.vo.WxVtwoActivityOrderStatistics;
import com.iformall.domain.vo.WxVtwoActivityRule;
@@ -136,6 +137,16 @@ public class WxVtwoActivitySpecialTopicServiceImpl extends ServiceImpl<WxVtwoAct
return specialTopic;
}

@Override
public WxVtwoActivitySpecialTopic selectCreditOne(TenantEntity tenantEntity, Date orderDate) {
WxVtwoActivitySpecialTopic specialTopic = wxVtwoActivitySpecialTopicMapper.selectCreditOne(tenantEntity.getTenantId(),EnumYesOrNo.YES.getCode(),orderDate);
if (specialTopic == null) {
return null;
}
specialTopic.setCreditConfigObject(JSONObject.parseObject(specialTopic.getCreditConfig(), WxVtwoActivityCreditRule.class));
return specialTopic;
}

}




+ 27
- 5
mallinkService/src/main/java/com/iformall/service/impl/WxVtwoAmountGiftActivityServiceImpl.java Прегледај датотеку

@@ -7,12 +7,8 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;
import com.iformall.domain.po.*;
import com.iformall.domain.vo.WxVtwoActivityOrderStatistics;
import com.iformall.domain.vo.WxVtwoActivityRule;
import com.iformall.domain.vo.WxVtwoActivityRuleDetail;
import com.iformall.enums.EnumOfflineActivityMerchantType;
import com.iformall.enums.EnumOfflineActivityRecordStatus;
import com.iformall.enums.EnumOfflineActivityStatus;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.enums.*;
import com.iformall.mapper.*;
import com.iformall.service.WxVtwoActivityAwardService;
import com.iformall.service.WxVtwoActivityMerchantService;
@@ -49,6 +45,9 @@ public class WxVtwoAmountGiftActivityServiceImpl extends ServiceImpl<WxVtwoAmoun
@Autowired
private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper;

@Autowired
private WxVtwoSpecialTopicActivityMapper wxVtwoSpecialTopicActivityMapper;

@Autowired
private WxVtwoActivityAwardService wxVtwoActivityAwardService;

@@ -154,6 +153,7 @@ public class WxVtwoAmountGiftActivityServiceImpl extends ServiceImpl<WxVtwoAmoun
}
wxVtwoActivityMerchantService.saveFromActivity(amountGiftActivity,amountGiftActivity.getId(),amountGiftActivity.getMerchantIdList());
}
updateSpecialTopicActivity(amountGiftActivity);
return true;
}

@@ -166,6 +166,28 @@ public class WxVtwoAmountGiftActivityServiceImpl extends ServiceImpl<WxVtwoAmoun
}
}

private void updateSpecialTopicActivity(WxVtwoAmountGiftActivity amountGiftActivity){
WxVtwoSpecialTopicActivity specialTopicActivity = new WxVtwoSpecialTopicActivity();
specialTopicActivity.updateTenantInfo(amountGiftActivity);
specialTopicActivity.setActivityId(amountGiftActivity.getId());
specialTopicActivity.setActivityType(EnumOfflineActivityType.GIFT.getCode());
specialTopicActivity.setActivityName(amountGiftActivity.getName());
specialTopicActivity.setActivityCreateDate(amountGiftActivity.getCreateDate());
specialTopicActivity.setActivityStartTime(amountGiftActivity.getStartTime());
specialTopicActivity.setActivityEndTime(amountGiftActivity.getEndTime());
specialTopicActivity.setActivityStatus(amountGiftActivity.getStatus());
specialTopicActivity.setUpdateDate(amountGiftActivity.getUpdateDate());
wxVtwoSpecialTopicActivityMapper.updateByActivity(specialTopicActivity);
}

@Override
public boolean updateById(WxVtwoAmountGiftActivity amountGiftActivity) {
amountGiftActivity.setUpdateDate(new Date());
wxVtwoAmountGiftActivityMapper.updateById(amountGiftActivity);
updateSpecialTopicActivity(amountGiftActivity);
return true;
}

@Override
public WxVtwoAmountGiftActivity getInfoById(Long id, String tenantId) {
WxVtwoAmountGiftActivity amountGiftActivity = wxVtwoAmountGiftActivityMapper.selectById(id, tenantId);


+ 26
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxVtwoCashBackActivityServiceImpl.java Прегледај датотеку

@@ -49,6 +49,9 @@ public class WxVtwoCashBackActivityServiceImpl extends ServiceImpl<WxVtwoCashBac
@Autowired
private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper;

@Autowired
private WxVtwoSpecialTopicActivityMapper wxVtwoSpecialTopicActivityMapper;

@Autowired
private WxVtwoCashBackAwardService wxVtwoCashBackAwardService;

@@ -155,6 +158,7 @@ public class WxVtwoCashBackActivityServiceImpl extends ServiceImpl<WxVtwoCashBac
}
wxVtwoActivityMerchantService.saveFromActivity(cashBackActivity,cashBackActivity.getId(),cashBackActivity.getMerchantIdList());
}
updateSpecialTopicActivity(cashBackActivity);
return true;
}

@@ -164,6 +168,28 @@ public class WxVtwoCashBackActivityServiceImpl extends ServiceImpl<WxVtwoCashBac
}
}

private void updateSpecialTopicActivity(WxVtwoCashBackActivity cashBackActivity){
WxVtwoSpecialTopicActivity specialTopicActivity = new WxVtwoSpecialTopicActivity();
specialTopicActivity.updateTenantInfo(cashBackActivity);
specialTopicActivity.setActivityId(cashBackActivity.getId());
specialTopicActivity.setActivityType(EnumOfflineActivityType.CASHBACK.getCode());
specialTopicActivity.setActivityName(cashBackActivity.getName());
specialTopicActivity.setActivityCreateDate(cashBackActivity.getCreateDate());
specialTopicActivity.setActivityStartTime(cashBackActivity.getStartTime());
specialTopicActivity.setActivityEndTime(cashBackActivity.getEndTime());
specialTopicActivity.setActivityStatus(cashBackActivity.getStatus());
specialTopicActivity.setUpdateDate(cashBackActivity.getUpdateDate());
wxVtwoSpecialTopicActivityMapper.updateByActivity(specialTopicActivity);
}

@Override
public boolean updateById(WxVtwoCashBackActivity cashBackActivity) {
cashBackActivity.setUpdateDate(new Date());
wxVtwoCashBackActivityMapper.updateById(cashBackActivity);
updateSpecialTopicActivity(cashBackActivity);
return true;
}

@Override
public WxVtwoCashBackActivity getInfoById(Long id, String tenantId) {
WxVtwoCashBackActivity cashBackActivity = wxVtwoCashBackActivityMapper.selectById(id, tenantId);


+ 27
- 4
mallinkService/src/main/java/com/iformall/service/impl/WxVtwoPrizeDrawActivityServiceImpl.java Прегледај датотеку

@@ -13,10 +13,7 @@ import com.iformall.domain.vo.OfflineActivityRecordStatistics;
import com.iformall.domain.vo.WxVtwoActivityOrderStatistics;
import com.iformall.domain.vo.WxVtwoActivityRule;
import com.iformall.domain.vo.WxVtwoActivityRuleDetail;
import com.iformall.enums.EnumOfflineActivityMerchantType;
import com.iformall.enums.EnumOfflineActivityRecordStatus;
import com.iformall.enums.EnumOfflineActivityStatus;
import com.iformall.enums.EnumYesOrNo;
import com.iformall.enums.*;
import com.iformall.mapper.*;
import com.iformall.service.WxVtwoActivityAwardService;
import com.iformall.service.WxVtwoActivityMerchantService;
@@ -53,6 +50,9 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD
@Autowired
private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper;

@Autowired
private WxVtwoSpecialTopicActivityMapper wxVtwoSpecialTopicActivityMapper;

@Autowired
private WxVtwoActivityAwardService wxVtwoActivityAwardService;

@@ -159,6 +159,7 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD
}
wxVtwoActivityMerchantService.saveFromActivity(prizeDrawActivity,prizeDrawActivity.getId(),prizeDrawActivity.getMerchantIdList());
}
updateSpecialTopicActivity(prizeDrawActivity);
return true;
}

@@ -171,6 +172,28 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD
}
}

private void updateSpecialTopicActivity(WxVtwoPrizeDrawActivity prizeDrawActivity){
WxVtwoSpecialTopicActivity specialTopicActivity = new WxVtwoSpecialTopicActivity();
specialTopicActivity.updateTenantInfo(prizeDrawActivity);
specialTopicActivity.setActivityId(prizeDrawActivity.getId());
specialTopicActivity.setActivityType(EnumOfflineActivityType.LOTTERY_DRAW.getCode());
specialTopicActivity.setActivityName(prizeDrawActivity.getName());
specialTopicActivity.setActivityCreateDate(prizeDrawActivity.getCreateDate());
specialTopicActivity.setActivityStartTime(prizeDrawActivity.getStartTime());
specialTopicActivity.setActivityEndTime(prizeDrawActivity.getEndTime());
specialTopicActivity.setActivityStatus(prizeDrawActivity.getStatus());
specialTopicActivity.setUpdateDate(prizeDrawActivity.getUpdateDate());
wxVtwoSpecialTopicActivityMapper.updateByActivity(specialTopicActivity);
}

@Override
public boolean updateById(WxVtwoPrizeDrawActivity prizeDrawActivity) {
prizeDrawActivity.setUpdateDate(new Date());
wxVtwoPrizeDrawActivityMapper.updateById(prizeDrawActivity);
updateSpecialTopicActivity(prizeDrawActivity);
return true;
}

@Override
public WxVtwoPrizeDrawActivity getInfoById(Long id, String tenantId) {
WxVtwoPrizeDrawActivity prizeDrawActivity = wxVtwoPrizeDrawActivityMapper.selectById(id, tenantId);


+ 8
- 8
mallinkService/src/main/resources/mapper/WxVtwoActivityOrderMapper.xml Прегледај датотеку

@@ -21,7 +21,7 @@
<result property="unionName" column="union_name" jdbcType="VARCHAR"/>
<result property="fromOrderId" column="from_order_id" jdbcType="BIGINT"/>
<result property="orderNo" column="order_no" jdbcType="VARCHAR"/>
<result property="orderAmount" column="order_amount" jdbcType="DECIMAL"/>
<result property="orderMoney" column="order_money" jdbcType="DECIMAL"/>
<result property="merchantId" column="merchant_id" jdbcType="BIGINT"/>
<result property="businessId" column="business_id" jdbcType="INTEGER"/>
<result property="lotteryNum" column="lottery_num" jdbcType="VARCHAR"/>
@@ -43,7 +43,7 @@
real_cus_name,cus_phone,cus_card,
cus_address,legion_id,legion_name,
union_id,union_name,from_order_id,
order_no,order_amount,merchant_id,
order_no,order_money,merchant_id,
business_id,lottery_num,lottery_count,
anniversary_lottery_num,audit_status,audit_remark,
audit_by,audit_time,increased_points,
@@ -136,7 +136,7 @@
<select id="auditStatusStatistics" parameterType="com.iformall.domain.po.WxVtwoActivityOrder" resultType="com.iformall.domain.vo.WxVtwoActivityOrderStatistics">
SELECT audit_status as 'auditStatus',
count(1) as 'count',
IFNULL(sum(order_amount),0) as 'sumAmount'
IFNULL(sum(order_money),0) as 'sumMoney'
FROM wx_vtwo_activity_order
<include refid="dynamicWhereConditions" />
GROUP BY audit_status
@@ -188,7 +188,7 @@
<select id="getCountStatistics" parameterType="com.iformall.domain.po.WxVtwoActivityOrder" resultType="com.iformall.domain.vo.WxVtwoOrderCountStatistics">
select count(DISTINCT cus_phone) userCount,
count(1) orderCount,
IFNULL(sum(order_amount),0) sumAmount,
IFNULL(sum(order_money),0) sumMoney,
count(DISTINCT merchant_id) merchantCount
from wx_vtwo_activity_order
<include refid="dynamicWhereConditions" />
@@ -197,7 +197,7 @@
select DATE_FORMAT(create_date,'%Y-%m-%d') as xTime,
count(DISTINCT cus_phone) userCount,
count(1) orderCount,
IFNULL(sum(order_amount),0) sumAmount,
IFNULL(sum(order_money),0) sumMoney,
count(DISTINCT merchant_id) merchantCount
from wx_vtwo_activity_order
<include refid="dynamicWhereConditions" />
@@ -206,7 +206,7 @@
<select id="getBusinessStatistics" parameterType="com.iformall.domain.po.WxVtwoActivityOrder" resultType="com.iformall.domain.vo.WxVtwoOrderBusinessStatistics">
select business_id businessId,
count(1) businessCount,
IFNULL(sum(order_amount),0) sumAmount
IFNULL(sum(order_money),0) sumMoney
from wx_vtwo_activity_order
<include refid="dynamicWhereConditions" />
group by business_id
@@ -219,7 +219,7 @@
real_cus_name,cus_phone,cus_card,
cus_address,legion_id,legion_name,
union_id,union_name,from_order_id,
order_no,order_amount,merchant_id,
order_no,order_money,merchant_id,
business_id,lottery_num,lottery_count,
anniversary_lottery_num,audit_status,audit_remark,
audit_by,audit_time,increased_points,
@@ -231,7 +231,7 @@
#{item.realCusName,jdbcType=VARCHAR},#{item.cusPhone,jdbcType=VARCHAR},#{item.cusCard,jdbcType=VARCHAR},
#{item.cusAddress,jdbcType=VARCHAR},#{item.legionId,jdbcType=BIGINT},#{item.legionName,jdbcType=VARCHAR},
#{item.unionId,jdbcType=BIGINT},#{item.unionName,jdbcType=VARCHAR},#{item.fromOrderId,jdbcType=BIGINT},
#{item.orderNo,jdbcType=VARCHAR},#{item.orderAmount,jdbcType=DECIMAL},#{item.merchantId,jdbcType=BIGINT},
#{item.orderNo,jdbcType=VARCHAR},#{item.orderMoney,jdbcType=DECIMAL},#{item.merchantId,jdbcType=BIGINT},
#{item.businessId,jdbcType=INTEGER},#{item.lotteryNum,jdbcType=VARCHAR},#{item.lotteryCount,jdbcType=INTEGER},
#{item.anniversaryLotteryNum,jdbcType=VARCHAR},#{item.auditStatus,jdbcType=INTEGER},#{item.auditRemark,jdbcType=VARCHAR},
#{item.auditBy,jdbcType=BIGINT},#{item.auditTime,jdbcType=TIMESTAMP},#{item.increasedPoints,jdbcType=INTEGER},


+ 2
- 1
mallinkService/src/main/resources/mapper/WxVtwoActivitySpecialTopicMapper.xml Прегледај датотеку

@@ -100,7 +100,8 @@
and ((`start_time` &lt;= #{startTime} and `end_time` &gt;= #{startTime})
or (`start_time` &lt;= #{endTime} and `end_time` &gt;= #{endTime}))
</select>
<select id="selectCreditOne" parameterType="java.util.HashMap" resultType="com.iformall.domain.po.WxOfflineActivity">

<select id="selectCreditOne" parameterType="java.util.HashMap" resultType="com.iformall.domain.po.WxVtwoActivitySpecialTopic">
select <include refid="allColumns" /> from wx_vtwo_activity_special_topic
where `tenant_id` = #{tenantId}
and credit_on_off = #{creditOnOff}


+ 25
- 0
mallinkService/src/main/resources/mapper/WxVtwoSpecialTopicActivityMapper.xml Прегледај датотеку

@@ -71,4 +71,29 @@
#{item.updateDate,jdbcType=TIMESTAMP})
</foreach>
</insert>

<update id="updateByActivity" parameterType="com.iformall.domain.po.WxVtwoSpecialTopicActivity">
update wx_vtwo_activity_award
set
<if test=" null != activityName and '' != activityName">
`activity_name` = #{activityName},
</if>
<if test=" null != activityStartTime">
`activity_start_time` = #{activityStartTime},
</if>
<if test=" null != activityEndTime">
`activity_end_time` = #{activityEndTime},
</if>
<if test=" null != activityStatus">
`activity_status` = #{activityStatus},
</if>
`update_date` = #{updateDate}
where `activity_id` = #{activityId}
<if test=" null != activityType ">
and `activity_type` = #{activityType}
</if>
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
</update>
</mapper>

Loading…
Откажи
Сачувај