Переглянути джерело

//coupon

release_toaliyun_real
xhxu 3 роки тому
джерело
коміт
272621ee2f
4 змінених файлів з 114 додано та 82 видалено
  1. +3
    -1
      mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java
  2. +29
    -11
      mallinkService/src/main/java/com/iformall/service/impl/TtCouponGoodsServiceImpl.java
  3. +80
    -68
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java
  4. +2
    -2
      mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java

+ 3
- 1
mallinkCallback/src/main/java/com/iformall/controller/callback/TtWebController.java Переглянути файл

@@ -116,7 +116,9 @@ public class TtWebController extends BaseController {
couponChannelPoi.setLastStatusDesc(reason);

}else if("PASS".equals(status)){
couponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_audit_pass.getCode());
// couponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_audit_pass.getCode());
//抖音审核通过既上架
couponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_put_on.getCode());
couponChannelPoi.setLastStatusDesc(reason);

}else{


+ 29
- 11
mallinkService/src/main/java/com/iformall/service/impl/TtCouponGoodsServiceImpl.java Переглянути файл

@@ -312,7 +312,9 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
ttCouponChannelPoiMapper.updateById(ttCouponChannelPoi);

}else if(product.getDraftStatus().intValue() == 1 && !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
ttCouponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_audit_pass.getCode());
// ttCouponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_audit_pass.getCode());
//审核通过
ttCouponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_put_on.getCode());
ttCouponChannelPoi.setLastStatusDesc("");
ttCouponChannelPoi.setUpdateDate(new Date());
ttCouponChannelPoiMapper.updateById(ttCouponChannelPoi);
@@ -341,14 +343,17 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
Product product = products.get(0);
if(product.getOnlineStatus().intValue() == 1 && !EnumSpuSyncStatus.sync_put_on.getCode().equals(ttCouponChannelPoi.getStatus())){
ttCouponChannelPoi.setStatus(EnumSpuSyncStatus.sync_put_on.getCode());
ttCouponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_put_on.getCode());
ttCouponChannelPoi.setUpdateDate(new Date());
ttCouponChannelPoiMapper.updateById(ttCouponChannelPoi);
}else if(product.getOnlineStatus().intValue() == 2 && !EnumSpuSyncStatus.sync_pull_off.getCode().equals(ttCouponChannelPoi.getStatus())){
ttCouponChannelPoi.setStatus(EnumSpuSyncStatus.sync_pull_off.getCode());
ttCouponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_pull_off.getCode());
ttCouponChannelPoi.setUpdateDate(new Date());
ttCouponChannelPoiMapper.updateById(ttCouponChannelPoi);
}else if(product.getOnlineStatus().intValue() == 3 && !EnumSpuSyncStatus.sync_audit_disable.getCode().equals(ttCouponChannelPoi.getStatus())){
ttCouponChannelPoi.setStatus(EnumSpuSyncStatus.sync_audit_disable.getCode());
ttCouponChannelPoi.setLastStatus(EnumSpuSyncStatus.sync_audit_disable.getCode());
ttCouponChannelPoi.setUpdateDate(new Date());
ttCouponChannelPoiMapper.updateById(ttCouponChannelPoi);
}
@@ -369,12 +374,13 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未找到");
}
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(tenantInfo.getTenantId(),id);
if(ttCouponChannelPoi == null || !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus())
|| EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过");
}
//查询上架
//op_type int64 TRUE 1-上线 2-下线
Integer op_type = 2;
//op_type int64 TRUE EnumSpuSyncStatus 1-上线 2-下线
Integer op_type = EnumSpuSyncStatus.sync_pull_off.getCode();
if(!EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode().equals(wxCoupon.getStatus())){
WxCouponChannel wxCouponChannelQuery = new WxCouponChannel();
wxCouponChannelQuery.updateTenantInfo(wxCoupon);
@@ -383,7 +389,7 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
wxCouponChannelQuery.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());
List<WxCouponChannel> wxCouponChannels = wxCouponChannelMapper.findList(wxCouponChannelQuery);
if(wxCouponChannels.size() > 0){
op_type = 1;
op_type = EnumSpuSyncStatus.sync_put_on.getCode();
}
}

