| @@ -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); | |||||
| } | |||||
| } | |||||
| @@ -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); | |||||
| // } | |||||
| // | |||||
| // | |||||
| // | |||||
| //} | |||||
| @@ -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); | |||||
| } | |||||
| } | |||||
| @@ -1,6 +1,8 @@ | |||||
| package com.iformall.domain.po; | package com.iformall.domain.po; | ||||
| import cn.afterturn.easypoi.excel.annotation.Excel; | 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.IdType; | ||||
| import com.baomidou.mybatisplus.annotation.TableField; | import com.baomidou.mybatisplus.annotation.TableField; | ||||
| import com.baomidou.mybatisplus.annotation.TableId; | 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") | @TableField(value = "vip_num") | ||||
| private String vipNum; | private String vipNum; | ||||
| /** | /** | ||||
| * 客户姓名 | * 客户姓名 | ||||
| */ | */ | ||||
| @Excel(name = "客户姓名", width = 20, orderNum = "15") | |||||
| @TableField(value = "cus_name") | @TableField(value = "cus_name") | ||||
| private String cusName; | private String cusName; | ||||
| @@ -52,6 +56,7 @@ public class WxVtwoActivityOrder extends TenantEntity { | |||||
| /** | /** | ||||
| * 客户电话 | * 客户电话 | ||||
| */ | */ | ||||
| @Excel(name = "客户电话", width = 20, orderNum = "16") | |||||
| @TableField(value = "cus_phone") | @TableField(value = "cus_phone") | ||||
| private String cusPhone; | private String cusPhone; | ||||
| @@ -64,6 +69,7 @@ public class WxVtwoActivityOrder extends TenantEntity { | |||||
| /** | /** | ||||
| * 客户地址 | * 客户地址 | ||||
| */ | */ | ||||
| @Excel(name = "订单地址", width = 20, orderNum = "4") | |||||
| @TableField(value = "cus_address") | @TableField(value = "cus_address") | ||||
| private String cusAddress; | private String cusAddress; | ||||
| @@ -76,6 +82,7 @@ public class WxVtwoActivityOrder extends TenantEntity { | |||||
| /** | /** | ||||
| * | * | ||||
| */ | */ | ||||
| @Excel(name = "所属军团", width = 20, orderNum = "18") | |||||
| @TableField(value = "legion_name") | @TableField(value = "legion_name") | ||||
| private String legionName; | private String legionName; | ||||
| @@ -88,6 +95,7 @@ public class WxVtwoActivityOrder extends TenantEntity { | |||||
| /** | /** | ||||
| * | * | ||||
| */ | */ | ||||
| @Excel(name = "所属联盟", width = 20, orderNum = "19") | |||||
| @TableField(value = "union_name") | @TableField(value = "union_name") | ||||
| private String unionName; | private String unionName; | ||||
| @@ -100,14 +108,16 @@ public class WxVtwoActivityOrder extends TenantEntity { | |||||
| /** | /** | ||||
| * 订单号 | * 订单号 | ||||
| */ | */ | ||||
| @Excel(name = "订单号", width = 20, orderNum = "1") | |||||
| @TableField(value = "order_no") | @TableField(value = "order_no") | ||||
| private String orderNo; | 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") | @TableField(value = "merchant_id") | ||||
| private Long merchantId; | private Long merchantId; | ||||
| // @Excel(name = "商户名称", width = 20, orderNum = "6") | |||||
| @Excel(name = "商户名称", width = 20, orderNum = "5") | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private String merchantName; | private String merchantName; | ||||
| // @Excel(name="商铺号",width = 20,orderNum = "7") | |||||
| @Excel(name="商铺号",width = 20,orderNum = "6") | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private String shopNumber; | private String shopNumber; | ||||
| @@ -132,6 +142,7 @@ public class WxVtwoActivityOrder extends TenantEntity { | |||||
| */ | */ | ||||
| @TableField(value = "business_id") | @TableField(value = "business_id") | ||||
| private Integer businessId; | private Integer businessId; | ||||
| @Excel(name="业态",width = 20,orderNum = "7") | |||||
| @TableField(exist = false) | @TableField(exist = false) | ||||
| private String businessName; | private String businessName; | ||||
| @@ -140,28 +151,54 @@ public class WxVtwoActivityOrder extends TenantEntity { | |||||
| */ | */ | ||||
| @TableField(value = "lottery_num") | @TableField(value = "lottery_num") | ||||
| private String lotteryNum; | 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") | @TableField(value = "lottery_count") | ||||
| private Integer lotteryCount; | private Integer lotteryCount; | ||||
| /** | /** | ||||
| * 周年庆抽奖编码 | * 周年庆抽奖编码 | ||||
| */ | */ | ||||
| @Excel(name = "周年庆抽奖编码", width = 20, orderNum = "10") | |||||
| @TableField(value = "anniversary_lottery_num") | @TableField(value = "anniversary_lottery_num") | ||||
| private String anniversaryLotteryNum; | private String anniversaryLotteryNum; | ||||
| /** | /** | ||||
| * 审批状态 | * 审批状态 | ||||
| */ | */ | ||||
| @Excel(name = "订单状态", width = 20, orderNum = "3", replace = {"审核中_0", "已审批_1", "已驳回_2", "已退单_3", "已发奖_10"}) | |||||
| @TableField(value = "audit_status") | @TableField(value = "audit_status") | ||||
| private Integer auditStatus; | private Integer auditStatus; | ||||
| /** | /** | ||||
| * 审批意见 | * 审批意见 | ||||
| */ | */ | ||||
| @Excel(name = "审核意见", width = 20, orderNum = "14") | |||||
| @TableField(value = "audit_remark") | @TableField(value = "audit_remark") | ||||
| private String auditRemark; | private String auditRemark; | ||||
| @@ -170,16 +207,21 @@ public class WxVtwoActivityOrder extends TenantEntity { | |||||
| */ | */ | ||||
| @TableField(value = "audit_by") | @TableField(value = "audit_by") | ||||
| private Long auditBy; | 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") | @TableField(value = "audit_time") | ||||
| private Date auditTime; | private Date auditTime; | ||||
| /** | /** | ||||
| * 积分变动值 | * 积分变动值 | ||||
| */ | */ | ||||
| @Excel(name = "积分变动值", width = 20, orderNum = "20") | |||||
| @TableField(value = "increased_points") | @TableField(value = "increased_points") | ||||
| private Integer increasedPoints; | private Integer increasedPoints; | ||||
| @@ -188,13 +230,11 @@ public class WxVtwoActivityOrder extends TenantEntity { | |||||
| */ | */ | ||||
| @TableField(value = "create_by") | @TableField(value = "create_by") | ||||
| private Long createBy; | 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") | @TableField(value = "create_date") | ||||
| private Date createDate; | private Date createDate; | ||||
| @@ -12,5 +12,5 @@ public class WxVtwoActivityOrderStatistics implements Serializable { | |||||
| private Integer auditStatus; | private Integer auditStatus; | ||||
| private Integer count; | private Integer count; | ||||
| private BigDecimal sumAmount; | |||||
| private BigDecimal sumMoney; | |||||
| } | } | ||||
| @@ -14,7 +14,7 @@ public class WxVtwoOrderBusinessStatistics implements Serializable { | |||||
| private String businessName; | private String businessName; | ||||
| private Integer businessCount; | private Integer businessCount; | ||||
| private BigDecimal sumAmount; | |||||
| private BigDecimal sumMoney; | |||||
| private Double moneyRatio; | private Double moneyRatio; | ||||
| @@ -14,6 +14,6 @@ public class WxVtwoOrderCountStatistics implements Serializable { | |||||
| private Integer userCount; | private Integer userCount; | ||||
| private Integer orderCount; | private Integer orderCount; | ||||
| private BigDecimal sumAmount; | |||||
| private BigDecimal sumMoney; | |||||
| private Integer merchantCount; | private Integer merchantCount; | ||||
| } | } | ||||
| @@ -5,6 +5,7 @@ import com.iformall.domain.po.WxVtwoActivitySpecialTopic; | |||||
| import com.baomidou.mybatisplus.core.mapper.BaseMapper; | import com.baomidou.mybatisplus.core.mapper.BaseMapper; | ||||
| import io.lettuce.core.dynamic.annotation.Param; | import io.lettuce.core.dynamic.annotation.Param; | ||||
| import java.util.Date; | |||||
| import java.util.List; | import java.util.List; | ||||
| /** | /** | ||||
| @@ -20,6 +21,8 @@ public interface WxVtwoActivitySpecialTopicMapper extends CommonMapper<WxVtwoAct | |||||
| int selectCreditCount(WxVtwoActivitySpecialTopic specialTopic); | int selectCreditCount(WxVtwoActivitySpecialTopic specialTopic); | ||||
| WxVtwoActivitySpecialTopic selectById(@Param("id") Long id, @Param("tenantId")String tenantId); | WxVtwoActivitySpecialTopic selectById(@Param("id") Long id, @Param("tenantId")String tenantId); | ||||
| WxVtwoActivitySpecialTopic selectCreditOne(@Param("tenantId")String tenantId,@Param("creditOnOff") Integer id, @Param("orderDate") Date orderDate); | |||||
| } | } | ||||
| @@ -18,6 +18,8 @@ public interface WxVtwoSpecialTopicActivityMapper extends CommonMapper<WxVtwoSpe | |||||
| void insertList(@Param("activityList") List<WxVtwoSpecialTopicActivity> activityList); | void insertList(@Param("activityList") List<WxVtwoSpecialTopicActivity> activityList); | ||||
| List<WxVtwoSpecialTopicActivity> findList(WxVtwoSpecialTopicActivity specialTopicActivity); | List<WxVtwoSpecialTopicActivity> findList(WxVtwoSpecialTopicActivity specialTopicActivity); | ||||
| void updateByActivity(WxVtwoSpecialTopicActivity specialTopicActivity); | |||||
| } | } | ||||
| @@ -1,12 +1,10 @@ | |||||
| package com.iformall.service; | 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.baomidou.mybatisplus.extension.service.IService; | ||||
| import com.iformall.domain.po.WxLegionActivityOrder; | |||||
| import com.iformall.domain.po.WxOfflineActivity; | |||||
| import java.util.List; | import java.util.List; | ||||
| import java.util.Map; | |||||
| /** | /** | ||||
| * @author xiaohu | * @author xiaohu | ||||
| @@ -15,11 +13,13 @@ import java.util.List; | |||||
| */ | */ | ||||
| public interface WxLegionActivityOfflineConfigService { | 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(WxLegionActivityOrder legionActivityOrder); | ||||
| void syncOfflineActivityRecord(List<WxLegionActivityOrder> wxLegionActivityOrders); | void syncOfflineActivityRecord(List<WxLegionActivityOrder> wxLegionActivityOrders); | ||||
| void syncOfflineActivityOrder(WxLegionActivityUser user, WxLegionActivityOrder legionActivityOrder, Map<Long, String> legionConfigMap); | |||||
| } | } | ||||
| @@ -1,7 +1,14 @@ | |||||
| package com.iformall.service; | package com.iformall.service; | ||||
| import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.domain.po.WxVtwoActivityOrder; | import com.iformall.domain.po.WxVtwoActivityOrder; | ||||
| import com.baomidou.mybatisplus.extension.service.IService; | 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 | * @author xiaohu | ||||
| @@ -10,4 +17,23 @@ import com.baomidou.mybatisplus.extension.service.IService; | |||||
| */ | */ | ||||
| public interface WxVtwoActivityOrderService extends IService<WxVtwoActivityOrder> { | 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); | |||||
| } | } | ||||
| @@ -1,8 +1,12 @@ | |||||
| package com.iformall.service; | package com.iformall.service; | ||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.domain.po.WxVtwoActivityOrder; | |||||
| import com.iformall.domain.po.WxVtwoActivitySpecialTopic; | import com.iformall.domain.po.WxVtwoActivitySpecialTopic; | ||||
| import com.baomidou.mybatisplus.extension.service.IService; | import com.baomidou.mybatisplus.extension.service.IService; | ||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import java.util.Date; | |||||
| /** | /** | ||||
| * @author xiaohu | * @author xiaohu | ||||
| @@ -16,4 +20,6 @@ public interface WxVtwoActivitySpecialTopicService extends IService<WxVtwoActivi | |||||
| int selectCreditCount(WxVtwoActivitySpecialTopic specialTopic); | int selectCreditCount(WxVtwoActivitySpecialTopic specialTopic); | ||||
| WxVtwoActivitySpecialTopic getInfoById(Long id, String tenantId); | WxVtwoActivitySpecialTopic getInfoById(Long id, String tenantId); | ||||
| WxVtwoActivitySpecialTopic selectCreditOne(TenantEntity tenantEntity, Date createDate); | |||||
| } | } | ||||
| @@ -7,11 +7,8 @@ import com.iformall.enums.EnumOfflineActivityRecordStatus; | |||||
| import com.iformall.mapper.WxLegionActivityOrderMapper; | import com.iformall.mapper.WxLegionActivityOrderMapper; | ||||
| import com.iformall.mapper.WxOfflineActivityMapper; | import com.iformall.mapper.WxOfflineActivityMapper; | ||||
| import com.iformall.mapper.WxOfflineActivityRecordMapper; | import com.iformall.mapper.WxOfflineActivityRecordMapper; | ||||
| import com.iformall.service.WxLegionActivityOfflineConfigService; | |||||
| import com.iformall.service.*; | |||||
| import com.iformall.mapper.WxLegionActivityOfflineConfigMapper; | 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.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | import org.springframework.stereotype.Service; | ||||
| import org.springframework.transaction.annotation.Transactional; | import org.springframework.transaction.annotation.Transactional; | ||||
| @@ -27,11 +24,11 @@ import java.util.stream.Collectors; | |||||
| @Service | @Service | ||||
| public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivityOfflineConfigService{ | public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivityOfflineConfigService{ | ||||
| @Autowired | |||||
| private WxLegionActivityOfflineConfigMapper wxLegionActivityOfflineConfigMapper; | |||||
| @Autowired | |||||
| private WxOfflineActivityMapper wxOfflineActivityMapper; | |||||
| // @Autowired | |||||
| // private WxLegionActivityOfflineConfigMapper wxLegionActivityOfflineConfigMapper; | |||||
| // | |||||
| // @Autowired | |||||
| // private WxOfflineActivityMapper wxOfflineActivityMapper; | |||||
| @Autowired | @Autowired | ||||
| private WxOfflineActivityRecordMapper wxOfflineActivityRecordMapper; | private WxOfflineActivityRecordMapper wxOfflineActivityRecordMapper; | ||||
| @@ -40,41 +37,44 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit | |||||
| private WxOfflineActivityRecordService wxOfflineActivityRecordService; | private WxOfflineActivityRecordService wxOfflineActivityRecordService; | ||||
| @Autowired | @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 | @Override | ||||
| @Transactional(rollbackFor = Exception.class) | @Transactional(rollbackFor = Exception.class) | ||||
| @@ -126,7 +126,6 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit | |||||
| } | } | ||||
| private WxOfflineActivityRecord createOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder) { | private WxOfflineActivityRecord createOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder) { | ||||
| WxOfflineActivityRecord activityRecord = new WxOfflineActivityRecord(); | WxOfflineActivityRecord activityRecord = new WxOfflineActivityRecord(); | ||||
| activityRecord.updateTenantInfo(legionActivityOrder); | activityRecord.updateTenantInfo(legionActivityOrder); | ||||
| @@ -155,6 +154,48 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit | |||||
| return activityRecord; | 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); | |||||
| } | |||||
| } | } | ||||
| @@ -368,8 +368,15 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||||
| Integer upd = wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrder); | Integer upd = wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrder); | ||||
| if(upd == 1 && EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(wxLegionActivityOrder.getAuditStatus())){ | if(upd == 1 && EnumLegionActivityOrderStatus.AUDI_SUCCESS.getCode().equals(wxLegionActivityOrder.getAuditStatus())){ | ||||
| //同步订单 | //同步订单 | ||||
| WxLegionActivityOrder legionActivityOrder = wxLegionActivityOrderMapper.selectById(wxLegionActivityOrder.getId(), wxLegionActivityOrder.getTenantId()); | 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()); | WxLegionActivityUser user = wxLegionActivityUserMapper.selectById(legionActivityOrder.getCusId(), legionActivityOrder.getTenantId()); | ||||
| legionActivityOrder.setCusPhone(user.getPhone()); | legionActivityOrder.setCusPhone(user.getPhone()); | ||||
| legionActivityOrder.setCusVipNum(user.getVipNum()); | legionActivityOrder.setCusVipNum(user.getVipNum()); | ||||
| @@ -382,7 +389,7 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||||
| legionActivityOrder.setAuditTime(wxLegionActivityOrder.getAuditTime()); | legionActivityOrder.setAuditTime(wxLegionActivityOrder.getAuditTime()); | ||||
| legionActivityOrder.setUpdateDate(wxLegionActivityOrder.getUpdateDate()); | legionActivityOrder.setUpdateDate(wxLegionActivityOrder.getUpdateDate()); | ||||
| wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(legionActivityOrder); | |||||
| wxLegionActivityOfflineConfigService.syncOfflineActivityOrder(user,legionActivityOrder,legionConfigMap); | |||||
| } | } | ||||
| } | } | ||||
| @@ -701,6 +708,11 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||||
| wxLegionActivityOrderUpd.setUpdateDate(now); | wxLegionActivityOrderUpd.setUpdateDate(now); | ||||
| Integer upd = wxLegionActivityOrderMapper.updateAuditStatus(wxLegionActivityOrderUpd); | 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()); | List<Long> userIds = syncOrders.stream().map(WxLegionActivityOrder::getCusId).filter(Objects::nonNull).distinct().collect(Collectors.toList()); | ||||
| WxLegionActivityUser userQ = new WxLegionActivityUser(); | WxLegionActivityUser userQ = new WxLegionActivityUser(); | ||||
| userQ.updateTenantInfo(tenantEntity); | userQ.updateTenantInfo(tenantEntity); | ||||
| @@ -714,8 +726,9 @@ public class WxLegionActivityOrderServiceImpl implements WxLegionActivityOrderSe | |||||
| legionActivityOrder.setAuditBy(userId); | legionActivityOrder.setAuditBy(userId); | ||||
| legionActivityOrder.setAuditTime(now); | legionActivityOrder.setAuditTime(now); | ||||
| legionActivityOrder.setUpdateDate(now); | legionActivityOrder.setUpdateDate(now); | ||||
| wxLegionActivityOfflineConfigService.syncOfflineActivityOrder(user,legionActivityOrder,legionConfigMap); | |||||
| } | } | ||||
| wxLegionActivityOfflineConfigService.syncOfflineActivityRecord(syncOrders); | |||||
| } | } | ||||
| @Override | @Override | ||||
| @@ -48,11 +48,8 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ | |||||
| @Autowired | @Autowired | ||||
| private WxLegionActivityMerchantConfigService wxLegionActivityMerchantConfigService; | private WxLegionActivityMerchantConfigService wxLegionActivityMerchantConfigService; | ||||
| @Autowired | |||||
| private WxLegionActivityOfflineConfigMapper wxLegionActivityOfflineConfigMapper; | |||||
| @Autowired | |||||
| private WxLegionActivityOfflineConfigService wxLegionActivityOfflineConfigService; | |||||
| // @Autowired | |||||
| // private WxLegionActivityOfflineConfigService wxLegionActivityOfflineConfigService; | |||||
| @Autowired | @Autowired | ||||
| private WxLegionActivityOrderService wxLegionActivityOrderService; | private WxLegionActivityOrderService wxLegionActivityOrderService; | ||||
| @@ -187,7 +184,7 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ | |||||
| wxLegionActivityMapper.updateById(wxLegionActivity); | wxLegionActivityMapper.updateById(wxLegionActivity); | ||||
| } | } | ||||
| //处理线下活动配置 | //处理线下活动配置 | ||||
| wxLegionActivityOfflineConfigService.handleOfflineConfig(wxLegionActivity); | |||||
| // wxLegionActivityOfflineConfigService.handleOfflineConfig(wxLegionActivity); | |||||
| //处理军团配置 | //处理军团配置 | ||||
| wxLegionActivityConfigService.handleLegionConfig(wxLegionActivity); | wxLegionActivityConfigService.handleLegionConfig(wxLegionActivity); | ||||
| @@ -205,7 +202,7 @@ public class WxLegionActivityServiceImpl implements WxLegionActivityService{ | |||||
| return activity; | return activity; | ||||
| } | } | ||||
| //获取活动发奖配置 | //获取活动发奖配置 | ||||
| activity.setOfflineActivityList(wxLegionActivityOfflineConfigService.getOfflineActivityList(activity)); | |||||
| // activity.setOfflineActivityList(wxLegionActivityOfflineConfigService.getOfflineActivityList(activity)); | |||||
| //获取军团配置 | //获取军团配置 | ||||
| WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); | WxLegionActivityConfig legionConfigQ = new WxLegionActivityConfig(); | ||||
| legionConfigQ.updateTenantInfo(activity); | legionConfigQ.updateTenantInfo(activity); | ||||
| @@ -1,10 +1,30 @@ | |||||
| package com.iformall.service.impl; | 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.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.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 | * @author xiaohu | ||||
| @@ -15,6 +35,303 @@ import org.springframework.stereotype.Service; | |||||
| public class WxVtwoActivityOrderServiceImpl extends ServiceImpl<WxVtwoActivityOrderMapper, WxVtwoActivityOrder> | public class WxVtwoActivityOrderServiceImpl extends ServiceImpl<WxVtwoActivityOrderMapper, WxVtwoActivityOrder> | ||||
| implements WxVtwoActivityOrderService{ | 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); | |||||
| } | |||||
| } | } | ||||
| @@ -7,6 +7,7 @@ import com.github.pagehelper.PageHelper; | |||||
| import com.github.pagehelper.PageInfo; | import com.github.pagehelper.PageInfo; | ||||
| import com.iformall.common.IdWorker; | import com.iformall.common.IdWorker; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.po.base.TenantEntity; | |||||
| import com.iformall.domain.vo.WxVtwoActivityCreditRule; | import com.iformall.domain.vo.WxVtwoActivityCreditRule; | ||||
| import com.iformall.domain.vo.WxVtwoActivityOrderStatistics; | import com.iformall.domain.vo.WxVtwoActivityOrderStatistics; | ||||
| import com.iformall.domain.vo.WxVtwoActivityRule; | import com.iformall.domain.vo.WxVtwoActivityRule; | ||||
| @@ -136,6 +137,16 @@ public class WxVtwoActivitySpecialTopicServiceImpl extends ServiceImpl<WxVtwoAct | |||||
| return specialTopic; | 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; | |||||
| } | |||||
| } | } | ||||
| @@ -7,12 +7,8 @@ import com.github.pagehelper.PageInfo; | |||||
| import com.iformall.common.IdWorker; | import com.iformall.common.IdWorker; | ||||
| import com.iformall.domain.po.*; | import com.iformall.domain.po.*; | ||||
| import com.iformall.domain.vo.WxVtwoActivityOrderStatistics; | import com.iformall.domain.vo.WxVtwoActivityOrderStatistics; | ||||
| import com.iformall.domain.vo.WxVtwoActivityRule; | |||||
| import com.iformall.domain.vo.WxVtwoActivityRuleDetail; | 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.mapper.*; | ||||
| import com.iformall.service.WxVtwoActivityAwardService; | import com.iformall.service.WxVtwoActivityAwardService; | ||||
| import com.iformall.service.WxVtwoActivityMerchantService; | import com.iformall.service.WxVtwoActivityMerchantService; | ||||
| @@ -49,6 +45,9 @@ public class WxVtwoAmountGiftActivityServiceImpl extends ServiceImpl<WxVtwoAmoun | |||||
| @Autowired | @Autowired | ||||
| private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper; | private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper; | ||||
| @Autowired | |||||
| private WxVtwoSpecialTopicActivityMapper wxVtwoSpecialTopicActivityMapper; | |||||
| @Autowired | @Autowired | ||||
| private WxVtwoActivityAwardService wxVtwoActivityAwardService; | private WxVtwoActivityAwardService wxVtwoActivityAwardService; | ||||
| @@ -154,6 +153,7 @@ public class WxVtwoAmountGiftActivityServiceImpl extends ServiceImpl<WxVtwoAmoun | |||||
| } | } | ||||
| wxVtwoActivityMerchantService.saveFromActivity(amountGiftActivity,amountGiftActivity.getId(),amountGiftActivity.getMerchantIdList()); | wxVtwoActivityMerchantService.saveFromActivity(amountGiftActivity,amountGiftActivity.getId(),amountGiftActivity.getMerchantIdList()); | ||||
| } | } | ||||
| updateSpecialTopicActivity(amountGiftActivity); | |||||
| return true; | 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 | @Override | ||||
| public WxVtwoAmountGiftActivity getInfoById(Long id, String tenantId) { | public WxVtwoAmountGiftActivity getInfoById(Long id, String tenantId) { | ||||
| WxVtwoAmountGiftActivity amountGiftActivity = wxVtwoAmountGiftActivityMapper.selectById(id, tenantId); | WxVtwoAmountGiftActivity amountGiftActivity = wxVtwoAmountGiftActivityMapper.selectById(id, tenantId); | ||||
| @@ -49,6 +49,9 @@ public class WxVtwoCashBackActivityServiceImpl extends ServiceImpl<WxVtwoCashBac | |||||
| @Autowired | @Autowired | ||||
| private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper; | private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper; | ||||
| @Autowired | |||||
| private WxVtwoSpecialTopicActivityMapper wxVtwoSpecialTopicActivityMapper; | |||||
| @Autowired | @Autowired | ||||
| private WxVtwoCashBackAwardService wxVtwoCashBackAwardService; | private WxVtwoCashBackAwardService wxVtwoCashBackAwardService; | ||||
| @@ -155,6 +158,7 @@ public class WxVtwoCashBackActivityServiceImpl extends ServiceImpl<WxVtwoCashBac | |||||
| } | } | ||||
| wxVtwoActivityMerchantService.saveFromActivity(cashBackActivity,cashBackActivity.getId(),cashBackActivity.getMerchantIdList()); | wxVtwoActivityMerchantService.saveFromActivity(cashBackActivity,cashBackActivity.getId(),cashBackActivity.getMerchantIdList()); | ||||
| } | } | ||||
| updateSpecialTopicActivity(cashBackActivity); | |||||
| return true; | 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 | @Override | ||||
| public WxVtwoCashBackActivity getInfoById(Long id, String tenantId) { | public WxVtwoCashBackActivity getInfoById(Long id, String tenantId) { | ||||
| WxVtwoCashBackActivity cashBackActivity = wxVtwoCashBackActivityMapper.selectById(id, tenantId); | WxVtwoCashBackActivity cashBackActivity = wxVtwoCashBackActivityMapper.selectById(id, tenantId); | ||||
| @@ -13,10 +13,7 @@ import com.iformall.domain.vo.OfflineActivityRecordStatistics; | |||||
| import com.iformall.domain.vo.WxVtwoActivityOrderStatistics; | import com.iformall.domain.vo.WxVtwoActivityOrderStatistics; | ||||
| import com.iformall.domain.vo.WxVtwoActivityRule; | import com.iformall.domain.vo.WxVtwoActivityRule; | ||||
| import com.iformall.domain.vo.WxVtwoActivityRuleDetail; | 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.mapper.*; | ||||
| import com.iformall.service.WxVtwoActivityAwardService; | import com.iformall.service.WxVtwoActivityAwardService; | ||||
| import com.iformall.service.WxVtwoActivityMerchantService; | import com.iformall.service.WxVtwoActivityMerchantService; | ||||
| @@ -53,6 +50,9 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD | |||||
| @Autowired | @Autowired | ||||
| private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper; | private WxVtwoActivityGrantSettlementMapper wxVtwoActivityGrantSettlementMapper; | ||||
| @Autowired | |||||
| private WxVtwoSpecialTopicActivityMapper wxVtwoSpecialTopicActivityMapper; | |||||
| @Autowired | @Autowired | ||||
| private WxVtwoActivityAwardService wxVtwoActivityAwardService; | private WxVtwoActivityAwardService wxVtwoActivityAwardService; | ||||
| @@ -159,6 +159,7 @@ public class WxVtwoPrizeDrawActivityServiceImpl extends ServiceImpl<WxVtwoPrizeD | |||||
| } | } | ||||
| wxVtwoActivityMerchantService.saveFromActivity(prizeDrawActivity,prizeDrawActivity.getId(),prizeDrawActivity.getMerchantIdList()); | wxVtwoActivityMerchantService.saveFromActivity(prizeDrawActivity,prizeDrawActivity.getId(),prizeDrawActivity.getMerchantIdList()); | ||||
| } | } | ||||
| updateSpecialTopicActivity(prizeDrawActivity); | |||||
| return true; | 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 | @Override | ||||
| public WxVtwoPrizeDrawActivity getInfoById(Long id, String tenantId) { | public WxVtwoPrizeDrawActivity getInfoById(Long id, String tenantId) { | ||||
| WxVtwoPrizeDrawActivity prizeDrawActivity = wxVtwoPrizeDrawActivityMapper.selectById(id, tenantId); | WxVtwoPrizeDrawActivity prizeDrawActivity = wxVtwoPrizeDrawActivityMapper.selectById(id, tenantId); | ||||
| @@ -21,7 +21,7 @@ | |||||
| <result property="unionName" column="union_name" jdbcType="VARCHAR"/> | <result property="unionName" column="union_name" jdbcType="VARCHAR"/> | ||||
| <result property="fromOrderId" column="from_order_id" jdbcType="BIGINT"/> | <result property="fromOrderId" column="from_order_id" jdbcType="BIGINT"/> | ||||
| <result property="orderNo" column="order_no" jdbcType="VARCHAR"/> | <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="merchantId" column="merchant_id" jdbcType="BIGINT"/> | ||||
| <result property="businessId" column="business_id" jdbcType="INTEGER"/> | <result property="businessId" column="business_id" jdbcType="INTEGER"/> | ||||
| <result property="lotteryNum" column="lottery_num" jdbcType="VARCHAR"/> | <result property="lotteryNum" column="lottery_num" jdbcType="VARCHAR"/> | ||||
| @@ -43,7 +43,7 @@ | |||||
| real_cus_name,cus_phone,cus_card, | real_cus_name,cus_phone,cus_card, | ||||
| cus_address,legion_id,legion_name, | cus_address,legion_id,legion_name, | ||||
| union_id,union_name,from_order_id, | 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, | business_id,lottery_num,lottery_count, | ||||
| anniversary_lottery_num,audit_status,audit_remark, | anniversary_lottery_num,audit_status,audit_remark, | ||||
| audit_by,audit_time,increased_points, | 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 id="auditStatusStatistics" parameterType="com.iformall.domain.po.WxVtwoActivityOrder" resultType="com.iformall.domain.vo.WxVtwoActivityOrderStatistics"> | ||||
| SELECT audit_status as 'auditStatus', | SELECT audit_status as 'auditStatus', | ||||
| count(1) as 'count', | count(1) as 'count', | ||||
| IFNULL(sum(order_amount),0) as 'sumAmount' | |||||
| IFNULL(sum(order_money),0) as 'sumMoney' | |||||
| FROM wx_vtwo_activity_order | FROM wx_vtwo_activity_order | ||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| GROUP BY audit_status | GROUP BY audit_status | ||||
| @@ -188,7 +188,7 @@ | |||||
| <select id="getCountStatistics" parameterType="com.iformall.domain.po.WxVtwoActivityOrder" resultType="com.iformall.domain.vo.WxVtwoOrderCountStatistics"> | <select id="getCountStatistics" parameterType="com.iformall.domain.po.WxVtwoActivityOrder" resultType="com.iformall.domain.vo.WxVtwoOrderCountStatistics"> | ||||
| select count(DISTINCT cus_phone) userCount, | select count(DISTINCT cus_phone) userCount, | ||||
| count(1) orderCount, | count(1) orderCount, | ||||
| IFNULL(sum(order_amount),0) sumAmount, | |||||
| IFNULL(sum(order_money),0) sumMoney, | |||||
| count(DISTINCT merchant_id) merchantCount | count(DISTINCT merchant_id) merchantCount | ||||
| from wx_vtwo_activity_order | from wx_vtwo_activity_order | ||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| @@ -197,7 +197,7 @@ | |||||
| select DATE_FORMAT(create_date,'%Y-%m-%d') as xTime, | select DATE_FORMAT(create_date,'%Y-%m-%d') as xTime, | ||||
| count(DISTINCT cus_phone) userCount, | count(DISTINCT cus_phone) userCount, | ||||
| count(1) orderCount, | count(1) orderCount, | ||||
| IFNULL(sum(order_amount),0) sumAmount, | |||||
| IFNULL(sum(order_money),0) sumMoney, | |||||
| count(DISTINCT merchant_id) merchantCount | count(DISTINCT merchant_id) merchantCount | ||||
| from wx_vtwo_activity_order | from wx_vtwo_activity_order | ||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| @@ -206,7 +206,7 @@ | |||||
| <select id="getBusinessStatistics" parameterType="com.iformall.domain.po.WxVtwoActivityOrder" resultType="com.iformall.domain.vo.WxVtwoOrderBusinessStatistics"> | <select id="getBusinessStatistics" parameterType="com.iformall.domain.po.WxVtwoActivityOrder" resultType="com.iformall.domain.vo.WxVtwoOrderBusinessStatistics"> | ||||
| select business_id businessId, | select business_id businessId, | ||||
| count(1) businessCount, | count(1) businessCount, | ||||
| IFNULL(sum(order_amount),0) sumAmount | |||||
| IFNULL(sum(order_money),0) sumMoney | |||||
| from wx_vtwo_activity_order | from wx_vtwo_activity_order | ||||
| <include refid="dynamicWhereConditions" /> | <include refid="dynamicWhereConditions" /> | ||||
| group by business_id | group by business_id | ||||
| @@ -219,7 +219,7 @@ | |||||
| real_cus_name,cus_phone,cus_card, | real_cus_name,cus_phone,cus_card, | ||||
| cus_address,legion_id,legion_name, | cus_address,legion_id,legion_name, | ||||
| union_id,union_name,from_order_id, | 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, | business_id,lottery_num,lottery_count, | ||||
| anniversary_lottery_num,audit_status,audit_remark, | anniversary_lottery_num,audit_status,audit_remark, | ||||
| audit_by,audit_time,increased_points, | audit_by,audit_time,increased_points, | ||||
| @@ -231,7 +231,7 @@ | |||||
| #{item.realCusName,jdbcType=VARCHAR},#{item.cusPhone,jdbcType=VARCHAR},#{item.cusCard,jdbcType=VARCHAR}, | #{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.cusAddress,jdbcType=VARCHAR},#{item.legionId,jdbcType=BIGINT},#{item.legionName,jdbcType=VARCHAR}, | ||||
| #{item.unionId,jdbcType=BIGINT},#{item.unionName,jdbcType=VARCHAR},#{item.fromOrderId,jdbcType=BIGINT}, | #{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.businessId,jdbcType=INTEGER},#{item.lotteryNum,jdbcType=VARCHAR},#{item.lotteryCount,jdbcType=INTEGER}, | ||||
| #{item.anniversaryLotteryNum,jdbcType=VARCHAR},#{item.auditStatus,jdbcType=INTEGER},#{item.auditRemark,jdbcType=VARCHAR}, | #{item.anniversaryLotteryNum,jdbcType=VARCHAR},#{item.auditStatus,jdbcType=INTEGER},#{item.auditRemark,jdbcType=VARCHAR}, | ||||
| #{item.auditBy,jdbcType=BIGINT},#{item.auditTime,jdbcType=TIMESTAMP},#{item.increasedPoints,jdbcType=INTEGER}, | #{item.auditBy,jdbcType=BIGINT},#{item.auditTime,jdbcType=TIMESTAMP},#{item.increasedPoints,jdbcType=INTEGER}, | ||||
| @@ -100,7 +100,8 @@ | |||||
| and ((`start_time` <= #{startTime} and `end_time` >= #{startTime}) | and ((`start_time` <= #{startTime} and `end_time` >= #{startTime}) | ||||
| or (`start_time` <= #{endTime} and `end_time` >= #{endTime})) | or (`start_time` <= #{endTime} and `end_time` >= #{endTime})) | ||||
| </select> | </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 | select <include refid="allColumns" /> from wx_vtwo_activity_special_topic | ||||
| where `tenant_id` = #{tenantId} | where `tenant_id` = #{tenantId} | ||||
| and credit_on_off = #{creditOnOff} | and credit_on_off = #{creditOnOff} | ||||
| @@ -71,4 +71,29 @@ | |||||
| #{item.updateDate,jdbcType=TIMESTAMP}) | #{item.updateDate,jdbcType=TIMESTAMP}) | ||||
| </foreach> | </foreach> | ||||
| </insert> | </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> | </mapper> | ||||