|
|
|
|
|
|
|
|
import com.ruoyi.system.mapper.ZsOperationSendconfigMapper; |
|
|
import com.ruoyi.system.mapper.ZsOperationSendconfigMapper; |
|
|
import com.ruoyi.system.mapper.ZsOperationWarnconfigMapper; |
|
|
import com.ruoyi.system.mapper.ZsOperationWarnconfigMapper; |
|
|
import com.ruoyi.system.service.ISysDictDataService; |
|
|
import com.ruoyi.system.service.ISysDictDataService; |
|
|
import com.ruoyi.system.task.MonitorTaskScheduler; |
|
|
|
|
|
import com.ruoyi.system.utils.DateUtil; |
|
|
import com.ruoyi.system.utils.DateUtil; |
|
|
import com.ruoyi.system.utils.EmailUtils; |
|
|
import com.ruoyi.system.utils.EmailUtils; |
|
|
import lombok.Data; |
|
|
import lombok.Data; |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
private final ZsOperationWarnresultMapper baseMapper; |
|
|
private final ZsOperationWarnresultMapper baseMapper; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private MonitorTaskScheduler monitorTaskScheduler; |
|
|
|
|
|
@Autowired |
|
|
|
|
|
private ZsOperationWarnconfigMapper zsOperationWarnconfigMapper; |
|
|
private ZsOperationWarnconfigMapper zsOperationWarnconfigMapper; |
|
|
@Autowired |
|
|
@Autowired |
|
|
private ZsOperationGoodsMapper zsOperationGoodsMapper; |
|
|
private ZsOperationGoodsMapper zsOperationGoodsMapper; |
|
|
|
|
|
|
|
|
*/ |
|
|
*/ |
|
|
@Override |
|
|
@Override |
|
|
public Boolean updateByBo(ZsOperationWarnresultBo bo) { |
|
|
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; |
|
|
|
|
|
|
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
|
|
|
|
|
|
if (newPrice.compareTo(BigDecimal.ZERO) > 0) { |
|
|
if (newPrice.compareTo(BigDecimal.ZERO) > 0) { |
|
|
//判断这个商品最新的价格是否已经存在预警结果表了,如果在不发送消息和生成结果 |
|
|
//判断这个商品最新的价格是否已经存在预警结果表了,如果在不发送消息和生成结果 |
|
|
if (checkIsExistsWarnResult(curUrl,newPrice)) { |
|
|
if (checkIsExistsWarnResult(curUrl,newPrice)) { |
|
|
message = "已经存在预警结果表,并且价格没有再次变化,不记录 url=:"+curUrl; |
|
|
|
|
|
|
|
|
message = "已经存在预警结果表被处理,并且价格没有再次变化,不记录 url=:"+curUrl; |
|
|
log.info(message); |
|
|
log.info(message); |
|
|
} else { |
|
|
} else { |
|
|
//获取基准价格 |
|
|
//获取基准价格 |
|
|
|
|
|
|
|
|
zsOperationWarnresult.setStatus(0); |
|
|
zsOperationWarnresult.setStatus(0); |
|
|
zsOperationWarnresult.setPlatform(zsOperationGoods.getPlatform()); |
|
|
zsOperationWarnresult.setPlatform(zsOperationGoods.getPlatform()); |
|
|
zsOperationWarnresult.setCompareStatus(1); |
|
|
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.发送邮件 |
|
|
//6.发送邮件 |
|
|
QueryWrapper<ZsOperationSendconfig> sendWrapper= new QueryWrapper<>(); |
|
|
QueryWrapper<ZsOperationSendconfig> sendWrapper= new QueryWrapper<>(); |
|
|
|
|
|
|
|
|
return reMap; |
|
|
return reMap; |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//查询是否存在已处理的数据 |
|
|
public boolean checkIsExistsWarnResult(String url,BigDecimal newPrice) { |
|
|
public boolean checkIsExistsWarnResult(String url,BigDecimal newPrice) { |
|
|
boolean isExists = false; |
|
|
boolean isExists = false; |
|
|
QueryWrapper<ZsOperationWarnresult> queryWrapper = new QueryWrapper<>(); |
|
|
QueryWrapper<ZsOperationWarnresult> queryWrapper = new QueryWrapper<>(); |
|
|
queryWrapper.eq("goods_sku_url",url); |
|
|
queryWrapper.eq("goods_sku_url",url); |
|
|
queryWrapper.eq("status",0); |
|
|
|
|
|
|
|
|
queryWrapper.eq("status",1);//已处理 |
|
|
queryWrapper.orderByDesc("warn_time"); |
|
|
queryWrapper.orderByDesc("warn_time"); |
|
|
List<ZsOperationWarnresult> list = zsOperationWarnresultMapper.selectList(queryWrapper); |
|
|
List<ZsOperationWarnresult> list = zsOperationWarnresultMapper.selectList(queryWrapper); |
|
|
if (list!=null&&list.size()>0) { |
|
|
if (list!=null&&list.size()>0) { |