@@ -391,6 +397,12 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
TtWebService ttWebService = ttMerchantPoiService.getTtWebService(ttCouponChannelPoi);
boolean b = ttWebService.getGoodsService().productOperate(null,wxCoupon.getId().toString(),op_type);
if(b){
TtCouponChannelPoi ccPoi = new TtCouponChannelPoi();
ccPoi.setId(ttCouponChannelPoi.getId());
ccPoi.updateTenantInfo(ttCouponChannelPoi);
ccPoi.setLastStatus(op_type);
ccPoi.setUpdateDate(new Date());
ttCouponChannelPoiMapper.updateById(ccPoi);
return new ResultData();
}else{
return new ResultData(ErrorCode.SYS_SERVER_ERROR.getCode(),"同步失败");
@@ -409,7 +421,8 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未找到");
}
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(tenantInfo.getTenantId(),id);
if(ttCouponChannelPoi == null || !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus())
|| EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过");
}
try {
@@ -434,7 +447,8 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未找到");
}
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(tenantInfo.getTenantId(),id);
if(ttCouponChannelPoi == null || !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus())
|| EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过");
}
try {
@@ -537,7 +551,8 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
@Override
public ResultData poiPlanList(TenantEntity tenantInfo,Long couponId, Integer pageNum, Integer pageSize) {
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(tenantInfo.getTenantId(),couponId);
if(ttCouponChannelPoi == null || !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus())
|| EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过");
}
try {
@@ -553,7 +568,8 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
@Override
public ResultData poiOrientedPlanList(TenantEntity tenantInfo,Long couponId, Integer pageNum, Integer pageSize) {
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(tenantInfo.getTenantId(),couponId);
if(ttCouponChannelPoi == null || !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus())
|| EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过");
}
try {
@@ -576,7 +592,8 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
return new ResultData(ErrorCode.COUPON_ORDER_TYPE_NOT_SUPPORTED);
}
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(wxCoupon.getTenantId(),wxCoupon.getId());
if(ttCouponChannelPoi == null || !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus())
|| EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过");
}
try {
@@ -627,7 +644,8 @@ public class TtCouponGoodsServiceImpl implements TtCouponGoodsService {
return new ResultData(ErrorCode.COUPON_ORDER_TYPE_NOT_SUPPORTED);
}
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(wxCoupon.getTenantId(),wxCoupon.getId());
if(ttCouponChannelPoi == null || !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus())
|| EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过");
}
try {


+ 80
- 68
mallinkService/src/main/java/com/iformall/service/impl/WxCouponChannelServiceImpl.java Переглянути файл

@@ -124,81 +124,83 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
}

@Override
@Transactional(rollbackFor = {Exception.class})
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.insert(record);
return new ResultData(record);
} else {
if (record.getCouponId() != null && record.getStatus() != null) {
WxCouponChannel orignal = getById(record.getId(),record.getTenantId());
if (orignal.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())
&& record.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())) {

WxCoupon wxCoupon = wxCouponService.getById(orignal.getCouponId(),orignal.getTenantId());
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);
boolean isThrowIn = false;//是否上架
boolean isTakeOff = false;//是否下架
if (record.getCouponId() != null) {
WxCoupon wxCoupon = wxCouponService.getById(record.getCouponId(),record.getTenantId());
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);
}
if(EnumCouponType.getDouYinType().contains(wxCoupon.getType())){
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(wxCoupon.getTenantId(),wxCoupon.getId());
if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus())
|| EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过");
}
}
if(record.getStatus() != null){
if(record.getId() != null){
WxCouponChannel old = getById(record.getId(),record.getTenantId());
if(old.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())
&& record.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())){
if(record.getTargetAd() == null){
record.setTargetAd(old.getTargetAd());
}
isThrowIn = true;
}else if (old.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())
&& record.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())) {
isTakeOff = true;
}
}else{
if(record.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())){
isThrowIn = true;
}
}

