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

[A端][更改]:修改场景发券的配置逻辑

release_toaliyun_real
hupeng 7 лет назад
Родитель
Сommit
7ee9a9e65c
13 измененных файлов: 219 добавлений и 344 удалений
  1. +61
    -0
      mallinkAdmin/src/main/java/com/iformall/controller/WxCouponSendConfigController.java
  2. +0
    -148
      mallinkAdmin/src/main/java/com/iformall/controller/WxMallConfigController.java
  3. +12
    -0
      mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java
  4. +12
    -14
      mallinkService/src/main/java/com/iformall/domain/po/WxCouponSendConfig.java
  5. +16
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxCouponSendConfigMapper.java
  6. +0
    -16
      mallinkService/src/main/java/com/iformall/mapper/WxMallConfigMapper.java
  7. +34
    -0
      mallinkService/src/main/java/com/iformall/service/WxCouponSendConfigService.java
  8. +0
    -47
      mallinkService/src/main/java/com/iformall/service/WxMallConfigService.java
  9. +40
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendConfigServiceImpl.java
  10. +35
    -54
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java
  11. +0
    -56
      mallinkService/src/main/java/com/iformall/service/impl/WxMallConfigServiceImpl.java
  12. +7
    -7
      mallinkService/src/main/resources/mapper/WxCouponSendConfigMapper.xml
  13. +2
    -2
      mallinkService/src/main/resources/mapper/WxCouponSendMapper.xml

+ 61
- 0
mallinkAdmin/src/main/java/com/iformall/controller/WxCouponSendConfigController.java Просмотреть файл

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

import com.github.pagehelper.PageInfo;
import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCouponSendConfig;
import com.iformall.service.WxCouponSendConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import java.util.Date;

@RestController
@RequestMapping("wxCouponSendConfig")
@Api(description = "停车发券和核销发劵接口")
public class WxCouponSendConfigController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxCouponSendConfigService wxCouponSendConfigService;

@ApiOperation("获取开关")
@GetMapping("getCouponSendConfig")
public ResultData getCouponSendConfig(@RequestAttribute WxCouponSendConfig wxCouponSendConfig) {
logger.debug("[" + getIpAddr() + "] WxMallConfigController::getCouponSendConfig");
if (wxCouponSendConfig == null || wxCouponSendConfig.getSendType() != null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);

wxCouponSendConfig.setTenantId(getTenantId());
PageInfo<WxCouponSendConfig> page = wxCouponSendConfigService.listAsPage(wxCouponSendConfig, 1, 1);
if (page.getSize() > 0) {
return new ResultData(page.getList().get(0));
}
return new ResultData();
}


