Feat: Code gen V3 ok
This commit is contained in:
parent
5907ab9605
commit
c2b416a5f8
|
|
@ -0,0 +1,30 @@
|
|||
package cn.iocoder.yudao.module.haoka.enums;
|
||||
|
||||
public interface LogRecordConstants {
|
||||
|
||||
String HAOKA_CREATE="创建";
|
||||
String HAOKA_UPDATE="修改";
|
||||
String HAOKA_DELETE="删除";
|
||||
|
||||
String HAOKA_PRODUCT = "产品";
|
||||
String HAOKA_PRODUCT_CREATE_SUCCESS = "产品名称:【{{#haoKaProduct.name}}】,编码:【{{#haoKaProduct.sku}}】";
|
||||
String HAOKA_PRODUCT_UPDATE_SUCCESS = "更新了产品【{{#old.name}}】: {_DIFF{#updateReqVO}}";
|
||||
|
||||
|
||||
String HAOKA_SALE_PRODUCT = "在售商品";
|
||||
String HAOKA_SALE_PRODUCT_CREATE_SUCCESS = "名称:【{{#create.name}}】,编码:【{{#create.sku}}】";
|
||||
String HAOKA_SALE_PRODUCT_UPDATE_SUCCESS = "更新【{{#old.name}}】: {_DIFF{#updateReqVO}}";
|
||||
|
||||
|
||||
|
||||
|
||||
// ----------------------------
|
||||
String SYSTEM_USER_CREATE_SUCCESS = "创建了用户【{{#user.nickname}}】";
|
||||
String SYSTEM_USER_UPDATE_SUB_TYPE = "更新用户";
|
||||
String SYSTEM_USER_UPDATE_SUCCESS = "更新了用户【{{#user.nickname}}】: {_DIFF{#updateReqVO}}";
|
||||
String SYSTEM_USER_DELETE_SUB_TYPE = "删除用户";
|
||||
String SYSTEM_USER_DELETE_SUCCESS = "删除了用户【{{#user.nickname}}】";
|
||||
String SYSTEM_USER_UPDATE_PASSWORD_SUB_TYPE = "重置用户密码";
|
||||
String SYSTEM_USER_UPDATE_PASSWORD_SUCCESS = "将用户【{{#user.nickname}}】的密码从【{{#user.password}}】重置为【{{#newPassword}}】";
|
||||
|
||||
}
|
||||
|
|
@ -0,0 +1,103 @@
|
|||
package cn.iocoder.yudao.module.haoka.utils;
|
||||
|
||||
public class SnowflakeId {
|
||||
|
||||
// 起始的时间戳(毫秒)
|
||||
private final static long START_TIMESTAMP = 1609459200000L; // 2021-01-01 00:00:00
|
||||
|
||||
// 每一部分占用的位数
|
||||
private final static long MACHINE_ID_BITS = 10L; // 机器ID占用的位数
|
||||
private final static long SEQUENCE_BITS = 12L; // 序列号占用的位数
|
||||
|
||||
// 每一部分的最大值
|
||||
private final static long MAX_MACHINE_ID = ~(-1L << MACHINE_ID_BITS); // 机器ID最大值
|
||||
private final static long MAX_SEQUENCE = ~(-1L << SEQUENCE_BITS); // 序列号最大值
|
||||
|
||||
// 每一部分向左的位移
|
||||
private final static long MACHINE_ID_SHIFT = SEQUENCE_BITS; // 机器ID左移位数
|
||||
private final static long TIMESTAMP_SHIFT = SEQUENCE_BITS + MACHINE_ID_BITS; // 时间戳左移位数
|
||||
|
||||
private final long machineId; // 机器ID
|
||||
private long sequence = 0L; // 序列号
|
||||
private long lastTimestamp = -1L; // 上一次生成ID的时间戳
|
||||
|
||||
|
||||
public SnowflakeId() {
|
||||
this.machineId = 1L;
|
||||
}
|
||||
|
||||
/**
|
||||
* 构造函数
|
||||
*
|
||||
* @param machineId 机器ID (0~1023)
|
||||
*/
|
||||
public SnowflakeId(long machineId) {
|
||||
if (machineId > MAX_MACHINE_ID || machineId < 0) {
|
||||
throw new IllegalArgumentException("MachineId can't be greater than " + MAX_MACHINE_ID + " or less than 0");
|
||||
}
|
||||
this.machineId = machineId;
|
||||
}
|
||||
|
||||
/**
|
||||
* 生成下一个ID
|
||||
*
|
||||
* @return 生成的ID
|
||||
*/
|
||||
public synchronized long nextId() {
|
||||
long currentTimestamp = getCurrentTimestamp();
|
||||
|
||||
// 如果当前时间小于上一次生成ID的时间戳,说明系统时钟回退过,抛出异常
|
||||
if (currentTimestamp < lastTimestamp) {
|
||||
throw new RuntimeException("Clock moved backwards. Refusing to generate id for " + (lastTimestamp - currentTimestamp) + " milliseconds");
|
||||
}
|
||||
|
||||
// 如果是同一时间生成的,则进行序列号自增
|
||||
if (currentTimestamp == lastTimestamp) {
|
||||
sequence = (sequence + 1) & MAX_SEQUENCE;
|
||||
// 如果序列号溢出,则等待下一毫秒
|
||||
if (sequence == 0) {
|
||||
currentTimestamp = getNextMillisecond();
|
||||
}
|
||||
} else {
|
||||
// 时间戳改变,序列号重置
|
||||
sequence = 0L;
|
||||
}
|
||||
|
||||
// 更新上一次生成ID的时间戳
|
||||
lastTimestamp = currentTimestamp;
|
||||
|
||||
// 生成ID
|
||||
return (currentTimestamp - START_TIMESTAMP) << TIMESTAMP_SHIFT // 时间戳部分
|
||||
| machineId << MACHINE_ID_SHIFT // 机器ID部分
|
||||
| sequence; // 序列号部分
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取当前时间戳(毫秒)
|
||||
*
|
||||
* @return 当前时间戳
|
||||
*/
|
||||
private long getCurrentTimestamp() {
|
||||
return System.currentTimeMillis();
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取下一毫秒的时间戳
|
||||
*
|
||||
* @return 下一毫秒的时间戳
|
||||
*/
|
||||
private long getNextMillisecond() {
|
||||
long timestamp = getCurrentTimestamp();
|
||||
while (timestamp <= lastTimestamp) {
|
||||
timestamp = getCurrentTimestamp();
|
||||
}
|
||||
return timestamp;
|
||||
}
|
||||
|
||||
private static final SnowflakeId SHARE = new SnowflakeId();
|
||||
|
||||
public static long generate() {
|
||||
return SHARE.nextId();
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -1,5 +1,9 @@
|
|||
package cn.iocoder.yudao.module.haoka.controller.admin.onsaleproduct;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.HaoKaProductRespVO;
|
||||
import cn.iocoder.yudao.module.haoka.dal.dataobject.product.HaoKaProductDO;
|
||||
import cn.iocoder.yudao.module.haoka.service.product.HaoKaProductService;
|
||||
import org.springframework.web.bind.annotation.*;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
|
@ -11,18 +15,22 @@ import io.swagger.v3.oas.annotations.Operation;
|
|||
import jakarta.validation.constraints.*;
|
||||
import jakarta.validation.*;
|
||||
import jakarta.servlet.http.*;
|
||||
|
||||
import java.util.*;
|
||||
import java.io.IOException;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success;
|
||||
|
||||
import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils;
|
||||
|
||||
import cn.iocoder.yudao.framework.apilog.core.annotation.ApiAccessLog;
|
||||
|
||||
import static cn.iocoder.yudao.framework.apilog.core.enums.OperateTypeEnum.*;
|
||||
|
||||
import cn.iocoder.yudao.module.haoka.controller.admin.onsaleproduct.vo.*;
|
||||
|
|
@ -38,6 +46,9 @@ public class OnSaleProductController {
|
|||
@Resource
|
||||
private OnSaleProductService onSaleProductService;
|
||||
|
||||
@Resource
|
||||
private HaoKaProductService haoKaProductService;
|
||||
|
||||
@PostMapping("/create")
|
||||
@Operation(summary = "创建在售产品")
|
||||
@PreAuthorize("@ss.hasPermission('haoka:on-sale-product:create')")
|
||||
|
|
@ -76,7 +87,20 @@ public class OnSaleProductController {
|
|||
@PreAuthorize("@ss.hasPermission('haoka:on-sale-product:query')")
|
||||
public CommonResult<PageResult<OnSaleProductRespVO>> getOnSaleProductPage(@Valid OnSaleProductPageReqVO pageReqVO) {
|
||||
PageResult<OnSaleProductDO> pageResult = onSaleProductService.getOnSaleProductPage(pageReqVO);
|
||||
return success(BeanUtils.toBean(pageResult, OnSaleProductRespVO.class));
|
||||
PageResult<OnSaleProductRespVO> bean = BeanUtils.toBean(pageResult, OnSaleProductRespVO.class);
|
||||
if (CollectionUtil.isNotEmpty(bean.getList())) {
|
||||
List<Long> collect = bean.getList().stream().map(OnSaleProductRespVO::getParentProductId)
|
||||
.toList();
|
||||
List<HaoKaProductDO> haoKaProductDOS = haoKaProductService.listByIds(collect);
|
||||
Map<Long, HaoKaProductDO> map = haoKaProductDOS.stream().collect(Collectors.toMap(HaoKaProductDO::getId, it -> it));
|
||||
bean.getList().forEach(it -> {
|
||||
HaoKaProductDO haoKaProductDO = map.get(it.getParentProductId());
|
||||
it.setParentProduct(BeanUtils.toBean(haoKaProductDO, HaoKaProductRespVO.class));
|
||||
});
|
||||
}
|
||||
|
||||
|
||||
return success(bean);
|
||||
}
|
||||
|
||||
@GetMapping("/export-excel")
|
||||
|
|
@ -84,12 +108,12 @@ public class OnSaleProductController {
|
|||
@PreAuthorize("@ss.hasPermission('haoka:on-sale-product:export')")
|
||||
@ApiAccessLog(operateType = EXPORT)
|
||||
public void exportOnSaleProductExcel(@Valid OnSaleProductPageReqVO pageReqVO,
|
||||
HttpServletResponse response) throws IOException {
|
||||
HttpServletResponse response) throws IOException {
|
||||
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
|
||||
List<OnSaleProductDO> list = onSaleProductService.getOnSaleProductPage(pageReqVO).getList();
|
||||
// 导出 Excel
|
||||
ExcelUtils.write(response, "在售产品.xls", "数据", OnSaleProductRespVO.class,
|
||||
BeanUtils.toBean(list, OnSaleProductRespVO.class));
|
||||
BeanUtils.toBean(list, OnSaleProductRespVO.class));
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package cn.iocoder.yudao.module.haoka.controller.admin.onsaleproduct.vo;
|
||||
|
||||
import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.HaoKaProductRespVO;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
|
|
@ -22,6 +23,11 @@ public class OnSaleProductRespVO {
|
|||
@ExcelProperty("产品")
|
||||
private Long parentProductId;
|
||||
|
||||
|
||||
@ExcelIgnore
|
||||
@Schema(description = "产品", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
private HaoKaProductRespVO parentProduct;
|
||||
|
||||
@Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@ExcelProperty("商品名称")
|
||||
private String name;
|
||||
|
|
@ -115,4 +121,4 @@ public class OnSaleProductRespVO {
|
|||
@ExcelProperty("创建时间")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package cn.iocoder.yudao.module.haoka.controller.admin.onsaleproduct.vo;
|
||||
|
||||
import com.mzt.logapi.starter.annotation.DiffLogField;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
|
|
@ -14,14 +15,17 @@ public class OnSaleProductSaveReqVO {
|
|||
|
||||
@Schema(description = "产品", requiredMode = Schema.RequiredMode.REQUIRED, example = "17875")
|
||||
@NotNull(message = "产品不能为空")
|
||||
@DiffLogField(name = "产品ID")
|
||||
private Long parentProductId;
|
||||
|
||||
@Schema(description = "商品名称", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "商品名称不能为空")
|
||||
@DiffLogField(name = "商品名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "商家编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "商家编码不能为空")
|
||||
@DiffLogField(name = "商家编码")
|
||||
private String sku;
|
||||
|
||||
@Schema(description = "商品注意点")
|
||||
|
|
@ -34,6 +38,7 @@ public class OnSaleProductSaveReqVO {
|
|||
private String acceptanceRules;
|
||||
|
||||
@Schema(description = "结算要求")
|
||||
@DiffLogField(name = "结算要求")
|
||||
private String settlementRequirement;
|
||||
|
||||
@Schema(description = "佣金结算规则(内部)")
|
||||
|
|
@ -44,6 +49,7 @@ public class OnSaleProductSaveReqVO {
|
|||
private Boolean needSaleUploadImage;
|
||||
|
||||
@Schema(description = "产品主图")
|
||||
@DiffLogField(name = "产品主图")
|
||||
private String mainImg;
|
||||
|
||||
@Schema(description = "商品分享图")
|
||||
|
|
@ -81,9 +87,10 @@ public class OnSaleProductSaveReqVO {
|
|||
|
||||
@Schema(description = "上架", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "上架不能为空")
|
||||
@DiffLogField(name = "上架")
|
||||
private Boolean onSale;
|
||||
|
||||
@Schema(description = "是否顶置")
|
||||
private Boolean isTop;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package cn.iocoder.yudao.module.haoka.controller.admin.product.vo;
|
||||
|
||||
import com.mzt.logapi.starter.annotation.DiffLogField;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.*;
|
||||
import java.util.*;
|
||||
|
|
@ -15,14 +16,17 @@ public class HaoKaProductSaveReqVO {
|
|||
|
||||
@Schema(description = "运营商", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotNull(message = "运营商不能为空")
|
||||
@DiffLogField(name = "运营商")
|
||||
private Integer operator;
|
||||
|
||||
@Schema(description = "产品编码", requiredMode = Schema.RequiredMode.REQUIRED)
|
||||
@NotEmpty(message = "产品编码不能为空")
|
||||
@DiffLogField(name = "产品编码")
|
||||
private String sku;
|
||||
|
||||
@Schema(description = "产品名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "赵六")
|
||||
@NotEmpty(message = "产品名称不能为空")
|
||||
@DiffLogField(name = "产品名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "产品类型", example = "21014")
|
||||
|
|
@ -58,6 +62,7 @@ public class HaoKaProductSaveReqVO {
|
|||
private Boolean enableStockLimit;
|
||||
|
||||
@Schema(description = "库存数量")
|
||||
@DiffLogField(name = "库存数量")
|
||||
private Integer stockNum;
|
||||
|
||||
@Schema(description = "库存报警数量")
|
||||
|
|
@ -73,6 +78,7 @@ public class HaoKaProductSaveReqVO {
|
|||
private String estimatedRevenue;
|
||||
|
||||
@Schema(description = "上架")
|
||||
@DiffLogField(name = "上架")
|
||||
private Boolean onSale;
|
||||
|
||||
@Schema(description = "是否顶置")
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public class OnSaleProductDO extends BaseDO {
|
|||
/**
|
||||
* ID
|
||||
*/
|
||||
@TableId
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
private Long id;
|
||||
/**
|
||||
* 产品
|
||||
|
|
@ -126,4 +126,4 @@ public class OnSaleProductDO extends BaseDO {
|
|||
*/
|
||||
private Long deptId;
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@ public class HaoKaProductDO extends BaseDO {
|
|||
/**
|
||||
* 产品ID
|
||||
*/
|
||||
@TableId(type = IdType.ASSIGN_ID)
|
||||
@TableId
|
||||
private Long id;
|
||||
/**
|
||||
* 运营商
|
||||
|
|
|
|||
|
|
@ -1,5 +1,11 @@
|
|||
package cn.iocoder.yudao.module.haoka.service.onsaleproduct;
|
||||
|
||||
import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.HaoKaProductSaveReqVO;
|
||||
import cn.iocoder.yudao.module.haoka.enums.LogRecordConstants;
|
||||
import cn.iocoder.yudao.module.haoka.utils.SnowflakeId;
|
||||
import com.mzt.logapi.context.LogRecordContext;
|
||||
import com.mzt.logapi.service.impl.DiffParseFunction;
|
||||
import com.mzt.logapi.starter.annotation.LogRecord;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
|
@ -30,21 +36,37 @@ public class OnSaleProductServiceImpl implements OnSaleProductService {
|
|||
private OnSaleProductMapper onSaleProductMapper;
|
||||
|
||||
@Override
|
||||
@LogRecord(type = LogRecordConstants.HAOKA_SALE_PRODUCT,
|
||||
subType = LogRecordConstants.HAOKA_UPDATE,
|
||||
bizNo = "{{#create.id}}",
|
||||
success = LogRecordConstants.HAOKA_SALE_PRODUCT_CREATE_SUCCESS)
|
||||
public Long createOnSaleProduct(OnSaleProductSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
OnSaleProductDO onSaleProduct = BeanUtils.toBean(createReqVO, OnSaleProductDO.class);
|
||||
onSaleProductMapper.insert(onSaleProduct);
|
||||
onSaleProduct.setId(SnowflakeId.generate());
|
||||
|
||||
// 日志
|
||||
LogRecordContext.putVariable("create",onSaleProduct);
|
||||
|
||||
// 返回
|
||||
return onSaleProduct.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@LogRecord(type = LogRecordConstants.HAOKA_SALE_PRODUCT,
|
||||
subType = LogRecordConstants.HAOKA_UPDATE,
|
||||
bizNo = "{{#updateReqVO.id}}",
|
||||
success = LogRecordConstants.HAOKA_SALE_PRODUCT_UPDATE_SUCCESS)
|
||||
public void updateOnSaleProduct(OnSaleProductSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateOnSaleProductExists(updateReqVO.getId());
|
||||
// 更新
|
||||
OnSaleProductDO updateObj = BeanUtils.toBean(updateReqVO, OnSaleProductDO.class);
|
||||
OnSaleProductDO old = onSaleProductMapper.selectById(updateObj.getId());
|
||||
onSaleProductMapper.updateById(updateObj);
|
||||
LogRecordContext.putVariable(DiffParseFunction.OLD_OBJECT, BeanUtils.toBean(old, OnSaleProductSaveReqVO.class));
|
||||
LogRecordContext.putVariable("old", old);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -71,4 +93,4 @@ public class OnSaleProductServiceImpl implements OnSaleProductService {
|
|||
return onSaleProductMapper.selectPage(pageReqVO);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,13 @@
|
|||
package cn.iocoder.yudao.module.haoka.service.product;
|
||||
|
||||
import cn.iocoder.yudao.module.haoka.utils.SnowflakeId;
|
||||
import cn.iocoder.yudao.framework.mybatis.core.query.LambdaQueryWrapperX;
|
||||
import cn.iocoder.yudao.module.haoka.enums.LogRecordConstants;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import com.mzt.logapi.context.LogRecordContext;
|
||||
import com.mzt.logapi.service.impl.DiffParseFunction;
|
||||
import com.mzt.logapi.starter.annotation.LogRecord;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.stereotype.Service;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
|
|
@ -13,7 +19,6 @@ import cn.iocoder.yudao.module.haoka.controller.admin.product.vo.*;
|
|||
import cn.iocoder.yudao.module.haoka.dal.dataobject.product.HaoKaProductDO;
|
||||
import cn.iocoder.yudao.module.haoka.dal.dataobject.superiorproductconfig.SuperiorProductConfigDO;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageResult;
|
||||
import cn.iocoder.yudao.framework.common.pojo.PageParam;
|
||||
import cn.iocoder.yudao.framework.common.util.object.BeanUtils;
|
||||
|
||||
import cn.iocoder.yudao.module.haoka.dal.mysql.product.HaoKaProductMapper;
|
||||
|
|
@ -29,6 +34,7 @@ import static cn.iocoder.yudao.module.haoka.enums.ErrorCodeConstants.*;
|
|||
*/
|
||||
@Service
|
||||
@Validated
|
||||
@Slf4j
|
||||
public class HaoKaProductServiceImpl extends ServiceImpl<HaoKaProductMapper, HaoKaProductDO> implements HaoKaProductService {
|
||||
|
||||
@Resource
|
||||
|
|
@ -37,15 +43,25 @@ public class HaoKaProductServiceImpl extends ServiceImpl<HaoKaProductMapper, Hao
|
|||
private SuperiorProductConfigMapper superiorProductConfigMapper;
|
||||
|
||||
@Override
|
||||
@LogRecord(type = LogRecordConstants.HAOKA_PRODUCT,
|
||||
subType = LogRecordConstants.HAOKA_CREATE,
|
||||
bizNo = "{{#haoKaProduct.id}}",
|
||||
success = LogRecordConstants.HAOKA_PRODUCT_CREATE_SUCCESS)
|
||||
public Long createHaoKaProduct(HaoKaProductSaveReqVO createReqVO) {
|
||||
// 插入
|
||||
HaoKaProductDO haoKaProduct = BeanUtils.toBean(createReqVO, HaoKaProductDO.class);
|
||||
haoKaProduct.setId(SnowflakeId.generate());
|
||||
haoKaProductMapper.insert(haoKaProduct);
|
||||
// 返回
|
||||
// 日志
|
||||
LogRecordContext.putVariable("haoKaProduct",haoKaProduct);
|
||||
return haoKaProduct.getId();
|
||||
}
|
||||
|
||||
@Override
|
||||
@LogRecord(type = LogRecordConstants.HAOKA_PRODUCT,
|
||||
subType = LogRecordConstants.HAOKA_UPDATE,
|
||||
bizNo = "{{#updateReqVO.id}}",
|
||||
success = LogRecordConstants.HAOKA_PRODUCT_UPDATE_SUCCESS)
|
||||
public void updateHaoKaProduct(HaoKaProductSaveReqVO updateReqVO) {
|
||||
// 校验存在
|
||||
validateHaoKaProductExists(updateReqVO.getId());
|
||||
|
|
@ -63,7 +79,11 @@ public class HaoKaProductServiceImpl extends ServiceImpl<HaoKaProductMapper, Hao
|
|||
throw new IllegalArgumentException("该产品未配置自动生产模块,请先配置自动生产!");
|
||||
}
|
||||
}
|
||||
HaoKaProductDO old = haoKaProductMapper.selectById(updateReqVO.getId());
|
||||
haoKaProductMapper.updateById(updateObj);
|
||||
|
||||
LogRecordContext.putVariable(DiffParseFunction.OLD_OBJECT, BeanUtils.toBean(old, HaoKaProductSaveReqVO.class));
|
||||
LogRecordContext.putVariable("old", old);
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
Loading…
Reference in New Issue