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

//offlineActivity

release_toaliyun_real
xiaohu 1 год назад
Родитель
Сommit
801cea18ad
15 измененных файлов: 298 добавлений и 6 удалений
  1. +36
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityController.java
  2. +15
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/market/WxOfflineActivityRecordController.java
  3. +7
    -0
      mallinkAdmin/src/main/resources/db/migration/V202412000000001.sql
  4. +37
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivity.java
  5. +3
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxOfflineActivityRecord.java
  6. +4
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityMapper.java
  7. +2
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxOfflineActivityRecordMapper.java
  8. +3
    -0
      mallinkService/src/main/java/com/iformall/service/WxOfflineActivityRecordService.java
  9. +8
    -0
      mallinkService/src/main/java/com/iformall/service/WxOfflineActivityService.java
  10. +3
    -1
      mallinkService/src/main/java/com/iformall/service/impl/WxCreditHistoryServiceImpl.java
  11. +13
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxLegionActivityOfflineConfigServiceImpl.java
  12. +105
    -4
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityRecordServiceImpl.java
  13. +16
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxOfflineActivityServiceImpl.java
  14. +32
    -0
      mallinkService/src/main/resources/mapper/WxOfflineActivityMapper.xml
  15. +14
    -1
      mallinkService/src/main/resources/mapper/WxOfflineActivityRecordMapper.xml

+ 36
- 0
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,"活动项不能为空");
}


+ 15
- 0
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 不能为空");
}


+ 7
- 0
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`;

+ 37
- 0
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;


}

+ 3
- 0
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)


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

@@ -21,6 +21,10 @@ public interface WxOfflineActivityMapper extends CommonMapper<WxOfflineActivity,
void updateStatus(WxOfflineActivity wxOfflineActivity);

List<Long> findIds(WxOfflineActivity wxOfflineActivity);

int getCountWidthCredit(WxOfflineActivity wxOfflineActivity);

WxOfflineActivity selectCreditActivityOne(WxOfflineActivity wxOfflineActivity);
}




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

@@ -33,6 +33,8 @@ public interface WxOfflineActivityRecordMapper extends CommonMapper<WxOfflineAct
List<WxOfflineActivityRecord> findGrantList(@Param("grantId")Long grantId, @Param("tenantId")String tenantId);

void insertList(@Param("recordList")List<WxOfflineActivityRecord> activityRecordList);

void updateIncreasedPoints(WxOfflineActivityRecord record);
}




+ 3
- 0
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<String, Object> orderStatistics(TenantEntity tenantInfo);

void exportData(HttpServletRequest request, HttpServletResponse response, WxOfflineActivityRecord wxOfflineActivityRecord);

Integer getWaitAudiCount(TenantEntity tenantInfo);

Integer getUserRecordCount(Long id, Long activityId, TenantEntity tenantInfo);
}

+ 8
- 0
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);
}

+ 3
- 1
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);
}
//如果为导入的会员 则直接覆盖总积分和操作积分明细


+ 13
- 0
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<WxLegionActivityOrder> 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);
}

}




+ 105
- 4
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<WxOfflineActivityRecord> 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);
}
}




+ 16
- 0
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);
}
}




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

@@ -11,6 +11,8 @@
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="startTime" column="start_time" jdbcType="TIMESTAMP"/>
<result property="endTime" column="end_time" jdbcType="TIMESTAMP"/>
<result property="creditOnOff" column="credit_on_off" jdbcType="SMALLINT"/>
<result property="creditConfig" column="credit_config" jdbcType="VARCHAR"/>
<result property="status" column="status" jdbcType="SMALLINT"/>
<result property="createDate" column="create_date" jdbcType="TIMESTAMP"/>
<result property="updateDate" column="update_date" jdbcType="TIMESTAMP"/>
@@ -20,6 +22,7 @@
<sql id="allColumns">
id,tenant_id,parent_tenant_id,
`name`,start_time,end_time,
credit_on_off,credit_config,
status,create_date,update_date,
all_merchant
</sql>
@@ -104,4 +107,33 @@
</if>
</update>

<select id="getCountWidthCredit" parameterType="com.iformall.domain.po.WxOfflineActivity" resultType="integer">
select count(1) from wx_offline_activity
where credit_on_off = #{creditOnOff}
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
<if test=" null != id">
and `id` != #{id}
</if>
and ((`start_time` &lt;= #{startTime} and `end_time` &gt;= #{startTime})
or (`start_time` &lt;= #{endTime} and `end_time` &gt;= #{endTime}))
</select>
<select id="selectCreditActivityOne" parameterType="com.iformall.domain.po.WxOfflineActivity" resultType="com.iformall.domain.po.WxOfflineActivity">
select <include refid="allColumns" /> from wx_offline_activity
where credit_on_off = #{creditOnOff}
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
and `start_time` &lt;= #{orderDate}
and `end_time` &gt;= #{orderDate}
limit 1
</select>

</mapper>

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

@@ -28,6 +28,7 @@
<result property="auditStatus" column="audit_status" jdbcType="INTEGER"/>
<result property="auditBy" column="audit_by" jdbcType="BIGINT"/>
<result property="auditTime" column="audit_time" jdbcType="TIMESTAMP"/>
<result property="increasedPoints" column="increased_points" jdbcType="INTEGER" />
</resultMap>

<sql id="allColumns">
@@ -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
</sql>

<sql id="dynamicWhereConditions">
@@ -268,4 +269,16 @@
</foreach>
</insert>

<update id="updateIncreasedPoints">
update wx_offline_activity_record
set increased_points = #{increased_points}
where id = #{id}
<if test=" null != tenantId and '' != tenantId">
and `tenant_id` = #{tenantId}
</if>
<if test=" null != parentTenantId and '' != parentTenantId">
and `parent_tenant_id` = #{parentTenantId}
</if>
</update>

</mapper>

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