Parcourir la source

1.预警价格信息接收 记录明细

wq_dev
wangqiang il y a 3 semaines
Parent
révision
e5eca90c00

+ 1
- 1
ruoyi-admin/pom.xml Voir le fichier

@@ -9,7 +9,7 @@
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>jar</packaging>
<artifactId>ruoyi-admin</artifactId>
<artifactId>zs-admin</artifactId>

<description>
web服务入口

+ 41
- 0
ruoyi-system/src/main/java/com/ruoyi/system/controller/ZsOperationGoodsDetailController.java Voir le fichier

@@ -0,0 +1,41 @@
package com.ruoyi.system.controller;

import cn.dev33.satoken.annotation.SaCheckPermission;

import cn.dev33.satoken.annotation.SaIgnore;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;

import com.ruoyi.system.domain.bo.ZsOperationGoodsDetailBo;
import com.ruoyi.system.domain.vo.ZsOperationGoodsDetailVo;
import com.ruoyi.system.service.IZsOperationGoodsDetailService;
import lombok.RequiredArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;

/**
* 商品配置
*
* @author 王强
* @date 2025-05-08
*/
@Validated
@RequiredArgsConstructor
@RestController
@RequestMapping("/system/operationGoodsDetail")
public class ZsOperationGoodsDetailController extends BaseController {
@Autowired
private IZsOperationGoodsDetailService iZsOperationGoodsDetailService;

/**
* 查询商品配置列表
*/
// @SaCheckPermission("system:operationGoodsDetail:list")
@SaIgnore
@GetMapping("/list")
public TableDataInfo<ZsOperationGoodsDetailVo> list(ZsOperationGoodsDetailBo bo, PageQuery pageQuery) {
return iZsOperationGoodsDetailService.queryPageList(bo,pageQuery);
}
}

+ 54
- 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/ZsOperationGoodsDetail.java Voir le fichier

@@ -0,0 +1,54 @@
package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
* 接收商品信息对象 zs_operation_goods_detail
*
* @author 王强
* @date 2025-05-08
*/
@Data
@TableName("zs_operation_goods_detail")
public class ZsOperationGoodsDetail {

private static final long serialVersionUID=1L;

/**
* 主键ID
*/
@TableId(value = "id")
private Long id;
/**
* 商品名字
*/
private String goodsSkuName;
/**
* 商品编号
*/
private String goodsSkuSn;
/**
* 商品url
*/
private String goodsSkuUrl;

/**
* 当前价格
*/
private BigDecimal curPrice;
/**
* 备注
*/
private String remark;
/**
* 接收时间
*/
private Date receiveDate;

}

+ 61
- 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/ZsOperationGoodsDetailBo.java Voir le fichier

@@ -0,0 +1,61 @@
package com.ruoyi.system.domain.bo;

import com.ruoyi.common.core.domain.BaseEntity;
import com.ruoyi.common.core.validate.EditGroup;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.Date;

/**
* 接收商品信息对象 zs_operation_goods_detail
*
* @author 王强
* @date 2025-05-08
*/

@Data
@EqualsAndHashCode(callSuper = true)
public class ZsOperationGoodsDetailBo extends BaseEntity {

/**
* 主键ID
*/
@NotNull(message = "主键ID不能为空", groups = { EditGroup.class })
private Long id;

/**
* 商品名字
*/
private String goodsSkuName;

/**
* 商品编号
*/
private String goodsSkuSn;

/**
* 商品url
*/
private String goodsSkuUrl;


/**
* 当前价格
*/
private String curPrice;

/**
* 备注
*/
private String remark;


/**
* 接收时间
*/
private Date receiveDate;

}

+ 67
- 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/ZsOperationGoodsDetailVo.java Voir le fichier

@@ -0,0 +1,67 @@
package com.ruoyi.system.domain.vo;

import com.alibaba.excel.annotation.ExcelIgnoreUnannotated;
import com.alibaba.excel.annotation.ExcelProperty;
import com.ruoyi.common.annotation.ExcelDictFormat;
import com.ruoyi.common.convert.ExcelDictConvert;
import lombok.Data;

import java.math.BigDecimal;
import java.util.Date;


/**
* 接收商品信息视图对象 zs_operation_goods_detail
*
* @author 王强
* @date 2025-05-08
*/
@Data
@ExcelIgnoreUnannotated
public class ZsOperationGoodsDetailVo {

private static final long serialVersionUID = 1L;

/**
* 主键ID
*/
@ExcelProperty(value = "主键ID")
private Long id;

/**
* 商品名字
*/
@ExcelProperty(value = "商品名字")
private String goodsSkuName;

/**
* 商品编号
*/
@ExcelProperty(value = "商品编号")
private String goodsSkuSn;

/**
* 商品url
*/
@ExcelProperty(value = "商品url")
private String goodsSkuUrl;

/**
* 基准价格
*/
@ExcelProperty(value = "基准价格")
private BigDecimal curPrice;

/**
* 备注
*/
@ExcelProperty(value = "备注")
private String remark;

/**
* 创建时间
*/
@ExcelProperty(value = "创建时间")
private Date receiveDate;

}

+ 17
- 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/ZsOperationGoodsDetailMapper.java Voir le fichier

@@ -0,0 +1,17 @@
package com.ruoyi.system.mapper;

import com.ruoyi.common.core.mapper.BaseMapperPlus;
import com.ruoyi.system.domain.ZsOperationGoods;
import com.ruoyi.system.domain.ZsOperationGoodsDetail;
import com.ruoyi.system.domain.vo.ZsOperationGoodsDetailVo;
import com.ruoyi.system.domain.vo.ZsOperationGoodsVo;

