Bläddra i källkod

[大屏][修改]:大屏相关接口问题修复,券,券渠道作废下架时同时下架广告

release_toaliyun_real
hupeng 7 år sedan
förälder
incheckning
94bfc268ed
12 ändrade filer med 124 tillägg och 46 borttagningar
  1. +3
    -25
      mallinkAdmin/src/main/java/com/iformall/controller/WxCouponChannelController.java
  2. +4
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java
  3. +4
    -4
      mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java
  4. +9
    -1
      mallinkSchedule/src/main/java/com/iformall/schedule/CouponExpiringSchedule.java
  5. +3
    -0
      mallinkService/src/main/java/com/iformall/mapper/WxScreenAdMapper.java
  6. +1
    -1
      mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java
  7. +4
    -1
      mallinkService/src/main/java/com/iformall/service/WxScreenAdService.java
  8. +37
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java
  9. +6
    -6
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java
  10. +34
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java
  11. +2
    -1
      mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml
  12. +17
    -1
      mallinkService/src/main/resources/mapper/WxScreenAdMapper.xml

+ 3
- 25
mallinkAdmin/src/main/java/com/iformall/controller/WxCouponChannelController.java Visa fil

@@ -39,6 +39,7 @@ public class WxCouponChannelController extends BaseController {
@Autowired
private WxCouponService wxCouponService;


@ApiOperation("分页列表接口")
@GetMapping("list")
@ApiImplicitParams({
@@ -62,31 +63,8 @@ public class WxCouponChannelController extends BaseController {
public ResultData update(@RequestBody WxCouponChannel wxCouponChannel) {
logger.debug("[" + getIpAddr() + "] WxCouponChannelController::update");
wxCouponChannel.setTenantId(getUser().getTenantId());
if (wxCouponChannel.getCouponId() != null && wxCouponChannel.getStatus() != null) {
WxCouponChannel orignal = wxCouponChannelService.getById(wxCouponChannel.getId());
if (orignal.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())
&& wxCouponChannel.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())) {

WxCoupon wxCoupon = wxCouponService.getById(orignal.getCouponId());
if (wxCoupon == null)
return new ResultData(ErrorCode.COUPON_IS_EMPTY);
if (wxCoupon.getStatus().equals(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF))
return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF);

//查找是否该券 在该频道有其他上架
WxCouponChannel query = new WxCouponChannel();
query.setTenantId(orignal.getTenantId());
query.setCouponId(orignal.getCouponId());
query.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());//已上架
query.setTargetAd(orignal.getTargetAd());
List<WxCouponChannel> list = wxCouponChannelService.listAsPage(query, 1, 1).getList();
if (list != null && list.size() > 0) {
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_EXISTED);
}
}
}
wxCouponChannelService.saveOrUpdate(wxCouponChannel);
return new ResultData();

return wxCouponChannelService.saveOrUpdate(wxCouponChannel);
}

@ApiOperation("根据id删除接口")


+ 4
- 4
mallinkAdmin/src/main/java/com/iformall/controller/WxDeviceController.java Visa fil

