From 801cea18adb7b7a04642e105105c9b874bd70b55 Mon Sep 17 00:00:00 2001 From: xiaohu <1901900812@qq.com> Date: Sat, 7 Dec 2024 18:44:55 +0800 Subject: [PATCH] //offlineActivity --- .../market/WxOfflineActivityController.java | 36 ++++++ .../WxOfflineActivityRecordController.java | 15 +++ .../db/migration/V202412000000001.sql | 7 ++ .../iformall/domain/po/WxOfflineActivity.java | 37 ++++++ .../domain/po/WxOfflineActivityRecord.java | 3 + .../mapper/WxOfflineActivityMapper.java | 4 + .../mapper/WxOfflineActivityRecordMapper.java | 2 + .../WxOfflineActivityRecordService.java | 3 + .../service/WxOfflineActivityService.java | 8 ++ .../impl/WxCreditHistoryServiceImpl.java | 4 +- ...egionActivityOfflineConfigServiceImpl.java | 13 +++ .../WxOfflineActivityRecordServiceImpl.java | 109 +++++++++++++++++- .../impl/WxOfflineActivityServiceImpl.java | 16 +++ .../mapper/WxOfflineActivityMapper.xml | 32 +++++ .../mapper/WxOfflineActivityRecordMapper.xml | 15 ++- 15 files changed, 298 insertions(+), 6 deletions(-) create mode 100644 mallinkAdmin/src/main/resources/db/migration/V202412000000001.sql diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java index c3dcd2b45..2177c8bc4 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java @@ -1,5 +1,6 @@ package com.iformall.controller.market; +import com.alibaba.fastjson.JSONObject; import com.github.pagehelper.PageInfo; import com.iformall.annotation.ApiVersion; import com.iformall.common.Result; @@ -58,12 +59,47 @@ public class WxOfflineActivityController extends BaseController { return new ResultData(page); } + + @ApiOperation("判断积分按钮状态") + @PostMapping("handleCreditStatus") + public ResultData handleCreditStatus(@RequestBody WxOfflineActivity wxOfflineActivity) { + TenantEntity tenantEntity = getTenantInfo(); + wxOfflineActivity.updateTenantInfo(tenantEntity); + if(wxOfflineActivity.getStartTime() == null || wxOfflineActivity.getEndTime() == null){ + return new ResultData(Result.ERROR,"活动时间为空"); + } + if(wxOfflineActivityService.getCountWidthCredit(wxOfflineActivity) > 0){ + return new ResultData(false); + } + return new ResultData(true); + } @ApiOperation("新增修改接口") @PostMapping("saveOrUpdate") public ResultData saveOrUpdate(@RequestBody WxOfflineActivity wxOfflineActivity) { TenantEntity tenantEntity = getTenantInfo(); wxOfflineActivity.updateTenantInfo(tenantEntity); + if(wxOfflineActivity.getStartTime() == null || wxOfflineActivity.getEndTime() == null){ + return new ResultData(Result.ERROR,"活动时间为空"); + } + if(wxOfflineActivity.getCreditOnOff() == null){ + wxOfflineActivity.setCreditOnOff(EnumYesOrNo.NO.getCode()); + } + if(EnumYesOrNo.YES.getCode().equals(wxOfflineActivity.getCreditOnOff())){ + if(wxOfflineActivity.getCreditObject() == null){ + return new ResultData(Result.ERROR,"积分配置错误"); + } + JSONObject creditObject = wxOfflineActivity.getCreditObject(); + if(creditObject.getDouble(WxScoreRules.STEP).compareTo((double) 0) <= 0 + || creditObject.getInteger(WxScoreRules.SCORE) <= 0){ + return new ResultData(Result.ERROR,"积分配置不能为0"); + } + if(wxOfflineActivityService.getCountWidthCredit(wxOfflineActivity) > 0){ + return new ResultData(Result.ERROR,"活动时间内存在积分开启的活动"); + } + }else{ + wxOfflineActivity.setCreditConfig("{}"); + } if(wxOfflineActivity.getActivityItemList() == null || wxOfflineActivity.getActivityItemList().isEmpty()){ return new ResultData(Result.ERROR,"活动项不能为空"); } diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityRecordController.java b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityRecordController.java index 02921ee09..2f4fd23b1 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityRecordController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityRecordController.java @@ -84,10 +84,25 @@ public class WxOfflineActivityRecordController extends BaseController { wxOfflineActivityRecord.setSortColumns(SortField.CreateDate_DESC); wxOfflineActivityRecordService.exportData(request,response,wxOfflineActivityRecord); } + + @ApiOperation("获取该用户该商户的订单数量") + @PostMapping("getCountRecord") + public ResultData getCountRecord(@RequestBody WxOfflineActivityRecord wxOfflineActivityRecord) { + if (null == wxOfflineActivityRecord) wxOfflineActivityRecord = new WxOfflineActivityRecord(); + + if(wxOfflineActivityRecord.getId() == null){ + return new ResultData(Result.ERROR,"id 不能为空"); + } + if(wxOfflineActivityRecord.getActivityId() == null){ + return new ResultData(Result.ERROR,"活动id 不能为空"); + } + return new ResultData(wxOfflineActivityRecordService.getUserRecordCount(wxOfflineActivityRecord.getId(),wxOfflineActivityRecord.getActivityId(),getTenantInfo())); + } @ApiOperation("审核通过") @PostMapping("audiPass") public ResultData audiPass(@RequestBody WxOfflineActivityRecord wxOfflineActivityRecord) { + if(wxOfflineActivityRecord == null){ return new ResultData(Result.ERROR,"id 不能为空"); } diff --git a/mallinkAdmin/src/main/resources/db/migration/V202412000000001.sql b/mallinkAdmin/src/main/resources/db/migration/V202412000000001.sql new file mode 100644 index 000000000..7d5bdc380 --- /dev/null +++ b/mallinkAdmin/src/main/resources/db/migration/V202412000000001.sql @@ -0,0 +1,7 @@ +ALTER TABLE `mallink`.`wx_offline_activity` + ADD COLUMN `credit_on_off` smallint(1) NOT NULL DEFAULT 0 COMMENT '积分开关' AFTER `end_time`, +ADD COLUMN `credit_config` json NULL COMMENT '积分配置' AFTER `credit_on_off`; + + +ALTER TABLE `mallink`.`wx_offline_activity_record` + ADD COLUMN `increased_points` int(11) NOT NULL DEFAULT 0 COMMENT '积分变动值' AFTER `audit_time`; \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivity.java b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivity.java index 0f962cf43..7adeaa08f 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivity.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivity.java @@ -1,5 +1,6 @@ package com.iformall.domain.po; +import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -9,10 +10,13 @@ import java.util.Date; import java.util.List; import com.iformall.domain.po.base.TenantEntity; +import com.iformall.enums.EnumYesOrNo; import lombok.Data; import lombok.EqualsAndHashCode; import lombok.ToString; +import static java.lang.Double.*; + /** * 线下活动 * @TableName wx_offline_activity @@ -46,6 +50,34 @@ public class WxOfflineActivity extends TenantEntity { @TableField(value = "end_time") private Date endTime; + /** + * 积分状态(0:关 1:开) + */ + @TableField(value = "credit_on_off") + private Integer creditOnOff; + + /** + * 积分配置 + * { + * "step":, + * "score": + * } + */ + @TableField(value = "credit_config") + private String creditConfig; + + public JSONObject getCreditObject(){ + if(EnumYesOrNo.YES.getCode().equals(creditOnOff)){ + try{ + JSONObject jsonObject = JSONObject.parseObject(creditConfig); + jsonObject.getDouble(WxScoreRules.STEP); + jsonObject.getInteger(WxScoreRules.SCORE); + return jsonObject; + } catch (Exception e) {} + } + return null; + } + /** * 状态(0:未上架 1:已上架) */ @@ -81,6 +113,9 @@ public class WxOfflineActivity extends TenantEntity { @TableField(exist = false) private Date end; + @TableField(exist = false) + private Date orderDate; + /** * 是否过期 */ @@ -136,4 +171,6 @@ public class WxOfflineActivity extends TenantEntity { */ @TableField(exist = false) private BigDecimal merchantSettlmentPrice; + + } \ No newline at end of file diff --git a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java index d875371ec..83c8b8921 100644 --- a/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java +++ b/mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java @@ -208,6 +208,9 @@ public class WxOfflineActivityRecord extends TenantEntity { @TableField(value = "audit_time") private Date auditTime; + @TableField(value = "increasedPoints") + private Integer increasedPoints; + @TableField(exist = false) private Date auditTimeBegin; @TableField(exist = false) diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityMapper.java index 3ea3df513..db10e8723 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityMapper.java @@ -21,6 +21,10 @@ public interface WxOfflineActivityMapper extends CommonMapper findIds(WxOfflineActivity wxOfflineActivity); + + int getCountWidthCredit(WxOfflineActivity wxOfflineActivity); + + WxOfflineActivity selectCreditActivityOne(WxOfflineActivity wxOfflineActivity); } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordMapper.java index b2937e8ea..83ce754f7 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordMapper.java @@ -33,6 +33,8 @@ public interface WxOfflineActivityRecordMapper extends CommonMapper findGrantList(@Param("grantId")Long grantId, @Param("tenantId")String tenantId); void insertList(@Param("recordList")List activityRecordList); + + void updateIncreasedPoints(WxOfflineActivityRecord record); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java index 0ca0a919c..7704d2bc7 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java @@ -31,10 +31,13 @@ public interface WxOfflineActivityRecordService { void auditRecord(WxOfflineActivityRecord wxOfflineActivityRecord, Long userId); + void saveCreditHistory(WxOfflineActivityRecord record); + Map orderStatistics(TenantEntity tenantInfo); void exportData(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord); Integer getWaitAudiCount(TenantEntity tenantInfo); + Integer getUserRecordCount(Long id, Long activityId, TenantEntity tenantInfo); } diff --git a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityService.java b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityService.java index 9dbdf9bb8..118656272 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxOfflineActivityService.java @@ -2,6 +2,10 @@ package com.iformall.service; import com.github.pagehelper.PageInfo; import com.iformall.domain.po.WxOfflineActivity; +import com.iformall.domain.po.WxOfflineActivityRecord; +import com.iformall.domain.po.base.TenantEntity; + +import java.util.Date; /** * @author xiaohu @@ -25,4 +29,8 @@ public interface WxOfflineActivityService{ void updateStatus(WxOfflineActivity wxOfflineActivity); WxOfflineActivity getInfoById(Long id, String tenantId); + + int getCountWidthCredit(WxOfflineActivity wxOfflineActivity); + + WxOfflineActivity selectCreditActivityOne(TenantEntity tenantEntity, Date orderDate); } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java index c847f01b4..90cce54f7 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java @@ -610,7 +610,9 @@ public class WxCreditHistoryServiceImpl implements WxCreditHistoryService { // if (total > Integer.MAX_VALUE) { // throw new MallinkException(ErrorCode.OUT_OF_CREDIT); // } - if (total < 0 && creditChangeNumOrigin < 0 && !Objects.equals(record.getCreditType(),EnumScoreType.REFUND_CONSUMPTION.getCode())) { + if (total < 0 && creditChangeNumOrigin < 0 + && !Objects.equals(record.getCreditType(),EnumScoreType.REFUND_CONSUMPTION.getCode()) + && !Objects.equals(record.getCreditType(),EnumScoreType.POINT_CHANGE.getCode())) { throw new MallinkException(ErrorCode.CREDIT_NOT_ENOUGH); } //如果为导入的会员 则直接覆盖总积分和操作积分明细 diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java index caa11be98..390ac77ca 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java @@ -14,6 +14,7 @@ import com.iformall.service.WxOfflineActivityRecordService; import com.iformall.service.WxOfflineActivityService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; @@ -35,6 +36,9 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit @Autowired private WxOfflineActivityRecordMapper wxOfflineActivityRecordMapper; + @Autowired + private WxOfflineActivityRecordService wxOfflineActivityRecordService; + @Autowired private WxMerchantService wxMerchantService; @@ -73,6 +77,7 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit } @Override + @Transactional(rollbackFor = Exception.class) public void syncOfflineActivityRecord(WxLegionActivityOrder legionActivityOrder) { IdWorker idWorker = IdWorker.get(); @@ -86,9 +91,12 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit } wxOfflineActivityRecordMapper.insert(activityRecord); + + wxOfflineActivityRecordService.saveCreditHistory(activityRecord); } @Override + @Transactional(rollbackFor = Exception.class) public void syncOfflineActivityRecord(List wxLegionActivityOrders) { if(wxLegionActivityOrders == null || wxLegionActivityOrders.isEmpty()){ return; @@ -111,6 +119,11 @@ public class WxLegionActivityOfflineConfigServiceImpl implements WxLegionActivit activityRecordList.add(activityRecord); } wxOfflineActivityRecordMapper.insertList(activityRecordList); + + for (WxOfflineActivityRecord activityRecord : activityRecordList) { + wxOfflineActivityRecordService.saveCreditHistory(activityRecord); + } + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java index 4dcc079d6..f7cf47803 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java @@ -1,5 +1,6 @@ package com.iformall.service.impl; +import com.alibaba.fastjson.JSONObject; import com.aliyun.openservices.shade.org.apache.commons.lang3.StringUtils; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; @@ -9,23 +10,28 @@ import com.iformall.domain.po.*; import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.OfflineActivityRecordStatistics; import com.iformall.enums.EnumOfflineActivityRecordStatus; +import com.iformall.enums.EnumScoreType; +import com.iformall.enums.EnumUserType; import com.iformall.enums.EnumYesOrNo; import com.iformall.exception.MallinkException; -import com.iformall.mapper.WxMerchantMapper; -import com.iformall.mapper.WxOfflineActivityGrantAwardMapper; -import com.iformall.mapper.WxOfflineActivityRecordGrantMapper; +import com.iformall.mapper.*; import com.iformall.service.*; -import com.iformall.mapper.WxOfflineActivityRecordMapper; import com.iformall.utils.DateUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Propagation; +import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.math.BigDecimal; +import java.math.RoundingMode; import java.text.NumberFormat; import java.util.*; import java.util.stream.Collectors; +import static jdk.nashorn.internal.runtime.regexp.joni.Config.log; + /** * @author xiaohu * @description 针对表【wx_offline_activity_record(线下活动参与登记)】的数据库操作Service实现 @@ -43,6 +49,15 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco @Autowired WxOfflineActivityRecordGrantMapper wxOfflineActivityRecordGrantMapper; + @Autowired + private WxOfflineActivityMapper wxOfflineActivityMapper; + + @Autowired + WxOfflineActivityService wxOfflineActivityService; + + @Autowired + WxCUserBasicInfoService wxCUserBasicInfoService; + @Autowired WxMerchantMapper wxMerchantMapper; @Autowired @@ -51,10 +66,13 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco WxShopService wxShopService; @Autowired MallUserInfoService mallUserInfoService; + @Autowired + WxCreditHistoryService wxCreditHistoryService; @Autowired ExcelService excelService; + @Override public PageInfo listAsPage(WxOfflineActivityRecord record, Integer pageNum, Integer pageSize) { handlerQuery(record); @@ -220,12 +238,82 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco } @Override + @Transactional(propagation = Propagation.REQUIRED, rollbackFor = {Exception.class}) public void auditRecord(WxOfflineActivityRecord record, Long userId) { Date now = new Date(); record.setUpdateDate(now); record.setAuditTime(now); record.setAuditBy(userId); wxOfflineActivityRecordMapper.updateAuditStatus(record); + + WxOfflineActivityRecord activityRecord = wxOfflineActivityRecordMapper.selectById(record.getId(), record.getTenantId()); + activityRecord.setAuditBy(record.getAuditBy()); + activityRecord.setAuditStatus(record.getAuditStatus()); + activityRecord.setAuditBy(record.getAuditBy()); + saveCreditHistory(activityRecord); + } + + @Override + public void saveCreditHistory(WxOfflineActivityRecord record){ + if(!EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode().equals(record.getAuditStatus()) + && !EnumOfflineActivityRecordStatus.INVALID.getCode().equals(record.getAuditStatus())){ + return; + } + + WxOfflineActivity activity = wxOfflineActivityService.selectCreditActivityOne(record,record.getCreateDate()); + if(activity == 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()); + if(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode().equals(record.getAuditStatus())){ + if(record.getIncreasedPoints() > 0){ + return; + } + //计算积分 + JSONObject creditObject = activity.getCreditObject(); + Double priceCondition = creditObject.getDouble(WxScoreRules.STEP); + int baseScore = creditObject.getInteger(WxScoreRules.SCORE); + + Integer increasedPoints = 0; + if (record.getOrderMoney().compareTo(BigDecimal.valueOf(priceCondition)) > 0) { + increasedPoints = record.getOrderMoney().divide(BigDecimal.valueOf(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(record.getIncreasedPoints() == 0){ + return; + } + creditHistory.setCreditNum(record.getIncreasedPoints()); + } + 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(creditHistory.getCreditNum()); + wxOfflineActivityRecordMapper.updateIncreasedPoints(record); } @Override @@ -292,6 +380,19 @@ public class WxOfflineActivityRecordServiceImpl implements WxOfflineActivityReco record.setAuditStatus(EnumOfflineActivityRecordStatus.AUDTING.getCode()); return wxOfflineActivityRecordMapper.getCount(record); } + + @Override + public Integer getUserRecordCount(Long id, Long activityId, TenantEntity tenantInfo) { + WxOfflineActivityRecord activityRecord = wxOfflineActivityRecordMapper.selectById(id, tenantInfo.getTenantId()); + WxOfflineActivity wxOfflineActivity = wxOfflineActivityMapper.selectById(activityId, tenantInfo.getTenantId()); + WxOfflineActivityRecord record = new WxOfflineActivityRecord(); + record.updateTenantInfo(tenantInfo); + record.setCusPhone(activityRecord.getCusPhone()); + record.setCreateDateBegin(wxOfflineActivity.getStartTime()); + record.setCreateDateEnd(wxOfflineActivity.getEndTime()); + record.setAuditStatus(EnumOfflineActivityRecordStatus.AUDI_SUCCESS.getCode()); + return wxOfflineActivityRecordMapper.getCount(record); + } } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityServiceImpl.java index 82c211c90..d26dc24d3 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityServiceImpl.java @@ -4,6 +4,7 @@ import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; import com.iformall.common.IdWorker; import com.iformall.domain.po.*; +import com.iformall.domain.po.base.TenantEntity; import com.iformall.domain.vo.OfflineActivityRecordStatistics; import com.iformall.enums.EnumOfflineActivityMerchantType; import com.iformall.enums.EnumOfflineActivityRecordStatus; @@ -160,6 +161,21 @@ public class WxOfflineActivityServiceImpl implements WxOfflineActivityService{ } return wxOfflineActivity; } + + @Override + public int getCountWidthCredit(WxOfflineActivity wxOfflineActivity) { + wxOfflineActivity.setCreditOnOff(EnumYesOrNo.YES.getCode()); + return wxOfflineActivityMapper.getCountWidthCredit(wxOfflineActivity); + } + + @Override + public WxOfflineActivity selectCreditActivityOne(TenantEntity tenantEntity, Date orderDate) { + WxOfflineActivity wxOfflineActivity = new WxOfflineActivity(); + wxOfflineActivity.updateTenantInfo(tenantEntity); + wxOfflineActivity.setOrderDate(orderDate); + wxOfflineActivity.setCreditOnOff(EnumYesOrNo.YES.getCode()); + return wxOfflineActivityMapper.selectCreditActivityOne(wxOfflineActivity); + } } diff --git a/mallinkService/src/main/resources/mapper/WxOfflineActivityMapper.xml b/mallinkService/src/main/resources/mapper/WxOfflineActivityMapper.xml index 235ea3f2d..a496d3463 100644 --- a/mallinkService/src/main/resources/mapper/WxOfflineActivityMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOfflineActivityMapper.xml @@ -11,6 +11,8 @@ + + @@ -20,6 +22,7 @@ id,tenant_id,parent_tenant_id, `name`,start_time,end_time, + credit_on_off,credit_config, status,create_date,update_date, all_merchant @@ -104,4 +107,33 @@ + + + diff --git a/mallinkService/src/main/resources/mapper/WxOfflineActivityRecordMapper.xml b/mallinkService/src/main/resources/mapper/WxOfflineActivityRecordMapper.xml index cfa30704b..fc97d5459 100644 --- a/mallinkService/src/main/resources/mapper/WxOfflineActivityRecordMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxOfflineActivityRecordMapper.xml @@ -28,6 +28,7 @@ + @@ -37,7 +38,7 @@ cus_card,lottery_num,lottery_count, anniversary_lottery_num,create_by,merchant_id,business_id, create_date,update_date,audit_remark, - audit_status,audit_by,audit_time + audit_status,audit_by,audit_time,increased_points @@ -268,4 +269,16 @@ + + update wx_offline_activity_record + set increased_points = #{increased_points} + where id = #{id} + + and `tenant_id` = #{tenantId} + + + and `parent_tenant_id` = #{parentTenantId} + + +