/**
* 接收商品信息配置Mapper接口
*
* @author 王强
* @date 2025-05-08
*/
public interface ZsOperationGoodsDetailMapper extends BaseMapperPlus<ZsOperationGoodsDetailMapper, ZsOperationGoodsDetail, ZsOperationGoodsDetailVo> {

}

+ 28
- 0
ruoyi-system/src/main/java/com/ruoyi/system/service/IZsOperationGoodsDetailService.java Voir le fichier

@@ -0,0 +1,28 @@
package com.ruoyi.system.service;

import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.bo.ZsOperationGoodsDetailBo;
import com.ruoyi.system.domain.vo.ZsOperationGoodsDetailVo;

/**
* 商品配置Service接口
*
* @author 王强
* @date 2025-05-08
*/
public interface IZsOperationGoodsDetailService {

/**
* 查询商品配置列表
*/
TableDataInfo<ZsOperationGoodsDetailVo> queryPageList(ZsOperationGoodsDetailBo bo, PageQuery pageQuery);


/**
* 新增商品配置
*/
Boolean insertByBo(ZsOperationGoodsDetailBo bo);


}

+ 65
- 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZsOperationGoodsDetailServiceImpl.java Voir le fichier

@@ -0,0 +1,65 @@
package com.ruoyi.system.service.impl;

import cn.hutool.core.bean.BeanUtil;

import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.PageQuery;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.system.domain.ZsOperationGoodsDetail;
import com.ruoyi.system.domain.bo.ZsOperationGoodsDetailBo;
import com.ruoyi.system.domain.vo.ZsOperationGoodsDetailVo;
import com.ruoyi.system.mapper.ZsOperationGoodsDetailMapper;
import com.ruoyi.system.service.IZsOperationGoodsDetailService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

/**
* 商品配置Service业务层处理
*
* @author 王强
* @date 2025-05-08
*/
@RequiredArgsConstructor
@Service
@Slf4j
public class ZsOperationGoodsDetailServiceImpl implements IZsOperationGoodsDetailService {

@Autowired
private ZsOperationGoodsDetailMapper baseMapper;

private LambdaQueryWrapper<ZsOperationGoodsDetail> buildQueryWrapper(ZsOperationGoodsDetailBo bo) {
// Map<String, Object> params = bo.getParams();
LambdaQueryWrapper<ZsOperationGoodsDetail> lqw = Wrappers.lambdaQuery();
//lqw.eq(StringUtils.isNotBlank(bo.getModule()), ZsOperationSendconfig::getModule, bo.getModule());
return lqw;
}


@Override
public TableDataInfo<ZsOperationGoodsDetailVo> queryPageList(ZsOperationGoodsDetailBo bo, PageQuery pageQuery) {
LambdaQueryWrapper<ZsOperationGoodsDetail> lqw = buildQueryWrapper(bo);
Page<ZsOperationGoodsDetailVo> result = baseMapper.selectVoPage(pageQuery.build(), lqw);
return TableDataInfo.build(result);
}

@Override
public Boolean insertByBo(ZsOperationGoodsDetailBo bo) {
ZsOperationGoodsDetail add = BeanUtil.toBean(bo, ZsOperationGoodsDetail.class);
validEntityBeforeSave(add);
boolean flag = baseMapper.insert(add) > 0;
if (flag) {
bo.setId(add.getId());
}
return flag;
}
/**
* 保存前的数据校验
*/
private void validEntityBeforeSave(ZsOperationGoodsDetail entity){
//TODO 做一些数据校验,如唯一约束
}
}

+ 14
- 0
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/ZsOperationWarnresultServiceImpl.java Voir le fichier

@@ -10,10 +10,12 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.system.domain.*;
import com.ruoyi.system.domain.bo.ZsOperationGoodsDetailBo;
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.service.IZsOperationGoodsDetailService;
import com.ruoyi.system.utils.DateUtil;
import com.ruoyi.system.utils.EmailUtils;
import lombok.Data;
@@ -64,6 +66,8 @@ public class ZsOperationWarnresultServiceImpl implements IZsOperationWarnresultS
private SpringTemplateEngine templateEngine;
@Autowired
private EmailUtils emailUtils;
@Autowired
private IZsOperationGoodsDetailService iZsOperationGoodsDetailService;
/**
* 查询预警结果
*/
@@ -209,6 +213,16 @@ public class ZsOperationWarnresultServiceImpl implements IZsOperationWarnresultS
updateWrapper.set("goods_sku_sn",newSn);
int i = zsOperationWarnresultMapper.update(null,updateWrapper);

//插入
ZsOperationGoodsDetailBo zsOperationGoodsDetailBo = new ZsOperationGoodsDetailBo();
zsOperationGoodsDetailBo.setGoodsSkuName(newName);
zsOperationGoodsDetailBo.setGoodsSkuSn(newSn);
zsOperationGoodsDetailBo.setGoodsSkuUrl(curUrl);
zsOperationGoodsDetailBo.setRemark((String)dataMap.get("remark"));
zsOperationGoodsDetailBo.setCurPrice((String)dataMap.get("price"));
zsOperationGoodsDetailBo.setReceiveDate(new Date(DateUtil.getShanghaiTimestamp()));
iZsOperationGoodsDetailService.insertByBo(zsOperationGoodsDetailBo);

//3.查询商品基准价格
QueryWrapper<ZsOperationGoods> goodsQueryWrapper = new QueryWrapper();
goodsQueryWrapper.eq("goods_sku_url",curUrl);

Chargement…
Annuler
Enregistrer