Sfoglia il codice sorgente

//legionActivity

release_toaliyun_real
xiaohu 1 anno fa
parent
commit
80d6b57b0a
18 ha cambiato i file con 1048 aggiunte e 0 eliminazioni
  1. +1
    -0
      mallink-swagger/src/main/java/com/iformall/constant/SwaggerConstant.java
  2. +151
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java
  3. +208
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java
  4. +55
    -0
      mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java
  5. +111
    -0
      mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java
  6. +113
    -0
      mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java
  7. +14
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityCount.java
  8. +33
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityMerchantStatistics.java
  9. +15
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java
  10. +15
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderTypeStatistics.java
  11. +58
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivitySellOrder.java
  12. +14
    -0
      mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityUserStatistics.java
  13. +36
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderLegionType.java
  14. +38
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderStatus.java
  15. +58
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderType.java
  16. +36
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderUnionType.java
  17. +56
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java
  18. +36
    -0
      mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityUserStatus.java

+ 1
- 0
mallink-swagger/src/main/java/com/iformall/constant/SwaggerConstant.java Vedi File

@@ -2,4 +2,5 @@ package com.iformall.constant;

public interface SwaggerConstant {
String V_1_0_0 = "v1.0.0";
String V_2_0_0 = "v2.0.0";
}

+ 151
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityController.java Vedi File

@@ -0,0 +1,151 @@
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.*;
import com.iformall.domain.po.base.BaseEntity.SortField;
import com.iformall.domain.po.base.TenantEntity;
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.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;

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

@Autowired
private WxLegionActivityService wxLegionActivityService;

@Autowired
private WxLegionActivityConfigService wxLegionActivityConfigService;

@ApiVersion(group = SwaggerConstant.V_2_0_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 WxLegionActivity wxLegionActivity, Integer pageNum, Integer pageSize) {
if (null == wxLegionActivity) wxLegionActivity = new WxLegionActivity();
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivity.updateTenantInfo(tenantInfo);
wxLegionActivity.setSortColumns(SortField.CreateDate_DESC);
final PageInfo<WxLegionActivity> page = wxLegionActivityService.listAsPage(wxLegionActivity,true, pageNum, pageSize);
return new ResultData(page);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("新增修改接口")
@PostMapping("saveOrUpdate")
public ResultData saveOrUpdate(@RequestBody WxLegionActivity wxLegionActivity) {
TenantEntity tenantEntity = getTenantInfo();
wxLegionActivity.updateTenantInfo(tenantEntity);
if(wxLegionActivity.getLegionList() == null || wxLegionActivity.getLegionList().isEmpty()){
return new ResultData(Result.ERROR,"军团配置为空");
}

List<Long> merchantIds = new ArrayList<>();
for (WxLegionActivityConfig legionConfig:wxLegionActivity.getLegionList()){
if(legionConfig.getMerchantList() == null || legionConfig.getMerchantList().isEmpty()){
continue;
}
for (WxLegionActivityMerchantConfig wxLegionActivityMerchantConfig : legionConfig.getMerchantList()) {
merchantIds.add(wxLegionActivityMerchantConfig.getMerchantId());
}
}
if(!merchantIds.isEmpty() && merchantIds.stream().distinct().count() != merchantIds.size()){
return new ResultData(Result.ERROR,"军团商户配置重复");
}
wxLegionActivityService.saveOrUpdate(wxLegionActivity);
return new ResultData(wxLegionActivity);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("删除活动门店")
@PostMapping("delMerchant")
public ResultData delMerchant(@RequestBody WxLegionActivity wxLegionActivity) {
if(wxLegionActivity.getId() == null){
return new ResultData(Result.ERROR,"活动id为空");
}
if(wxLegionActivity.getMerchantConfigIdList() == null || wxLegionActivity.getMerchantConfigIdList().isEmpty()){
return new ResultData(Result.ERROR,"删除门店为空");
}
TenantEntity tenantEntity = getTenantInfo();
wxLegionActivity.updateTenantInfo(tenantEntity);
wxLegionActivityService.delMerchant(wxLegionActivity);
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("上架")
@PostMapping("online")
public ResultData online(@RequestBody WxLegionActivity wxLegionActivity) {
TenantEntity tenantEntity = getTenantInfo();
wxLegionActivity.updateTenantInfo(tenantEntity);
wxLegionActivity.setStatus(EnumLegionActivityStatus.ON_LINE.getCode());
wxLegionActivityService.updateStatus(wxLegionActivity);
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("下架")
@PostMapping("offline")
public ResultData offline(@RequestBody WxLegionActivity wxLegionActivity) {
TenantEntity tenantEntity = getTenantInfo();
wxLegionActivity.updateTenantInfo(tenantEntity);
wxLegionActivity.setStatus(EnumLegionActivityStatus.OFF_LINE.getCode());
wxLegionActivityService.updateStatus(wxLegionActivity);
return new ResultData();
}

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

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("查询军团列表")
@GetMapping("getLegionById")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)})
public ResultData getLegionById(Long id) {
TenantEntity tenantInfo = getTenantInfo();
List<WxLegionActivityConfig> legionConfigList = wxLegionActivityConfigService.findLegionList(id,tenantInfo.getTenantId());
return new ResultData(legionConfigList);
}

}

