Procházet zdrojové kódy

1.处理预警结果时同步更新商品基准价格

2.修改预警结果生成的逻辑
wq_dev
wangqiang před 1 měsícem
rodič
revize
39116b9891

+ 34
- 10
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZsOperationWarnresultServiceImpl.java Zobrazit soubor

@@ -14,7 +14,6 @@ import com.ruoyi.system.mapper.ZsOperationGoodsMapper;
import com.ruoyi.system.mapper.ZsOperationSendconfigMapper;
import com.ruoyi.system.mapper.ZsOperationWarnconfigMapper;
import com.ruoyi.system.service.ISysDictDataService;
import com.ruoyi.system.task.MonitorTaskScheduler;
import com.ruoyi.system.utils.DateUtil;
import com.ruoyi.system.utils.EmailUtils;
import lombok.Data;
@@ -49,8 +48,6 @@ public class ZsOperationWarnresultServiceImpl implements IZsOperationWarnresultS

private final ZsOperationWarnresultMapper baseMapper;
@Autowired
private MonitorTaskScheduler monitorTaskScheduler;
@Autowired
private ZsOperationWarnconfigMapper zsOperationWarnconfigMapper;
@Autowired
private ZsOperationGoodsMapper zsOperationGoodsMapper;
@@ -155,9 +152,23 @@ public class ZsOperationWarnresultServiceImpl implements IZsOperationWarnresultS
*/
@Override
public Boolean updateByBo(ZsOperationWarnresultBo bo) {
ZsOperationWarnresult update = BeanUtil.toBean(bo, ZsOperationWarnresult.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
//已处理 修改商品基准价格为当前最新价格
if(bo.getStatus()==1) {
String url = bo.getGoodsSkuUrl();
ZsOperationWarnresultVo zsOperationWarnresultVo = baseMapper.selectVoById(bo.getId());
UpdateWrapper<ZsOperationGoods> updateWrapper =new UpdateWrapper();
updateWrapper.set("init_price",zsOperationWarnresultVo.getCurPrice());
updateWrapper.eq("goods_sku_url",url);
//updateWrapper.eq("is_disabled",1);
int i = zsOperationGoodsMapper.update(null,updateWrapper);
if (i>=1) {
ZsOperationWarnresult update = BeanUtil.toBean(bo, ZsOperationWarnresult.class);
validEntityBeforeSave(update);
return baseMapper.updateById(update) > 0;
}
}
return false;

}

/**
@@ -213,7 +224,7 @@ public class ZsOperationWarnresultServiceImpl implements IZsOperationWarnresultS
if (newPrice.compareTo(BigDecimal.ZERO) > 0) {
//判断这个商品最新的价格是否已经存在预警结果表了,如果在不发送消息和生成结果
if (checkIsExistsWarnResult(curUrl,newPrice)) {
message = "已经存在预警结果表,并且价格没有再次变化,不记录 url=:"+curUrl;
message = "已经存在预警结果表被处理,并且价格没有再次变化,不记录 url=:"+curUrl;
log.info(message);
} else {
//获取基准价格
@@ -263,7 +274,20 @@ public class ZsOperationWarnresultServiceImpl implements IZsOperationWarnresultS
zsOperationWarnresult.setStatus(0);
zsOperationWarnresult.setPlatform(zsOperationGoods.getPlatform());
zsOperationWarnresult.setCompareStatus(1);
zsOperationWarnresultMapper.insert(zsOperationWarnresult);
QueryWrapper<ZsOperationWarnresult> queryWrapper = new QueryWrapper();
queryWrapper.eq("goods_sku_url",curUrl);
queryWrapper.eq("status",0);//未处理
queryWrapper.orderByDesc("warn_time");
List<ZsOperationWarnresult> list = zsOperationWarnresultMapper.selectList(queryWrapper);
if (list!=null&&list.size()>0) {
zsOperationWarnresult.setId(list.get(0).getId());
//更新
zsOperationWarnresultMapper.update(zsOperationWarnresult,
new UpdateWrapper<ZsOperationWarnresult>().eq("id",zsOperationWarnresult.getId()));
} else {
//插入
zsOperationWarnresultMapper.insert(zsOperationWarnresult);
}

//6.发送邮件
QueryWrapper<ZsOperationSendconfig> sendWrapper= new QueryWrapper<>();
@@ -313,12 +337,12 @@ public class ZsOperationWarnresultServiceImpl implements IZsOperationWarnresultS
return reMap;
}

//查询是否存在已处理的数据
public boolean checkIsExistsWarnResult(String url,BigDecimal newPrice) {
boolean isExists = false;
QueryWrapper<ZsOperationWarnresult> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("goods_sku_url",url);
queryWrapper.eq("status",0);
queryWrapper.eq("status",1);//已处理
queryWrapper.orderByDesc("warn_time");
List<ZsOperationWarnresult> list = zsOperationWarnresultMapper.selectList(queryWrapper);
if (list!=null&&list.size()>0) {

Načítá se…
Zrušit
Uložit