@PostMapping("updateCouponSendConfig")
@ApiOperation("修改开关")
public ResultData updateCouponSendConfig(@RequestBody WxCouponSendConfig wxCouponSendConfig) {
logger.debug("[" + getIpAddr() + "] WxMallConfigController::updateStopCarConpon");
if (wxCouponSendConfig == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (wxCouponSendConfig.getSendType() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (wxCouponSendConfig.getValue() == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
wxCouponSendConfig.setTenantId(getTenantId());
wxCouponSendConfig.setUpdateTime(new Date());
wxCouponSendConfigService.update(wxCouponSendConfig);
return new ResultData();
}




}

+ 0
- 148
mallinkAdmin/src/main/java/com/iformall/controller/WxMallConfigController.java Просмотреть файл

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

import com.github.pagehelper.PageInfo;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMallConfig;
import com.iformall.service.WxMallConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

@RestController
@RequestMapping("wxMallConfig")
@Api(description = "停车发券和核销发劵接口")
public class WxMallConfigController extends BaseController {
private final Logger logger = LoggerFactory.getLogger(this.getClass());

@Autowired
private WxMallConfigService wxMallConfigService;

@ApiOperation("获取停车劵开关")
@GetMapping("getStopCarCoupon")
public ResultData getStopCarConpon() {
logger.debug("[" + getIpAddr() + "] WxMallConfigController::getStopCarConpon");
WxMallConfig wxMallConfig = new WxMallConfig();
wxMallConfig.setKey("stopCarCouponSwitch");
wxMallConfig.setTenantId(getTenantId());
PageInfo<WxMallConfig> page = wxMallConfigService.listAsPage(wxMallConfig, 1, 1);
if (page.getSize() > 0) {
WxMallConfig config = page.getList().get(0);
return new ResultData(config);
}
return new ResultData();
}

@ApiOperation("获取核销劵开关")
@GetMapping("getVerifyCoupon")
public ResultData getVerifyConpon() {
logger.debug("[" + getIpAddr() + "] WxMallConfigController::getVerifyConpon");
WxMallConfig wxMallConfig = new WxMallConfig();
wxMallConfig.setKey("verifyCouponSwitch");
wxMallConfig.setTenantId(getTenantId());
PageInfo<WxMallConfig> page = wxMallConfigService.listAsPage(wxMallConfig, 1, 1);
if (page.getSize() > 0) {
WxMallConfig config = page.getList().get(0);
return new ResultData(config);
}
return new ResultData();
}

@ApiOperation("获取B端刷卡支付发劵开关")
@GetMapping("getMicroPayCouponSwitch")
public ResultData getMicroPayConpon() {
logger.debug("[" + getIpAddr() + "] WxMallConfigController::getMicroPayConpon");
WxMallConfig wxMallConfig = new WxMallConfig();
wxMallConfig.setKey("microPayCouponSwitch");
wxMallConfig.setTenantId(getTenantId());
PageInfo<WxMallConfig> page = wxMallConfigService.listAsPage(wxMallConfig, 1, 1);
if (page.getSize() > 0) {
WxMallConfig config = page.getList().get(0);
return new ResultData(config);
}
return new ResultData();
}

@PostMapping("updateStopCarCoupon")
@ApiOperation("修改停车发券开关")
public ResultData updateStopCarConpon(@RequestBody WxMallConfig wxMallConfig) {
logger.debug("[" + getIpAddr() + "] WxMallConfigController::updateStopCarConpon");
WxMallConfig temp = new WxMallConfig();
// temp.setKey("stopCarCouponSwitch");
temp.setValue(wxMallConfig.getValue());
temp.setId(wxMallConfig.getId());
wxMallConfigService.saveOrUpdate(temp);
return new ResultData();
}

@PostMapping("updateVerifyCoupon")
@ApiOperation("修改核销发券开关")
public ResultData updateVerifyConpon(@RequestBody WxMallConfig wxMallConfig) {
logger.debug("[" + getIpAddr() + "] WxMallConfigController::updateVerifyConpon");
WxMallConfig temp = new WxMallConfig();
// temp.setKey("verifyCouponSwitch");
temp.setValue(wxMallConfig.getValue());
temp.setId(wxMallConfig.getId());
wxMallConfigService.saveOrUpdate(temp);
return new ResultData();
}


@PostMapping("updateMicroPayCouponSwitch")
@ApiOperation("修改刷卡支付发券开关")
public ResultData updateMicroPayCoupon(@RequestBody WxMallConfig wxMallConfig) {
logger.debug("[" + getIpAddr() + "] WxMallConfigController::updateMicroPayCoupon");
WxMallConfig temp = new WxMallConfig();
// temp.setKey("verifyCouponSwitch");
temp.setValue(wxMallConfig.getValue());
temp.setId(wxMallConfig.getId());
wxMallConfigService.saveOrUpdate(temp);
return new ResultData();
}

// @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 WxMallConfig wxMallConfig,Integer pageNum, Integer pageSize) {
// if (null == wxMallConfig) wxMallConfig = new WxMallConfig();
// final PageInfo<WxMallConfig> page = wxMallConfigService.listAsPage(wxMallConfig, pageNum, pageSize);
// return new ResultData(page);
// }
//
// @ApiOperation("新增接口")
// @PostMapping("add")
// public ResultData add(@RequestBody WxMallConfig wxMallConfig) {
// //Assert.notNull(wxMallConfig.getName(), "角色名不能为空");
// //Assert.isTrue(!checkUnique(sysRole.getName(), null), "重复的角色名");
// wxMallConfigService.saveOrUpdate(wxMallConfig);
// return new ResultData();
// }
//
// @ApiOperation("根据id更新接口")
// @PostMapping("update")
// public ResultData update(@RequestBody WxMallConfig wxMallConfig) {
// wxMallConfigService.saveOrUpdate(wxMallConfig);
// return new ResultData();
// }
//
// @ApiOperation("根据id删除接口")
// @GetMapping("/del")
// @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
// public ResultData delete(Long id) {
// wxMallConfigService.deleteById(id);
// return new ResultData(Result.SUCCESS, "删除成功", null);
// }
//
// @ApiOperation("根据id查询接口")
// @GetMapping("/findById")
// @ApiImplicitParam(name="id",value="id",dataType="Long", paramType = "query",required=true)
// public ResultData findById(Long id) {
// return new ResultData(Result.SUCCESS,"查询成功",wxMallConfigService.getById(id));
// }


}

+ 12
- 0
mallinkService/src/main/java/com/iformall/domain/po/WxCouponSend.java Просмотреть файл

@@ -54,6 +54,9 @@ public class WxCouponSend implements Serializable {
/*发券方式(1.主动领取,2.停车发券,3.核销发券)**/ /*发券方式(1.主动领取,2.停车发券,3.核销发券)**/
@io.swagger.annotations.ApiModelProperty(value="发券方式(1.主动领取,2.停车发券,3.核销发券)",name="sendType") @io.swagger.annotations.ApiModelProperty(value="发券方式(1.主动领取,2.停车发券,3.核销发券)",name="sendType")
private Integer sendType; private Integer sendType;
/*发券条件**/
@io.swagger.annotations.ApiModelProperty(value="发券条件",name="condition")
private String condition;
/*0:有效 1:无效**/ /*0:有效 1:无效**/
@io.swagger.annotations.ApiModelProperty(value="0:有效 1:无效",name="status") @io.swagger.annotations.ApiModelProperty(value="0:有效 1:无效",name="status")
private Integer status; private Integer status;
@@ -94,6 +97,15 @@ public class WxCouponSend implements Serializable {
public void setSendType(Integer _sendType) { public void setSendType(Integer _sendType) {
sendType = _sendType; sendType = _sendType;
} }

public String getCondition() {
return condition;
}

public void setCondition(String condition) {
this.condition = condition;
}

public Integer getStatus() { public Integer getStatus() {
return status; return status;
} }


mallinkService/src/main/java/com/iformall/domain/po/WxMallConfig.java → mallinkService/src/main/java/com/iformall/domain/po/WxCouponSendConfig.java Просмотреть файл

@@ -8,7 +8,7 @@ import javax.persistence.Id;
import java.io.Serializable; import java.io.Serializable;


@Table(name = "wx_mall_config") @Table(name = "wx_mall_config")
public class WxMallConfig implements Serializable {
public class WxCouponSendConfig implements Serializable {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
@Id @Id
@@ -38,15 +38,13 @@ public class WxMallConfig implements Serializable {
public void setIds(List<Long> ids) { public void setIds(List<Long> ids) {
this.ids = ids; this.ids = ids;
} }

/*租户id**/ /*租户id**/
@io.swagger.annotations.ApiModelProperty(value="租户id",name="tenantId") @io.swagger.annotations.ApiModelProperty(value="租户id",name="tenantId")
private String tenantId; private String tenantId;
/*配置**/ /*配置**/
@io.swagger.annotations.ApiModelProperty(value="配置",name="key")
private String key;
@io.swagger.annotations.ApiModelProperty(value="配置",name="sendType")
private Integer sendType;
/*0:启用 1:停用**/ /*0:启用 1:停用**/
@io.swagger.annotations.ApiModelProperty(value="0:启用 1:停用",name="value") @io.swagger.annotations.ApiModelProperty(value="0:启用 1:停用",name="value")
private Integer value; private Integer value;
@@ -65,11 +63,11 @@ public class WxMallConfig implements Serializable {
public void setTenantId(String _tenantId) { public void setTenantId(String _tenantId) {
tenantId = _tenantId; tenantId = _tenantId;
} }
public String getKey() {
return key;
public Integer getSendType() {
return sendType;
} }
public void setKey(String _key) {
key = _key;
public void setSendType(Integer _sendType) {
sendType = _sendType;
} }
public Integer getValue() { public Integer getValue() {
return value; return value;
@@ -102,11 +100,11 @@ public class WxMallConfig implements Serializable {
{ {
Id_ASC("`id` ASC"),Id_DESC("`id` DESC") Id_ASC("`id` ASC"),Id_DESC("`id` DESC")
,TenantId_ASC("`tenantId` ASC"),TenantId_DESC("`tenantId` DESC") ,TenantId_ASC("`tenantId` ASC"),TenantId_DESC("`tenantId` DESC")
,Key_ASC("`key` ASC"),Key_DESC("`key` DESC")
,SendType_ASC("`send_type` ASC"),SendType_DESC("`send_type` DESC")
,Value_ASC("`value` ASC"),Value_DESC("`value` DESC") ,Value_ASC("`value` ASC"),Value_DESC("`value` DESC")
,Remark_ASC("`remark` ASC"),Remark_DESC("`remark` DESC") ,Remark_ASC("`remark` ASC"),Remark_DESC("`remark` DESC")
,CreateTime_ASC("`createTime` ASC"),CreateTime_DESC("`createTime` DESC")
,UpdateTime_ASC("`updateTime` ASC"),UpdateTime_DESC("`updateTime` DESC")
,CreateTime_ASC("`create_time` ASC"),CreateTime_DESC("`create_time` DESC")
,UpdateTime_ASC("`update_time` ASC"),UpdateTime_DESC("`update_time` DESC")
; ;
private String value; private String value;
Field(String value){ Field(String value){
@@ -124,7 +122,7 @@ public class WxMallConfig implements Serializable {
} }
} }
public void setSortColumns(WxMallConfig.Field... fields)
public void setSortColumns(WxCouponSendConfig.Field... fields)
{ {
if (fields == null || fields.length == 0) { if (fields == null || fields.length == 0) {
return; return;

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

@@ -0,0 +1,16 @@
package com.iformall.mapper;

import java.util.*;
import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxCouponSendConfig;

public interface WxCouponSendConfigMapper extends CommonMapper<WxCouponSendConfig, Long> {

List<WxCouponSendConfig> findList(WxCouponSendConfig wxMallConfig);

}

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

@@ -1,16 +0,0 @@
package com.iformall.mapper;

import java.util.*;
import com.iformall.common.CommonMapper;
import com.iformall.domain.po.WxMallConfig;

public interface WxMallConfigMapper extends CommonMapper<WxMallConfig, Long> {

List<WxMallConfig> findList(WxMallConfig wxMallConfig);

}

+ 34
- 0
mallinkService/src/main/java/com/iformall/service/WxCouponSendConfigService.java Просмотреть файл

@@ -0,0 +1,34 @@
package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxCouponSendConfig;

public interface WxCouponSendConfigService {

/**
* 根据实体查询分页列表
*
* @param record
* @param offset
* @param limit
* @return
*/
PageInfo<WxCouponSendConfig> listAsPage(WxCouponSendConfig record, Integer pageIndex, Integer pageSize);

/**
* 保存或更新实体
*
* @param record
*/
void update(WxCouponSendConfig record);



}

+ 0
- 47
mallinkService/src/main/java/com/iformall/service/WxMallConfigService.java Просмотреть файл

@@ -1,47 +0,0 @@
package com.iformall.service;

import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxMallConfig;

public interface WxMallConfigService {

/**
* 根据实体查询分页列表
*
* @param record
* @param offset
* @param limit
* @return
*/
PageInfo<WxMallConfig> listAsPage(WxMallConfig record, Integer pageIndex, Integer pageSize);
/**
* 根据Id获得实体
*
* @param id
* @return
*/
WxMallConfig getById(Long id);
/**
* 保存或更新实体
*
* @param record
*/
void saveOrUpdate(WxMallConfig record);

/**
* 根据Id删除实体
*
* @param id
*/
void deleteById(Long id);

}

+ 40
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendConfigServiceImpl.java Просмотреть файл

@@ -0,0 +1,40 @@
package com.iformall.service.impl;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxCouponSendConfig;
import com.iformall.mapper.WxCouponSendConfigMapper;
import com.iformall.service.WxCouponSendConfigService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.iformall.common.IdWorker;

@Service
public class WxCouponSendConfigServiceImpl implements WxCouponSendConfigService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
WxCouponSendConfigMapper wxMallConfigMapper;


@Override
public PageInfo<WxCouponSendConfig> listAsPage(WxCouponSendConfig record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMallConfigMapper.findList(record));
}


@Override
public void update(WxCouponSendConfig record) {
wxMallConfigMapper.updateByPrimaryKeySelective(record);
}


}

+ 35
- 54
mallinkService/src/main/java/com/iformall/service/impl/WxCouponSendServiceImpl.java Просмотреть файл

@@ -7,6 +7,7 @@ import com.iformall.domain.po.*;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.exception.MallinkException; import com.iformall.exception.MallinkException;
import com.iformall.mapper.WxCouponOrderMapper; import com.iformall.mapper.WxCouponOrderMapper;
import com.iformall.mapper.WxCouponSendConfigMapper;
import com.iformall.mapper.WxCouponSendMapper; import com.iformall.mapper.WxCouponSendMapper;
import com.iformall.service.*; import com.iformall.service.*;
import org.slf4j.Logger; import org.slf4j.Logger;
@@ -31,14 +32,11 @@ public class WxCouponSendServiceImpl implements WxCouponSendService {
@Autowired @Autowired
WxCouponActionLogService wxCouponActionLogService; WxCouponActionLogService wxCouponActionLogService;
@Autowired @Autowired
WxMallConfigService wxMallConfigService;

WxCouponSendConfigMapper wxCouponSendConfigMapper;
@Autowired @Autowired
WxOrderService wxOrderService; WxOrderService wxOrderService;

@Autowired @Autowired
WxCouponOrderMapper wxCouponOrderMapper; WxCouponOrderMapper wxCouponOrderMapper;

@Autowired @Autowired
PushLimitService pushLimitService; PushLimitService pushLimitService;


@@ -74,38 +72,16 @@ public class WxCouponSendServiceImpl implements WxCouponSendService {
@Transactional @Transactional
public boolean sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendSendType type) { public boolean sendCouponToUser(String tenantId, Long cUserId, EnumCouponSendSendType type) {
//查询开关是否打开 //查询开关是否打开

//查询停车或者核销的券 stopCarCouponSwitch, verifyCouponSwitch, microPayCouponSwitch //查询停车或者核销的券 stopCarCouponSwitch, verifyCouponSwitch, microPayCouponSwitch
WxCouponSend wxCouponSendQuery = new WxCouponSend();
wxCouponSendQuery.setTenantId(tenantId);
wxCouponSendQuery.setStatus(EnumCouponSendStatus.VALID.getCode());
int actionType = EnumCouponSendSendType.UNKNOWN.getCode();
String configKey = "";
if (type == EnumCouponSendSendType.CAR_STOP) {
//停车
actionType = EnumCouponSendSendType.CAR_STOP.getCode();
wxCouponSendQuery.setSendType(actionType);
configKey = "stopCarCouponSwitch";
} else if (type == EnumCouponSendSendType.COUPON_VERIFY) {
//核销
actionType = EnumCouponSendSendType.COUPON_VERIFY.getCode();
wxCouponSendQuery.setSendType(actionType);
configKey = "verifyCouponSwitch";
} else if (type == EnumCouponSendSendType.B_MICROPAY) {
//B端刷卡发券
actionType = EnumCouponSendSendType.B_MICROPAY.getCode();
wxCouponSendQuery.setSendType(actionType);
configKey = "microPayCouponSwitch";
}else {
return false;
}
WxMallConfig wxMallConfigQuery = new WxMallConfig();
wxMallConfigQuery.setKey(configKey);
wxMallConfigQuery.setTenantId(tenantId);
PageInfo<WxMallConfig> page = wxMallConfigService.listAsPage(wxMallConfigQuery, 1, 1);
if (page.getSize() > 0) {
WxMallConfig config = page.getList().get(0);
WxCouponSendConfig wxCouponSendConfig = new WxCouponSendConfig();
wxCouponSendConfig.setSendType(type.getCode());
wxCouponSendConfig.setTenantId(tenantId);
List<WxCouponSendConfig> configList = wxCouponSendConfigMapper.findList(wxCouponSendConfig);
if (configList.size() > 0) {
WxCouponSendConfig config = configList.get(0);
if (config.getValue() == EnumEnableType.Disable.getCode()) { if (config.getValue() == EnumEnableType.Disable.getCode()) {
logger.info(configKey + ": disabled ");
logger.info(config.getSendType() + ": disabled ");
return false; return false;
} }
} }
@@ -113,6 +89,8 @@ public class WxCouponSendServiceImpl implements WxCouponSendService {
boolean checkTime = false; boolean checkTime = false;
try { try {
checkTime = pushLimitService.checkSendTime(tenantId); checkTime = pushLimitService.checkSendTime(tenantId);
if (!checkTime)
return false;
} catch (MallinkException e) { } catch (MallinkException e) {
logger.error("push limit check time :" + e.getMessage()); logger.error("push limit check time :" + e.getMessage());
return false; return false;
@@ -120,28 +98,31 @@ public class WxCouponSendServiceImpl implements WxCouponSendService {


boolean bRet = false; boolean bRet = false;


if (checkTime) {
List<WxCouponSend> wxCouponSends = wxCouponSendMapper.findList(wxCouponSendQuery);
for (WxCouponSend send : wxCouponSends) {
boolean checkLimit = false;
// 检查疲劳度
try {
checkLimit = pushLimitService.checkCoupon(tenantId, cUserId, send.getCouponId());
} catch (MallinkException e) {
logger.error("券达到limit: " + e.getMessage());
}
if (!checkLimit) {
continue;
}
// 发放免费券
WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cUserId, send.getCouponId());
if (couponOrder != null) {
wxCouponActionLogService.addOne(tenantId, send.getCouponId(), couponOrder.getId(), actionType, send.getId());
bRet = true;
}
wxCouponService.reduceInventory(send.getCouponId(), 1);
WxCouponSend wxCouponSendQuery = new WxCouponSend();
wxCouponSendQuery.setTenantId(tenantId);
wxCouponSendQuery.setStatus(EnumCouponSendStatus.VALID.getCode());

List<WxCouponSend> wxCouponSends = wxCouponSendMapper.findList(wxCouponSendQuery);
for (WxCouponSend send : wxCouponSends) {
boolean checkLimit = false;
// 检查疲劳度
try {
checkLimit = pushLimitService.checkCoupon(tenantId, cUserId, send.getCouponId());
} catch (MallinkException e) {
logger.error("券达到limit: " + e.getMessage());
}
if (!checkLimit) {
continue;
} }
// 发放免费券
WxCouponOrder couponOrder = wxOrderService.sendFreeCouponToUser(cUserId, send.getCouponId());
if (couponOrder != null) {
wxCouponActionLogService.addOne(tenantId, send.getCouponId(), couponOrder.getId(), type.getCode(), send.getId());
bRet = true;
}
wxCouponService.reduceInventory(send.getCouponId(), 1);
} }

return bRet; return bRet;
} }




+ 0
- 56
mallinkService/src/main/java/com/iformall/service/impl/WxMallConfigServiceImpl.java Просмотреть файл

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

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.iformall.domain.po.WxMallConfig;
import com.iformall.mapper.WxMallConfigMapper;
import com.iformall.service.WxMallConfigService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.iformall.common.IdWorker;

@Service
public class WxMallConfigServiceImpl implements WxMallConfigService {
private final Logger logger = LoggerFactory.getLogger(this.getClass());
@Autowired
WxMallConfigMapper wxMallConfigMapper;


@Override
public PageInfo<WxMallConfig> listAsPage(WxMallConfig record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxMallConfigMapper.findList(record));
}

@Override
public WxMallConfig getById(Long id) {
return wxMallConfigMapper.selectByPrimaryKey(id);
}

@Override
public void saveOrUpdate(WxMallConfig record) {
if (record.getId() == null) {
//record.setId(UUID.randomUUID().toString().replaceAll("-", ""));
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
wxMallConfigMapper.insertSelective(record);
} else {
wxMallConfigMapper.updateByPrimaryKeySelective(record);
}
}

@Override
public void deleteById(Long id) {
wxMallConfigMapper.deleteByPrimaryKey(id);
}
}

mallinkService/src/main/resources/mapper/WxMallConfigMapper.xml → mallinkService/src/main/resources/mapper/WxCouponSendConfigMapper.xml Просмотреть файл

@@ -1,10 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.iformall.mapper.WxMallConfigMapper">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxMallConfig">
<mapper namespace="com.iformall.mapper.WxCouponSendConfigMapper">
<resultMap id="BaseResultMap" type="com.iformall.domain.po.WxCouponSendConfig">
<id column="id" jdbcType="BIGINT" property="id" /> <id column="id" jdbcType="BIGINT" property="id" />
<result column="tenant_id" jdbcType="VARCHAR" property="tenantId" /> <result column="tenant_id" jdbcType="VARCHAR" property="tenantId" />
<result column="key" jdbcType="VARCHAR" property="key" />
<result column="send_type" jdbcType="INTEGER" property="sendType" />
<result column="value" jdbcType="INTEGER" property="value" /> <result column="value" jdbcType="INTEGER" property="value" />
<result column="remark" jdbcType="VARCHAR" property="remark" /> <result column="remark" jdbcType="VARCHAR" property="remark" />
<result column="create_time" jdbcType="TIMESTAMP" property="createTime" /> <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
@@ -12,7 +12,7 @@
</resultMap> </resultMap>
<sql id="allColumns"> <sql id="allColumns">
`id`,`tenant_id`,`key`,`value`,`remark`,`create_time`,`update_time`
`id`,`tenant_id`,`send_type`,`value`,`remark`,`create_time`,`update_time`
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">
@@ -29,7 +29,7 @@
</if> </if>
<if test=" null != key "> <if test=" null != key ">
and `key` like concat('%', #{key},'%')
and `send_type` = #{sendType}
</if> </if>
@@ -61,8 +61,8 @@
<if test=" null != sortColumns"> order by ${sortColumns} </if> <if test=" null != sortColumns"> order by ${sortColumns} </if>
</sql> </sql>
<select id="findList" parameterType="com.iformall.domain.po.WxMallConfig" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_mall_config
<select id="findList" parameterType="com.iformall.domain.po.WxCouponSendConfig" resultMap="BaseResultMap">
select <include refid="allColumns" /> from wx_coupon_send_config
<include refid="dynamicWhereConditions" /> <include refid="dynamicWhereConditions" />
</select> </select>

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

@@ -7,13 +7,14 @@
<result column="coupon_id" jdbcType="BIGINT" property="couponId" /> <result column="coupon_id" jdbcType="BIGINT" property="couponId" />
<result column="title" jdbcType="VARCHAR" property="title" /> <result column="title" jdbcType="VARCHAR" property="title" />
<result column="send_type" jdbcType="INTEGER" property="sendType" /> <result column="send_type" jdbcType="INTEGER" property="sendType" />
<result column="condition" jdbcType="VARCHAR" property="condition" />
<result column="status" jdbcType="INTEGER" property="status" /> <result column="status" jdbcType="INTEGER" property="status" />
<result column="create_date" jdbcType="TIMESTAMP" property="createDate" /> <result column="create_date" jdbcType="TIMESTAMP" property="createDate" />
<result column="update_date" jdbcType="TIMESTAMP" property="updateDate" /> <result column="update_date" jdbcType="TIMESTAMP" property="updateDate" />
</resultMap> </resultMap>


<sql id="allColumns"> <sql id="allColumns">
`id`,`tenant_id`,`coupon_id`,`title`,`send_type`,`status`,`create_date`,`update_date`
`id`,`tenant_id`,`coupon_id`,`title`,`send_type`,`condition`,`status`,`create_date`,`update_date`
</sql> </sql>


<sql id="dynamicWhereConditions"> <sql id="dynamicWhereConditions">
@@ -76,7 +77,6 @@
update wx_coupon_send set status=#{status} where tenant_id=#{tenantId} and coupon_id=#{couponId} update wx_coupon_send set status=#{status} where tenant_id=#{tenantId} and coupon_id=#{couponId}
</update> </update>



<update id="offExpiriedCouponSendByCouponStatus"> <update id="offExpiriedCouponSendByCouponStatus">
update wx_coupon_send cs, wx_coupon c update wx_coupon_send cs, wx_coupon c
set cs.status=1, cs.update_date = now() set cs.status=1, cs.update_date = now()


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