+ 208
- 0
mallinkAdmin/src/main/java/com/iformall/controller/market/WxLegionActivityOrderController.java Vedi File

@@ -0,0 +1,208 @@
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.WxLegionActivityOrder;
import com.iformall.domain.po.WxOfflineActivityRecord;
import com.iformall.domain.po.base.BaseEntity.SortField;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.domain.vo.LegionActivityMerchantStatistics;
import com.iformall.domain.vo.LegionActivitySellOrder;
import com.iformall.enums.EnumLegionActivityOrderStatus;
import com.iformall.enums.EnumOfflineActivityRecordStatus;
import com.iformall.exception.MallinkException;
import com.iformall.service.WxLegionActivityOrderService;
import com.iformall.service.WxOfflineActivityRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import jodd.util.StringUtil;
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.List;
import java.util.Map;

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

@Autowired
private WxLegionActivityOrderService wxLegionActivityOrderService;

@ApiVersion(group = SwaggerConstant.V_2_0_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 WxLegionActivityOrder wxLegionActivityOrder, Integer pageNum, Integer pageSize) {
if (null == wxLegionActivityOrder) wxLegionActivityOrder = new WxLegionActivityOrder();
if(wxLegionActivityOrder.getActivityId() == null){
return new ResultData(Result.ERROR,"活动ID不能为空");
}
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
wxLegionActivityOrder.setSortColumns(SortField.CreateDate_DESC);
final PageInfo<WxLegionActivityOrder> page = wxLegionActivityOrderService.listAsPage(wxLegionActivityOrder, pageNum, pageSize);

return new ResultData(page);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("导出")
@GetMapping("/export")
public void export(@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);
wxLegionActivityOrder.setSortColumns(SortField.CreateDate_DESC);
wxLegionActivityOrderService.exportData(request,response,wxLegionActivityOrder);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("审核通过")
@PostMapping("audiPass")
public ResultData audiPass(@RequestBody WxLegionActivityOrder wxLegionActivityOrder) {
if(wxLegionActivityOrder == null){
return new ResultData(Result.ERROR,"id 不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantEntity);
wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode());
wxLegionActivityOrderService.auditRecord(wxLegionActivityOrder,getUserId());
return new ResultData();
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("审核驳回")
@PostMapping("audtFail")
public ResultData audtFail(@RequestBody WxLegionActivityOrder wxLegionActivityOrder) {
if(wxLegionActivityOrder == null){
return new ResultData(Result.ERROR,"id 不能为空");
}
if(StringUtil.isBlank(wxLegionActivityOrder.getAuditRemark())){
return new ResultData(Result.ERROR,"驳回意见不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantEntity);
wxLegionActivityOrder.setAuditStatus(EnumLegionActivityOrderStatus.AUDT_FAIL.getCode());
wxLegionActivityOrderService.auditRecord(wxLegionActivityOrder,getUserId());
return new ResultData();
}

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

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

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

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

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("导出活动数据(门店)")
@GetMapping("/exportActivityMerchantData")
public void exportActivityMerchantDate(@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.exportActivityMerchantData(request,response,wxLegionActivityOrder);
}

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

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("导出活动数据(带单数据)")
@GetMapping("/exportActivitySellOrder")
public void exportActivitySellOrder(@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.exportActivitySellOrder(request,response,wxLegionActivityOrder);
}

}

+ 55
- 0
mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityController.java Vedi File

@@ -0,0 +1,55 @@
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.WxLegionActivity;
import com.iformall.domain.po.base.BaseEntity.SortField;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.enums.EnumLegionActivityStatus;
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 jodd.util.StringUtil;
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/legion")
@Api(tags = "军团活动相关接口")
public class WxLegionActivityController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxLegionActivityService wxLegionActivityService;


@ApiVersion(group = SwaggerConstant.V_2_0_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 WxLegionActivity wxLegionActivity, Integer pageNum, Integer pageSize) {
if (null == wxLegionActivity) wxLegionActivity = new WxLegionActivity();
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivity.updateTenantInfo(tenantInfo);
wxLegionActivity.setStatusList(EnumLegionActivityStatus.getLine());
wxLegionActivity.setSortColumns(SortField.CreateDate_DESC);
final PageInfo<WxLegionActivity> page = wxLegionActivityService.listAsPage(wxLegionActivity, false,pageNum, pageSize);
return new ResultData(page);
}
}

+ 111
- 0
mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityOrderController.java Vedi File

@@ -0,0 +1,111 @@
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.WxLegionActivityOrder;
import com.iformall.domain.po.WxOfflineActivityRecord;
import com.iformall.domain.po.base.BaseEntity.SortField;
import com.iformall.domain.po.base.TenantEntity;
import com.iformall.service.WxLegionActivityOrderService;
import com.iformall.service.WxOfflineActivityRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import jodd.util.StringUtil;
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/legionOrder")
@Api(tags = "军团活动订单相关接口")
public class WxLegionActivityOrderController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxLegionActivityOrderService wxLegionActivityOrderService;

@ApiVersion(group = SwaggerConstant.V_2_0_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 WxLegionActivityOrder wxLegionActivityOrder, Integer pageNum, Integer pageSize) {
if (null == wxLegionActivityOrder) wxLegionActivityOrder = new WxLegionActivityOrder();
if(wxLegionActivityOrder.getActivityId() == null){
return new ResultData(Result.ERROR,"活动ID不能为空");
}
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
wxLegionActivityOrder.setSortColumns(SortField.CreateDate_DESC);
wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId());
final PageInfo<WxLegionActivityOrder> page = wxLegionActivityOrderService.listAsPage(wxLegionActivityOrder, pageNum, pageSize);
return new ResultData(page);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("新增修改接口")
@PostMapping("saveOrUpdate")
public ResultData saveOrUpdate(@RequestBody WxLegionActivityOrder wxLegionActivityOrder) {
if(wxLegionActivityOrder.getActivityId() == null){
return new ResultData(Result.ERROR,"活动ID不能为空");
}
if(StringUtil.isBlank(wxLegionActivityOrder.getOrderNo())){
return new ResultData(Result.ERROR,"订单号不能为空");
}
if (null == wxLegionActivityOrder.getOrderMoney() ) {
return new ResultData(Result.ERROR,"订单金额不能为空");
}
if(wxLegionActivityOrder.getCusId() == null){
return new ResultData(Result.ERROR,"未查询到用户,请先进行VIP卡绑定");
}
if(StringUtil.isBlank(wxLegionActivityOrder.getCusPhone())){
return new ResultData(Result.ERROR,"客户手机号不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantEntity);
wxLegionActivityOrder.setCreateBy(getMerchantBUserId());
wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId());
wxLegionActivityOrderService.saveOrUpdate(wxLegionActivityOrder);
return new ResultData();
}

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

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("查询当前信息统计")
@GetMapping("statistics")
public ResultData statisticsCount(@ModelAttribute WxLegionActivityOrder wxLegionActivityOrder) {
if(wxLegionActivityOrder.getActivityId() == null){
return new ResultData(Result.ERROR,"活动ID不能为空");
}
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityOrder.updateTenantInfo(tenantInfo);
wxLegionActivityOrder.setMerchantId(getLoginBUser().getMerchantId());
Map<String,Integer> statisticsMap = wxLegionActivityOrderService.getStatistics(wxLegionActivityOrder);
return new ResultData(statisticsMap);
}

}

+ 113
- 0
mallinkBApi/src/main/java/com/iformall/controller/WxLegionActivityUserController.java Vedi File

@@ -0,0 +1,113 @@
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.WxLegionActivityUser;
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.EnumLegionActivityUserStatus;
import com.iformall.service.WxLegionActivityUserService;
import com.iformall.service.WxOfflineActivityRecordService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import jodd.util.StringUtil;
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/legionUser")
@Api(tags = "军团活动用户相关接口")
public class WxLegionActivityUserController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxLegionActivityUserService wxLegionActivityUserService;

@ApiVersion(group = SwaggerConstant.V_2_0_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 WxLegionActivityUser wxLegionActivityUser, Integer pageNum, Integer pageSize) {
if (null == wxLegionActivityUser) wxLegionActivityUser = new WxLegionActivityUser();
if(wxLegionActivityUser.getActivityId() == null){
return new ResultData(Result.ERROR,"活动ID不能为空");
}
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityUser.updateTenantInfo(tenantInfo);
wxLegionActivityUser.setSortColumns(SortField.CreateDate_DESC);
wxLegionActivityUser.setMerchantId(getLoginBUser().getMerchantId());
final PageInfo<WxLegionActivityUser> page = wxLegionActivityUserService.listAsPage(wxLegionActivityUser, pageNum, pageSize);
return new ResultData(page);
}

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("新增修改接口")
@PostMapping("saveOrUpdate")
public ResultData saveOrUpdate(@RequestBody WxLegionActivityUser wxLegionActivityUser) {
if(wxLegionActivityUser.getActivityId() == null){
return new ResultData(Result.ERROR,"活动ID不能为空");
}
if(StringUtil.isBlank(wxLegionActivityUser.getPhone())){
return new ResultData(Result.ERROR,"客户手机号不能为空");
}
if(StringUtil.isBlank(wxLegionActivityUser.getVipNum())){
return new ResultData(Result.ERROR,"vip卡号不能为空");
}
TenantEntity tenantEntity = getTenantInfo();
wxLegionActivityUser.updateTenantInfo(tenantEntity);
wxLegionActivityUser.setCreateBy(getMerchantBUserId());
wxLegionActivityUser.setMerchantId(getLoginBUser().getMerchantId());
wxLegionActivityUserService.saveOrUpdate(wxLegionActivityUser);
return new ResultData();
}

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

@ApiVersion(group = SwaggerConstant.V_2_0_0)
@ApiOperation("通过手机号查询")
@GetMapping("getByPhone")
@ApiImplicitParams({
@ApiImplicitParam(name = "id", value = "主键id", dataType = "Long", paramType = "query", required = true)})
public ResultData getInfoById(@ModelAttribute WxLegionActivityUser wxLegionActivityUser) {
if(wxLegionActivityUser.getActivityId() == null){
return new ResultData(Result.ERROR,"活动ID不能为空");
}
if(StringUtil.isBlank(wxLegionActivityUser.getPhone())){
return new ResultData(Result.ERROR,"客户手机号不能为空");
}
TenantEntity tenantInfo = getTenantInfo();
wxLegionActivityUser.updateTenantInfo(tenantInfo);
wxLegionActivityUser.setStatus(EnumLegionActivityUserStatus.VALID.getCode());
WxLegionActivityUser user = wxLegionActivityUserService.selectOne(wxLegionActivityUser);
if(user == null){
return new ResultData(Result.ERROR,"未查询到用户,请先绑定VIP");
}
return new ResultData(user);
}
}

+ 14
- 0
mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityCount.java Vedi File

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

import lombok.Data;

import java.io.Serializable;

@Data
public class LegionActivityCount implements Serializable {

private static final long serialVersionUID = 1L;

private Long activityId;
private Integer count;
}

+ 33
- 0
mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityMerchantStatistics.java Vedi File

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

import cn.afterturn.easypoi.excel.annotation.Excel;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.Data;

import java.io.Serializable;

@Data
public class LegionActivityMerchantStatistics implements Serializable {

private static final long serialVersionUID = 1L;

private Long merchantId;
@Excel(name="商铺名称",width = 20,orderNum = "1")
private String merchantName;
@Excel(name="商铺号",width = 20,orderNum = "2")
private String shopNumber;
@Excel(name="售卡数量",width = 20,orderNum = "3")
private Integer userCount;
@Excel(name="签单数量",width = 20,orderNum = "4")
private Integer orderCount;
// @Excel(name="带单数量",width = 20,orderNum = "5")
private Integer sellOrderCount;
@Excel(name="军团外带单",width = 20,orderNum = "6")
private Integer difLegion;
@Excel(name="非原军团内部带单",width = 20,orderNum = "7")
private Integer difUnion;
@Excel(name="原军团内部带单",width = 20,orderNum = "8")
private Integer eqUnion;
@Excel(name="得分",width = 20,orderNum = "9")
private Integer totalScore;
}

+ 15
- 0
mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderStatistics.java Vedi File

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

import lombok.Data;

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

@Data
public class LegionActivityOrderStatistics implements Serializable {

private static final long serialVersionUID = 1L;

private Integer auditStatus;
private Integer count;
}

+ 15
- 0
mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityOrderTypeStatistics.java Vedi File

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

import lombok.Data;

import java.io.Serializable;

@Data
public class LegionActivityOrderTypeStatistics implements Serializable {

private static final long serialVersionUID = 1L;

private Long merchantId;
private Integer orderType;
private Integer count;
}

+ 58
- 0
mallinkService/src/main/java/com/iformall/domain/vo/LegionActivitySellOrder.java Vedi File

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

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

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

@Data
public class LegionActivitySellOrder implements Serializable {

private static final long serialVersionUID = 1L;

private Long cusId;
private String cusPhone;
@Excel(name = "VIP卡号", width = 20, orderNum = "4")
private String cusVipNum;
private Long cusMerchantId;
@Excel(name="卡属商户",width = 20,orderNum = "6")
private String cusMerchantName;
@Excel(name="卡属商铺号",width = 20,orderNum = "7")
private String cusShopNumber;

private Long cusLegionId;
@Excel(name = "卡属军团", width = 20, orderNum = "2")
private String cusLegionName;
private Long cusUnionId;
// @Excel(name = "卡属派系", width = 20, orderNum = "3")
private String cusUnionName;

private Date cusCreateDate;

private Long orderId;
@Excel(name = "订单号", width = 20, orderNum = "15")
private String orderNo;
private BigDecimal orderMoney;
private Long orderMerchantId;
@Excel(name = "订单商户", width = 20, orderNum = "13")
private String orderMerchantName;
@Excel(name = "订单商户号", width = 20, orderNum = "14")
private String orderShopNumber;

private Long orderLegionId;
@Excel(name = "订单军团", width = 20, orderNum = "11")
private String orderLegionName;
private Long orderUnionId;
// @Excel(name = "订单派系", width = 20, orderNum = "12")
private String orderUnionName;

private Integer orderType;

@Excel(name = "时间", format = "yyyy-MM-dd HH:mm:ss", width = 20, orderNum = "1")
private Date orderCreateDate;

@Excel(name = "带单积分", width = 20, orderNum = "16")
private Integer score;
}

+ 14
- 0
mallinkService/src/main/java/com/iformall/domain/vo/LegionActivityUserStatistics.java Vedi File

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

import lombok.Data;

import java.io.Serializable;

@Data
public class LegionActivityUserStatistics implements Serializable {

private static final long serialVersionUID = 1L;

private Long merchantId;
private Integer count;
}

+ 36
- 0
mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderLegionType.java Vedi File

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


/**
* @author gongbiao
*/
public enum EnumLegionActivityOrderLegionType {

EQ_LEGION(1, "团内"),
DIF_LEGION(2, "团外"),;

public static EnumLegionActivityOrderLegionType getEnum(Integer code) {
for (EnumLegionActivityOrderLegionType value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumLegionActivityOrderLegionType(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 38
- 0
mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderStatus.java Vedi File

@@ -0,0 +1,38 @@
package com.iformall.enums;


/**
* @author gongbiao
*/
public enum EnumLegionActivityOrderStatus {

AUDTING(0, "审核中"),
AUDI_SUCCESS(1, "审批通过"),
AUDT_FAIL(2, "审批拒绝"),
INVALID(3, "失效"),;

public static EnumLegionActivityOrderStatus getEnum(Integer code) {
for (EnumLegionActivityOrderStatus value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumLegionActivityOrderStatus(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 58
- 0
mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderType.java Vedi File

@@ -0,0 +1,58 @@
package com.iformall.enums;


import java.util.ArrayList;
import java.util.List;

/**
* @author gongbiao
*/
public enum EnumLegionActivityOrderType {

SIGN_ORDER(0, "签单"),
DIF_LEGION(1, "外部军团带单"),
DIF_UNION(2, "内部军团不同联盟带单"),
EQ_UNION(3, "内部军团相同联盟带单"),
NOT_UNION(4, "内部军团无联盟带单"),;

public static EnumLegionActivityOrderType getEnum(Integer code) {
for (EnumLegionActivityOrderType value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumLegionActivityOrderType(Integer code, String message) {
this.code = code;
this.message = message;
}

public static List<Integer> getDifUnion() {
List<Integer> result = new ArrayList<Integer>();
result.add(DIF_LEGION.getCode());
result.add(DIF_UNION.getCode());
result.add(NOT_UNION.getCode());
return result;
}

public static List<Integer> getEqLegion() {
List<Integer> result = new ArrayList<>();
result.add(DIF_UNION.getCode());
result.add(EQ_UNION.getCode());
result.add(NOT_UNION.getCode());
return result;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 36
- 0
mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityOrderUnionType.java Vedi File

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


/**
* @author gongbiao
*/
public enum EnumLegionActivityOrderUnionType {

EQ_UNION(1, "原联盟"),
DIF_UNION(2, "非联盟"),;

public static EnumLegionActivityOrderUnionType getEnum(Integer code) {
for (EnumLegionActivityOrderUnionType value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumLegionActivityOrderUnionType(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 56
- 0
mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityStatus.java Vedi File

@@ -0,0 +1,56 @@
package com.iformall.enums;


import java.util.ArrayList;
import java.util.List;

/**
* @author gongbiao
*/
public enum EnumLegionActivityStatus {

DRAFT(0, "草稿"),
ON_LINE(1, "已上架"),
OFF_LINE(2, "已下架"),
EXPIRE(3, "已过期")
;

public static EnumLegionActivityStatus getEnum(Integer code) {
for (EnumLegionActivityStatus value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumLegionActivityStatus(Integer code, String message) {
this.code = code;
this.message = message;
}

public static List<Integer> getOffLine() {
List<Integer> offLine = new ArrayList<Integer>();
offLine.add(DRAFT.code);
offLine.add(OFF_LINE.code);
return offLine;
}

public static List<Integer> getLine() {
List<Integer> line = new ArrayList<Integer>();
line.add(ON_LINE.code);
line.add(OFF_LINE.code);
return line;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

+ 36
- 0
mallinkService/src/main/java/com/iformall/enums/EnumLegionActivityUserStatus.java Vedi File

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


/**
* @author gongbiao
*/
public enum EnumLegionActivityUserStatus {

VALID(0, "有效"),
INVALID(1, "失效"),;

public static EnumLegionActivityUserStatus getEnum(Integer code) {
for (EnumLegionActivityUserStatus value : values()) {
if (value.getCode().equals(code)) {
return value;
}
}
return null;
}

private Integer code;
private String message;

EnumLegionActivityUserStatus(Integer code, String message) {
this.code = code;
this.message = message;
}

public Integer getCode() {
return code;
}

public String getMessage() {
return message;
}
}

Caricamento…
Annulla
Salva