if(isThrowIn){
//查找是否该券 在该频道有其他上架
WxCouponChannel query = new WxCouponChannel();
query.updateTenantInfo(orignal);
query.setCouponId(orignal.getCouponId());
query.updateTenantInfo(record);
query.setCouponId(record.getCouponId());
query.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());//已上架
query.setTargetAd(orignal.getTargetAd());
query.setTargetAd(record.getTargetAd());
List<WxCouponChannel> list = wxCouponChannelMapper.findList(query);
if (list != null && list.size() > 0) {
return new ResultData(ErrorCode.COUPON_CHANNEL_IS_EXISTED);
}

if(EnumCouponType.getDouYinType().contains(orignal.getType())){
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectById(wxCoupon.getTenantId(),wxCoupon.getId());
if(ttCouponChannelPoi == null || !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该商品未提交审核或审核未通过");
}
//上架该券的审核渠道
updateOnlineDouyin(orignal,orignal.getCouponId());
}

//上架该券的审核渠道
updateOnlineDouyin(wxCoupon);
}
}
Long couponId = null;
if (record.getStatus() != null) {
WxCouponChannel orignal = getById(record.getId(),record.getTenantId());
if (orignal.getStatus().equals(EnumCouponChannelStatus.STATUS_THROW_IN.getCode())
&& record.getStatus().equals(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode())) {
couponId = orignal.getCouponId();

if(isTakeOff){
wxScreenAdService.updateStatusByCouponChannelId(record.getId(),record,EnumScreenAdStatus.INVALID.getCode());
//下架拼团券
wxOrderService.updateOrderGroupStatusByCouponChannelId(record.getId(), record, EnumOrderStatus.ORDER_STATUS_COOPERATING_CANCEL.getCode());
//修改卡状态
wxCardInfoMapper.updateTransferStatusByCouponId(orignal.getCouponId());
wxCardInfoMapper.updateTransferStatusByCouponId(record.getCouponId());
//浮层下架
wxFloatingLayerMapper.updateStatus(orignal.getCouponId());
wxFloatingLayerMapper.updateStatus(record.getCouponId());

if(EnumCouponType.getDouYinType().contains(orignal.getType())){
//下架该券的审核渠道(如所有渠道都已下线)
updateTakeOffDouyin(orignal);
}
//下架该券的审核渠道(如所有渠道都已下线)
updateTakeOffDouyin(wxCoupon,record.getId());
}
}
}

if (record.getId() == null) {
//record.setId(UUID.randomUUID().toString().replaceAll("-", ""));
final IdWorker idWorker = IdWorker.get();
record.setId(idWorker.nextId());
wxCouponChannelMapper.insert(record);
} else {
record.setUpdateDate(new Date());
wxCouponChannelMapper.updateById(record);

try{
if(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode().equals(record.getStatus()) && couponId != null){
//同步抖音状态
spuStatusSyncByCoupon(record,couponId);
}
}catch(Exception e){
logger.error("send spuStatusSync error: " + e.getMessage());
}

}

//清除缓存
clearCache(record);
return new ResultData();
@@ -207,39 +209,48 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
/**
* 前置 该券已审核通过
* //上架该券的审核渠道
* @param tenantEntity
* @param couponId
* @param wxCoupon
*/
public void updateOnlineDouyin(TenantEntity tenantEntity,Long couponId){
public void updateOnlineDouyin(WxCoupon wxCoupon){
if(!EnumCouponType.getDouYinType().contains(wxCoupon.getType())){
return;
}
WxCouponChannel updCC = new WxCouponChannel();
updCC.updateTenantInfo(tenantEntity);
updCC.setCouponId(couponId);
updCC.updateTenantInfo(wxCoupon);
updCC.setCouponId(wxCoupon.getId());
updCC.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_DOUYIN.getCode());
updCC.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());
updCC.setUpdateDate(new Date());
wxCouponChannelMapper.updateStatusByTargetAd(updCC);