@@ -42,7 +42,7 @@ public class WxDeviceController extends BaseController {

@ApiOperation("添加设备")
@PostMapping("add")
public Result add(@ModelAttribute WxDevice wxDevice) {
public Result add(@RequestBody WxDevice wxDevice) {

WxDevice record = new WxDevice();
record.setDeviceId(wxDevice.getDeviceId());
@@ -59,7 +59,7 @@ public class WxDeviceController extends BaseController {

@ApiOperation("更新设备")
@PostMapping("update")
public Result update(@ModelAttribute WxDevice wxDevice) {
public Result update(@RequestBody WxDevice wxDevice) {
if (wxDevice == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (wxDevice.getId() == null)
@@ -71,7 +71,7 @@ public class WxDeviceController extends BaseController {

@ApiOperation("设备详情")
@GetMapping("detail")
public Result detail(Long id) {
public Result detail(@RequestParam Long id) {
if (id == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
WxDevice wxDevice = wxDeviceService.getById(id);
@@ -83,7 +83,7 @@ public class WxDeviceController extends BaseController {

@ApiOperation("删除设备")
@PostMapping("delete")
public Result delete(Long id) {
public Result delete(@RequestParam Long id) {
if (id == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
WxDevice wxDevice = new WxDevice();


+ 4
- 4
mallinkAdmin/src/main/java/com/iformall/controller/WxScreenAdController.java Visa fil

@@ -53,7 +53,7 @@ public class WxScreenAdController extends BaseController {

@ApiOperation("添加广告")
@PostMapping("add")
public Result add(@ModelAttribute WxScreenAd wxScreenAd) {
public Result add(@RequestBody WxScreenAd wxScreenAd) {
wxScreenAd.setStatus(EnumScreenAdStatus.VALID.getCode());
wxScreenAd.setTenantId(getTenantId());
wxScreenAdService.saveOrUpdate(wxScreenAd);
@@ -62,7 +62,7 @@ public class WxScreenAdController extends BaseController {

@ApiOperation("更新广告")
@PostMapping("update")
public Result update(@ModelAttribute WxScreenAd wxScreenAd) {
public Result update(@RequestBody WxScreenAd wxScreenAd) {
if (wxScreenAd == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
if (wxScreenAd.getId() == null)
@@ -74,7 +74,7 @@ public class WxScreenAdController extends BaseController {

@ApiOperation("广告详情")
@GetMapping("detail")
public Result detail(Long id) {
public Result detail(@RequestParam Long id) {
if (id == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
WxScreenAd wxScreenAd = wxScreenAdService.getById(id);
@@ -93,7 +93,7 @@ public class WxScreenAdController extends BaseController {

@ApiOperation("删除广告")
@PostMapping("delete")
public Result delete(Long id) {
public Result delete(@RequestParam Long id) {
if (id == null)
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR);
WxScreenAd wxScreenAd = new WxScreenAd();


+ 9
- 1
mallinkSchedule/src/main/java/com/iformall/schedule/CouponExpiringSchedule.java Visa fil

@@ -23,6 +23,9 @@ public class CouponExpiringSchedule {
@Autowired
private WxCouponSendMapper wxCouponSendMapper;

@Autowired
private WxScreenAdMapper wxScreenAdMapper;


@Scheduled(cron = "0 5 0 * * ?") // 每天凌晨00:05 作废过期券,商户禁用券
//@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次
@@ -41,7 +44,6 @@ public class CouponExpiringSchedule {
wxCouponSendMapper.offExpiriedCouponSendByCouponStatus();
}


@Scheduled(cron = "0 10 0 * * ?") // 每天凌晨00:10 下架主动领取
//@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次
public void couponChannelExpiringSchedule() {
@@ -51,6 +53,12 @@ public class CouponExpiringSchedule {
wxCouponChannelMapper.offExpiriedCouponChannelByCouponStatus();
}

@Scheduled(cron = "0 15 0 * * ?") // 每天凌晨00:15 下架券广告
//@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次
public void screenAdExpiringSchedule() {
wxScreenAdMapper.offScreeAdByCouponChannelStatus();
}

@Scheduled(cron = "0 0,1,2,3 0/1 * * ?") // 每小时 0, 1 ,2 ,3 分钟(整点)执行//限时抢购
//@Scheduled(cron = "*/10 * * * * ?") // 测试10秒中一次
public void couponChannel2ExpiringSchedule() {


+ 3
- 0
mallinkService/src/main/java/com/iformall/mapper/WxScreenAdMapper.java Visa fil

@@ -10,4 +10,7 @@ public interface WxScreenAdMapper extends CommonMapper<WxScreenAd, Long> {

List<WxScreenAd> findList(WxScreenAd wxScreenAd);

void offScreeAdByCouponChannelStatus();
void updateStatusByCouponChannelId(WxScreenAd wxScreenAd);

}

+ 1
- 1
mallinkService/src/main/java/com/iformall/service/WxCouponChannelService.java Visa fil

@@ -61,7 +61,7 @@ public interface WxCouponChannelService {
*
* @param record
*/
void saveOrUpdate(WxCouponChannel record);
ResultData saveOrUpdate(WxCouponChannel record);

/**
* 根据Id删除实体


+ 4
- 1
mallinkService/src/main/java/com/iformall/service/WxScreenAdService.java Visa fil

@@ -54,5 +54,8 @@ public interface WxScreenAdService {
List<WxScreenAd> findList(WxScreenAd record);



void updateStatusByCouponChannelId(Long couponChannelId, String tenantId, int status);

void updateStatusByCouponId(Long couponId, String tenantId, int status);
}

+ 37
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java Visa fil

@@ -22,6 +22,7 @@ import com.iformall.mapper.WxCouponMerchantMapper;
import com.iformall.mapper.WxMerchantMapper;
import com.iformall.service.WxCouponChannelService;
import com.iformall.service.WxCouponService;
import com.iformall.service.WxScreenAdService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
@@ -40,6 +41,8 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
WxMerchantMapper wxMerchantMapper;
@Autowired
WxCouponMerchantMapper wxCouponMerchantMapper;
@Autowired
WxScreenAdService wxScreenAdService;
/**
* B端业务端
* @param record
@@ -58,15 +61,47 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
}

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

if (record.getCouponId() != null && record.getStatus() != null) {
WxCouponChannel orignal = getById(record.getId());
if (orignal.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())
&& record.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())) {

WxCoupon wxCoupon = wxCouponService.getById(orignal.getCouponId());
if (wxCoupon == null)
return new ResultData(ErrorCode.COUPON_IS_EMPTY);
if (wxCoupon.getStatus().equals(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF))
return new ResultData(ErrorCode.COUPON_IS_TAKE_OFF);

//查找是否该券 在该频道有其他上架
WxCouponChannel query = new WxCouponChannel();
query.setTenantId(orignal.getTenantId());
query.setCouponId(orignal.getCouponId());
query.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());//已上架
query.setTargetAd(orignal.getTargetAd());
List<WxCouponChannel> list = wxCouponChannelMapper.findList(query);
if (list != null && list.size() > 0) {
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_EXISTED);
}
}
}
if (record.getStatus() != null) {
WxCouponChannel orignal = getById(record.getId());
if (orignal.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())
&& record.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())) {
wxScreenAdService.updateStatusByCouponChannelId(record.getId(),record.getTenantId(),EnumScreenAdStatus.INVALID.getCode());
}
}
wxCouponChannelMapper.updateByPrimaryKeySelective(record);
}
return new ResultData();
}

@Override
@@ -171,7 +206,7 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {

WxCouponChannel wxCouponChannel = new WxCouponChannel();
wxCouponChannel.setEndTime(endTime);
wxCouponChannel.setStatus(0);
wxCouponChannel.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());
wxCouponChannel.setBeginTime(beginTime);
wxCouponChannel.setCouponId(couponid);
wxCouponChannel.setType(wxCoupon.getType());


+ 6
- 6
mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java Visa fil

@@ -10,16 +10,14 @@ import com.iformall.common.ErrorCode;
import com.iformall.common.ResultData;
import com.iformall.domain.po.WxCoupon;
import com.iformall.domain.po.WxCouponMerchant;
import com.iformall.domain.po.WxScreenAd;
import com.iformall.domain.vo.WxCouponCVo;
import com.iformall.domain.vo.WxMerchantVo;
import com.iformall.enums.*;
import com.iformall.mapper.WxCouponMapper;
import com.iformall.mapper.WxCouponMerchantMapper;
import com.iformall.mapper.WxMerchantMapper;
import com.iformall.service.WxCouponChannelService;
import com.iformall.service.WxCouponSendService;
import com.iformall.service.WxCouponService;
import com.iformall.service.WxOrderService;
import com.iformall.service.*;
import org.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -52,6 +50,8 @@ public class WxCouponServiceImpl implements WxCouponService {
@Autowired
WxOrderService wxOrderService;

@Autowired
WxScreenAdService wxScreenAdService;

@Override
public PageInfo<WxCoupon> listAsPage(WxCoupon record, Integer pageIndex, Integer pageSize, Integer type) {
@@ -242,8 +242,8 @@ public class WxCouponServiceImpl implements WxCouponService {
.updateStatusByCouponId(record.getId(), record.getTenantId(), EnumCouponSendStatus.INVALID.getCode());
//下架所有已砍价券
wxOrderService.updateStatusByPressCouponId(record.getId(), record.getTenantId(), EnumOrderStatus.ORDER_STATUS_PRESS_CANCEL.getCode());
//下架所有相关广告
wxScreenAdService.updateStatusByCouponId(record.getId(), record.getTenantId(), EnumScreenAdStatus.INVALID.getCode());
}
record.setUpdateDate(new Date());
wxCouponMapper.updateByPrimaryKeySelective(record);


+ 34
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxScreenAdServiceImpl.java Visa fil

@@ -8,8 +8,10 @@ import com.github.pagehelper.PageInfo;
import com.iformall.common.IdWorker;

import com.iformall.domain.po.WxAppinfo;
import com.iformall.domain.po.WxCouponChannel;
import com.iformall.domain.po.WxScreenAd;
import com.iformall.enums.EnumScreenAdType;
import com.iformall.mapper.WxCouponChannelMapper;
import com.iformall.mapper.WxScreenAdMapper;
import com.iformall.service.WxAppinfoService;
import com.iformall.service.WxScreenAdService;
@@ -38,6 +40,9 @@ public class WxScreenAdServiceImpl implements WxScreenAdService {
@Autowired
WxAppinfoService wxAppinfoService;

@Autowired
WxCouponChannelMapper wxCouponChannelMapper;

@Override
public PageInfo<WxScreenAd> listAsPage(WxScreenAd record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxScreenAdMapper.findList(record));
@@ -76,6 +81,35 @@ public class WxScreenAdServiceImpl implements WxScreenAdService {
}


@Override
public void updateStatusByCouponChannelId(Long couponChannelId, String tenantId, int status) {
WxScreenAd wxScreenAd = new WxScreenAd();
wxScreenAd.setTenantId(tenantId);
wxScreenAd.setStatus(status);
wxScreenAd.setTargetId(couponChannelId);
wxScreenAd.setUpdateDate(new Date());
wxScreenAdMapper.updateStatusByCouponChannelId(wxScreenAd);
}

@Override
public void updateStatusByCouponId(Long couponId, String tenantId, int status) {

WxCouponChannel wxCouponChannel = new WxCouponChannel();
wxCouponChannel.setTenantId(tenantId);
wxCouponChannel.setCouponId(couponId);

List<WxCouponChannel> list = wxCouponChannelMapper.findList(wxCouponChannel);

list.stream().forEach(cc->{
WxScreenAd wxScreenAd = new WxScreenAd();
wxScreenAd.setTenantId(tenantId);
wxScreenAd.setStatus(status);
wxScreenAd.setTargetId(cc.getId());
wxScreenAd.setUpdateDate(new Date());
wxScreenAdMapper.updateStatusByCouponChannelId(wxScreenAd);
});
}


private void setQrcode(WxScreenAd record){
if (record.getTargetId() != null &&


+ 2
- 1
mallinkService/src/main/resources/mapper/WxCouponChannelMapper.xml Visa fil

@@ -102,7 +102,8 @@
</select>

<update id="updateStatusByCouponId" parameterType="com.iformall.domain.po.WxCouponChannel">
update wx_coupon_channel set status=#{status}
update wx_coupon_channel
set status=#{status}, update_date=#{updateDate}
where coupon_id=#{couponId}
<if test=" null != tenantId ">
and tenant_id = #{tenantId}


+ 17
- 1
mallinkService/src/main/resources/mapper/WxScreenAdMapper.xml Visa fil

@@ -64,12 +64,28 @@
<if test=" null != sortColumns">order by ${sortColumns}</if>
</sql>

<select id="findList" parameterType="com.iformall.domain.po.WxDevice" resultMap="BaseResultMap">
<select id="findList" parameterType="com.iformall.domain.po.WxScreenAd" resultMap="BaseResultMap">
select
<include refid="allColumns"/>
from wx_screen_ad
<include refid="dynamicWhereConditions"/>
</select>

<update id="updateStatusByCouponChannelId" parameterType="com.iformall.domain.po.WxScreenAd">
update wx_screen_ad sa
set sa.status = #{status}, sa.update_date = #{updateDate}
where sa.target_id = #{targetId}
<if test=" null != tenantId ">
and tenant_id = #{tenantId}
</if>
</update>

<update id="offScreeAdByCouponChannelStatus">
update wx_screen_ad sa, wx_coupon_channel cc
SET sa.status = 1, sa.update_date = now()
where sa.status = 0
and sa.target_id = cc.id
and cc.status = 1
</update>

</mapper>

Laddar…
Avbryt
Spara