提交 a31a90dc authored 作者: liuhaiquan's avatar liuhaiquan

新增调整货单价格的接口

上级 d3a0e42b
package com.clx.performance.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
public enum OrderGoodsLogsEnum {
;
@Getter
@AllArgsConstructor
public enum Type {
EDIT("编辑"),
CANCEL( "取消"),
ADJUST_PRICE("调价"),
;
private final String name;
}
}
package com.clx.performance.dao;
import com.clx.performance.mapper.OrderGoodsLogMapper;
import com.clx.performance.model.OrderGoodsLog;
import com.msl.common.dao.BaseDao;
/**
* @author kavin
* Date 2023-10-26
* Time 11:27
*/
public interface OrderGoodsLogDao extends BaseDao<OrderGoodsLogMapper, OrderGoodsLog, Integer> {
}
package com.clx.performance.dao.impl;
import com.clx.performance.dao.OrderGoodsLogDao;
import com.clx.performance.mapper.OrderGoodsLogMapper;
import com.clx.performance.model.OrderGoodsLog;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.springframework.stereotype.Repository;
/**
* @author kavin
* Date 2023-10-26
* Time 11:27
*/
@Repository
public class OrderGoodsLogDaoImpl extends BaseDaoImpl<OrderGoodsLogMapper, OrderGoodsLog, Integer> implements OrderGoodsLogDao {
}
package com.clx.performance.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.clx.performance.model.OrderGoodsLog;
/**
* @author kavin
* Date 2023-10-26
* Time 11:27
*/
public interface OrderGoodsLogMapper extends BaseMapper<OrderGoodsLog> {
}
package com.clx.performance.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.msl.common.config.KeyColumn;
import com.msl.common.model.HasKey;
import io.swagger.annotations.ApiModelProperty;
import lombok.*;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
* @author kavin
* Date 2023-10-26
* Time 11:27
*/
@Getter
@Setter
@Accessors(chain = true)
@TableName("order_goods_log")
@AllArgsConstructor
@NoArgsConstructor
@Builder
public class OrderGoodsLog implements HasKey<Integer> {
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
@TableField("order_goods_no")
@ApiModelProperty("货单编码")
private String orderGoodsNo;
@TableField("create_by")
@ApiModelProperty("操作人ID")
private Long createBy;
@TableField("create_name")
@ApiModelProperty("操作人名称")
private String createName;
@TableField("type")
@ApiModelProperty("操作类型")
private String type;
@TableField("remark")
@ApiModelProperty("备注")
private String remark;
@TableField("create_time")
@ApiModelProperty("创建时间")
private LocalDateTime createTime;
@TableField("modified_time")
@ApiModelProperty("修改时间")
private LocalDateTime modifiedTime;
@Override
@KeyColumn("id")
public Integer gainKey() {
return this.id;
}
}
package com.clx.performance.service;
/**
* @author kavin
* Date 2023-10-26
* Time 11:27
*/
public interface OrderGoodsLogService {
void saveLog(String orderGoodsNo,Long userNo,String userName,String type,String remark);
}
package com.clx.performance.service.impl;
import com.clx.performance.dao.OrderGoodsLogDao;
import com.clx.performance.model.OrderGoodsLog;
import com.clx.performance.service.OrderGoodsLogService;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
/**
* @author kavin
* Date 2023-10-26
* Time 11:27
*/
@Service
@Slf4j
@AllArgsConstructor
public class OrderGoodsLogServiceImpl implements OrderGoodsLogService {
OrderGoodsLogDao orderGoodsLogDao;
@Transactional(rollbackFor = Exception.class)
@Override
public void saveLog(String orderGoodsNo, Long userNo, String userName, String type, String remark) {
OrderGoodsLog log = OrderGoodsLog.builder().orderGoodsNo(orderGoodsNo).createBy(userNo).createName(userName).type(type).remark(remark).build();
orderGoodsLogDao.saveEntity(log);
}
}
......@@ -5,18 +5,21 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.feign.OrderFeign;
import com.clx.order.params.PageOrderGoodsListParam;
import com.clx.performance.param.pc.UpdateEditOrderGoodsParam;
import com.clx.order.vo.feign.FeignOrderVO;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.dao.OrderGoodsDao;
import com.clx.performance.dao.OrderGoodsDriverTruckDao;
import com.clx.performance.dao.OrderGoodsTruckBindDao;
import com.clx.performance.enums.OrderGoodsLogsEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.OrderChild;
import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.OrderGoodsDriverTruck;
import com.clx.performance.model.OrderGoodsTruckBind;
import com.clx.performance.param.app.OrderGoodsListPageParam;
import com.clx.performance.param.pc.UpdateEditOrderGoodsParam;
import com.clx.performance.param.pc.UpdateOrderGoodsPriceParam;
import com.clx.performance.service.OrderGoodsLogService;
import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.struct.OrderGoodsStruct;
import com.clx.performance.vo.app.OrderGoodsAPPVO;
......@@ -26,11 +29,14 @@ import com.clx.user.feign.UserClxFeign;
import com.msl.common.base.Optional;
import com.msl.common.enums.ResultCodeEnum;
import com.msl.common.result.Result;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
......@@ -46,27 +52,30 @@ import java.util.stream.Collectors;
*/
@Service
@Slf4j
@AllArgsConstructor
public class OrderGoodsServiceImpl implements OrderGoodsService {
@Autowired
private OrderGoodsDao orderGoodsDao;
@Autowired
private OrderGoodsStruct orderGoodsStruct;
@Autowired
private OrderFeign orderFeign;
@Autowired
private OrderGoodsTruckBindDao orderGoodsTruckBindDao;
@Autowired
private OrderGoodsDriverTruckDao orderGoodsDriverTruckDao;
@Autowired
private OrderGoodsLogService orderGoodsLogService;
private UserClxFeign userClxFeign;
@Autowired
private OrderChildDao orderChildDao;
@Override
......@@ -223,12 +232,16 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
}
@Transactional(rollbackFor = Exception.class)
@Override
public void updateOrderGoodsPrice(UpdateOrderGoodsPriceParam param) {
OrderGoods orderGoods= orderGoodsDao.getEntityByKey(param.getId()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
BigDecimal oldPendingOrderFreight = orderGoods.getPendingOrderFreight().divide(new BigDecimal("100"));
orderGoodsDao.updatePendingOrderFreightById(param.getId(),param.getPendingOrderFreight());
BigDecimal newPendingOrderFreight = param.getPendingOrderFreight().divide(new BigDecimal("100"));
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//记录货单调价日志
orderGoodsLogService.saveLog(orderGoods.getOrderGoodsNo(),loginUserInfo.getUserNo(),loginUserInfo.getUserName(),
OrderGoodsLogsEnum.Type.ADJUST_PRICE.getName(),String.format("调价前s%元,调价后s%元",oldPendingOrderFreight,newPendingOrderFreight) );
}
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论