spuStatusSyncByCoupon(wxCoupon,wxCoupon.getId());
}

/**
* //下架该券的审核渠道(如所有其他渠道都已下线)
* @param couponChannel
* @param wxCoupon
*/
public void updateTakeOffDouyin(WxCouponChannel couponChannel){
public void updateTakeOffDouyin(WxCoupon wxCoupon,Long couponChannelId){
if(!EnumCouponType.getDouYinType().contains(wxCoupon.getType())){
return;
}
WxCouponChannel ccQ = new WxCouponChannel();
ccQ.updateTenantInfo(couponChannel);
ccQ.setCouponId(couponChannel.getCouponId());
ccQ.updateTenantInfo(wxCoupon);
ccQ.setCouponId(wxCoupon.getId());
ccQ.setStatus(EnumCouponChannelStatus.STATUS_THROW_IN.getCode());
//Exclude
ccQ.setId(couponChannel.getId());
ccQ.setId(couponChannelId);
ccQ.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_DOUYIN.getCode());
if(wxCouponChannelMapper.selectCountExclude(ccQ) == 0){
WxCouponChannel updCC = new WxCouponChannel();
updCC.updateTenantInfo(couponChannel);
updCC.setCouponId(couponChannel.getCouponId());
updCC.updateTenantInfo(wxCoupon);
updCC.setCouponId(wxCoupon.getId());
updCC.setTargetAd(EnumCouponChannelType.COUPON_CHANNEL_ID_DOUYIN.getCode());
updCC.setStatus(EnumCouponChannelStatus.STATUS_TAKE_OFFF.getCode());
updCC.setUpdateDate(new Date());
wxCouponChannelMapper.updateStatusByTargetAd(updCC);

spuStatusSyncByCoupon(wxCoupon,wxCoupon.getId());
}
}

@@ -873,8 +884,9 @@ public class WxCouponChannelServiceImpl implements WxCouponChannelService {
@Override
public ResultData updateOnline(WxCouponChannel wxCouponChannel) {
TtCouponChannelPoi ttCouponChannelPoi = ttCouponChannelPoiMapper.selectByChannelId(wxCouponChannel.getTenantId(),wxCouponChannel.getId());
if(ttCouponChannelPoi == null || !EnumSpuSyncStatus.sync_audit_pass.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该商品未提交审核或审核未通过");
if(ttCouponChannelPoi == null || EnumSpuSyncStatus.sync_auditing.getCode().equals(ttCouponChannelPoi.getLastStatus())
|| EnumSpuSyncStatus.sync_audit_rejection.getCode().equals(ttCouponChannelPoi.getLastStatus())){
return new ResultData(ErrorCode.SYS_PARAMETER_ERROR.getCode(),"该券未提交审核或审核未通过");
}
Date date = new Date();
WxCouponChannel updChannel = new WxCouponChannel();


+ 2
- 2
mallinkService/src/main/java/com/iformall/service/impl/WxCouponServiceImpl.java Переглянути файл

@@ -244,8 +244,8 @@ public class WxCouponServiceImpl implements WxCouponService {
wxCoupon.setPlat(EnumCouponChannelType.getAppPlat(wxCoupon.getTargetAd()).getCode());
}
if(EnumAppPlat.TOUTIAO.getCode().equals(wxCoupon.getPlat())){
//渠道查询时只查询审核通过的
wxCoupon.setLastStatus(EnumSpuSyncStatus.sync_audit_pass.getCode());
//渠道查询时只查询审核通过的(上架的)
wxCoupon.setLastStatus(EnumSpuSyncStatus.sync_put_on.getCode());
}
List<Integer> couponTypes = EnumCouponChannelType.getCouponTypeBy(wxCoupon.getTargetAd());
if(couponTypes.isEmpty()){


Завантаження…
Відмінити
Зберегти