提交 491f2cc4 authored 作者: huyufan's avatar huyufan

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into…

Merge remote-tracking branch 'origin/v5.7_break_contract_reverse_20231020' into v5.7_break_contract_reverse_20231020 # Conflicts: # performance-web/src/main/java/com/clx/performance/dao/OrderGoodsDao.java # performance-web/src/main/java/com/clx/performance/dao/impl/OrderGoodsDaoImpl.java
package com.clx.performance.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
import java.util.Arrays;
import java.util.Optional;
public enum BreakContractOwnerRecordEnum {
;
@Getter
@AllArgsConstructor
public enum PayStatus {
NOT(0, "未缴费"),
YES(1, "已缴费"),
;
private final Integer code;
private final String msg;
public static Optional<PayStatus> getByCode(int code) {
return Arrays.stream(values()).filter(e -> e.code == code).findFirst();
}
public static String getMsgByCode(int code) {
return getByCode(code).map(PayStatus::getMsg).orElse(null);
}
}
}
......@@ -57,4 +57,13 @@ public interface PerformanceFeign {
Result<Object> orderCancel(@RequestBody OrderCancelParam param);
/**
* 更新货单暂停标志
* @param orderNo
* @return
*/
@GetMapping(value = {"clx-performance/feign/orderGoods/updateOrderGoodsStopFlag"})
Result<Boolean> updateOrderGoodsStopFlag(@RequestParam("orderNo") String orderNo,@RequestParam("stopFlag") Integer stopFlag);
}
package com.clx.performance.param.pc.breakcontract.owner;
public class AA {
}
package com.clx.performance.param.pc.breakcontract.owner;
import com.msl.common.base.PageParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import javax.validation.constraints.NotNull;
@Getter
@Setter
@NoArgsConstructor
@ToString
public class PageOwnerBreakContractOwnerRecordParam extends PageParam {
@ApiModelProperty(value = "货主编号", example = "1",hidden = true)
private Long ownerUserNo;
@ApiModelProperty(value = "订单号", example = "1000000000")
private String orderNo;
@NotNull(message = "违约方类型不能为空")
@ApiModelProperty(value = "违约方类型:1平台 2货主 3司机", example = "1")
private Integer breachContractPartyType;
@ApiModelProperty(value = "缴费状态:0未缴费;1已缴费", example = "1")
private Integer payStatus;
@ApiModelProperty(value = "开始时间", example = "2012-01-01 00:00:00")
private String beginTime;
@ApiModelProperty(value = "结束时间", example = "2012-01-01 00:00:00")
private String endTime;
}
package com.clx.performance.vo.pc.breakcontract.owner;
import com.msl.common.convertor.type.MoneyOutConvert;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import lombok.ToString;
import java.math.BigDecimal;
/**
* @author liruixin
* Date 2023-10-24
* Time 16:02
*/
@Getter
@Setter
@ToString
@NoArgsConstructor
public class PageOwnerBreakContractOwnerRecordVO {
@ApiModelProperty("违约订单")
private String orderNo;
@ApiModelProperty("违约金")
@MoneyOutConvert
private BigDecimal figure;
@ApiModelProperty("结算单编号")
private String settlementNo;
@ApiModelProperty("缴费状态:0未缴费;1已缴费")
private String payStatusMsg;
@ApiModelProperty("缴费状态:0未缴费;1已缴费")
private Integer payStatus;
@ApiModelProperty("备注")
private String remark;
@ApiModelProperty("创建时间")
private String createTime;
}
......@@ -3,6 +3,7 @@ package com.clx.performance.controller.feign;
import com.clx.performance.service.OrderChildService;
import com.clx.performance.service.OrderGoodsService;
import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import lombok.AllArgsConstructor;
import org.springframework.validation.annotation.Validated;
......@@ -11,6 +12,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.util.List;
......@@ -27,4 +29,11 @@ public class OrderGoodsFeignController {
List<OrderGoodsFeignVO> getOrderGoodsListByOrderNo(@RequestParam("userNo") @NotNull(message = "订单编号不可为空") String orderNo) {
return orderGoodsService.getOrderGoodsListByOrderNo(orderNo);
}
@GetMapping({"/updateOrderGoodsStopFlag"})
Result<Boolean> updateOrderGoodsStopFlag(@RequestParam("orderNo") @NotBlank(message = "订单编号不可为空") String orderNo,
@RequestParam("stopFlag") @NotNull(message = "暂停标志不可为空") Integer stopFlag) {
return Result.ok(orderGoodsService.updateOrderGoodsStopFlag(orderNo,stopFlag));
}
}
package com.clx.performance.controller.pc.breakcontract.owner;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService;
import com.clx.performance.vo.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordVO;
import com.msl.common.base.PageData;
import com.msl.common.convertor.aspect.UnitCovert;
import com.msl.common.result.Result;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@Slf4j
@RestController
@RequestMapping(value="/pc/owner/breakContract/ownerRecord")
@Validated
@Api(tags = "货主端-违约管理")
@AllArgsConstructor
public class OwnerBreakContractOwnerRecordController {
private final BreakContractOwnerRecordService breakContractOwnerRecordService;
@ApiOperation(value = "列表",notes = "<br>By:李瑞新")
@PostMapping("/pageOwnerRecord")
@UnitCovert(param = false)
public Result<PageData<PageOwnerBreakContractOwnerRecordVO>> pageOwnerRecord(@RequestBody @Validated PageOwnerBreakContractOwnerRecordParam param) {
IPage<PageOwnerBreakContractOwnerRecordVO> page = breakContractOwnerRecordService.pageOwnerRecord(param);
return Result.page(page.getRecords(), page.getTotal(), page.getPages());
}
}
......@@ -57,6 +57,8 @@ public interface OrderGoodsDao extends BaseDao<OrderGoodsMapper, OrderGoods, Int
boolean updatePendingOrderFreightById(Integer id, BigDecimal pendingOrderFreight);
Boolean updateStopFlagByOrderNo(String orderNo, Integer stopFlag);
boolean updateOrderGoodsStatusAndRollbackResidueWeightByOrderGoodsNo(Integer orderGoodsId, Integer status);
Integer updateOrderGoodsSetResidueWeight(BigDecimal residueWeight, Integer id);
......
......@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.breakcontract.BreakContractOwnerRecordMapper;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.param.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import com.msl.common.dao.BaseDao;
......@@ -17,4 +18,6 @@ public interface BreakContractOwnerRecordDao extends BaseDao<BreakContractOwnerR
IPage<BreakContractOwnerRecordVO> pageByParam(PageBreakContractOwnerRecordParam param);
IPage<BreakContractOwnerRecord> pageOwnerBreakContractOwnerRecordList(PageOwnerBreakContractOwnerRecordParam param);
}
......@@ -150,6 +150,11 @@ public class OrderGoodsDaoImpl extends BaseDaoImpl<OrderGoodsMapper, OrderGoods,
return update(lUdWrapper().eq(OrderGoods :: getGoodsId,id).set(OrderGoods :: getPendingOrderFreight,pendingOrderFreight));
}
@Override
public Boolean updateStopFlagByOrderNo(String orderNo, Integer stopFlag) {
return update(lUdWrapper().eq(OrderGoods :: getOrderNo,orderNo).set(OrderGoods :: getStopFlag,stopFlag));
}
@Override
public boolean updateOrderGoodsStatusAndRollbackResidueWeightByOrderGoodsNo(Integer orderGoodsId, Integer status) {
return update(lUdWrapper().eq(OrderGoods :: getGoodsId,orderGoodsId)
......
package com.clx.performance.dao.impl.breakcontract;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao;
import com.clx.performance.mapper.breakcontract.BreakContractOwnerRecordMapper;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.param.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.util.Objects;
/**
* @author liruixin
* Date 2023-10-24
......@@ -24,4 +29,17 @@ public class BreakContractOwnerRecordDaoImpl extends BaseDaoImpl<BreakContractOw
Page<BreakContractOwnerRecordVO> page = Page.of(param.getPage(), param.getPageSize());
return baseMapper.pageByParam(page,param);
}
@Override
public IPage<BreakContractOwnerRecord> pageOwnerBreakContractOwnerRecordList(PageOwnerBreakContractOwnerRecordParam param) {
LambdaQueryWrapper<BreakContractOwnerRecord> query = new LambdaQueryWrapper<>();
query.eq(StringUtils.isNotBlank(param.getOrderNo()),BreakContractOwnerRecord :: getOrderNo,param.getOrderNo());
query.eq(Objects.nonNull(param.getOwnerUserNo()),BreakContractOwnerRecord :: getOwnerUserNo,param.getOwnerUserNo());
query.eq(Objects.nonNull(param.getBreachContractPartyType()),BreakContractOwnerRecord :: getBreachContractPartyType,param.getBreachContractPartyType());
query.eq(Objects.nonNull(param.getPayStatus()),BreakContractOwnerRecord :: getPayStatus,param.getPayStatus());
query.ge(StringUtils.isNotBlank(param.getBeginTime()), BreakContractOwnerRecord:: getCreateTime,param.getBeginTime());
query.le(StringUtils.isNotBlank(param.getEndTime()),BreakContractOwnerRecord :: getCreateTime,param.getEndTime());
query.orderByDesc(BreakContractOwnerRecord::getId);
return baseMapper.selectPage(Page.of(param.getPage(), param.getPageSize()),query);
}
}
......@@ -59,6 +59,10 @@ public class BreakContractOwnerRecord implements HasKey<Integer> {
@ApiModelProperty("结算单编号")
private String settlementNo;
@TableField("pay_status")
@ApiModelProperty("缴费状态:0未缴费;1已缴费")
private Integer payStatus;
@TableField("remark")
@ApiModelProperty("备注")
private String remark;
......
......@@ -10,6 +10,7 @@ import com.clx.performance.param.pc.UpdateOrderGoodsPriceParam;
import com.clx.performance.vo.app.OrderGoodsAPPVO;
import com.clx.performance.vo.feign.OrderGoodsFeignVO;
import com.clx.performance.vo.pc.OrderGoodsVO;
import com.msl.common.result.Result;
import java.math.BigDecimal;
import java.time.LocalDateTime;
......@@ -43,4 +44,6 @@ public interface OrderGoodsService {
void updateEditOrderGoods(UpdateEditOrderGoodsParam param);
void updateOrderGoodsPrice(UpdateOrderGoodsPriceParam param);
Boolean updateOrderGoodsStopFlag(String orderNo,Integer stopFlag);
}
......@@ -3,7 +3,9 @@ package com.clx.performance.service.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.param.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordParam;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import com.clx.performance.vo.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordVO;
/**
* @author liruixin
......@@ -15,5 +17,7 @@ public interface BreakContractOwnerRecordService {
IPage<BreakContractOwnerRecordVO> pageRecord(PageBreakContractOwnerRecordParam param);
IPage<PageOwnerBreakContractOwnerRecordVO> pageOwnerRecord(PageOwnerBreakContractOwnerRecordParam param);
}
......@@ -172,6 +172,12 @@ public class OrderChildServiceImpl implements OrderChildService {
LocalDateTime now = LocalDateTime.now();
OrderGoods orderGoods = orderGoodsDao.getByOrderGoodsNo(param.getOrderGoodsNo()).orElseThrow(
PerformanceResultEnum.ORDER_INVALID);
if(Objects.equals(orderGoods.getStopFlag(),OrderGoodsStopEnum.Status.YES.getCode())){
log.warn("货单已暂停");
throw new ServiceSystemException(PerformanceResultEnum.ORDER_INVALID,"当前货单无效");
}
// 状态验证
if (!Objects.equals(orderGoods.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.PAYING.getCode()) &&
!Objects.equals(orderGoods.getOrderGoodsStatus(), OrderGoodsStatusEnum.Status.GO_TO_SEND.getCode())) {
......
......@@ -242,6 +242,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
//记录货单调价日志
orderGoodsLogService.saveLog(orderGoods.getOrderGoodsNo(),loginUserInfo.getUserNo(),loginUserInfo.getUserName(),
OrderGoodsLogsEnum.Type.ADJUST_PRICE.getName(),String.format("调价前s%元,调价后s%元",oldPendingOrderFreight,newPendingOrderFreight) );
OrderGoodsLogsEnum.Type.ADJUST_PRICE.getName(),String.format("调价前%s元,调价后%s元",oldPendingOrderFreight,newPendingOrderFreight) );
}
@Override
public Boolean updateOrderGoodsStopFlag(String orderNo,Integer stopFlag) {
return orderGoodsDao.updateStopFlagByOrderNo(orderNo,stopFlag);
}
}
......@@ -2,6 +2,7 @@ package com.clx.performance.service.impl.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.order.vo.feign.FeignOrderInfoVO;
import com.clx.performance.dao.breakcontract.BreakContractOwnerRecordDao;
import com.clx.performance.enums.BreakContractRecordEnum;
......@@ -11,18 +12,23 @@ import com.clx.performance.extranal.user.OwnerInfoService;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.param.pc.breakcontract.carrier.BreakContractOwnerRecordAddParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageBreakContractOwnerRecordParam;
import com.clx.performance.param.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordParam;
import com.clx.performance.service.breakcontract.BreakContractOwnerRecordService;
import com.clx.performance.service.impl.UniqueOrderNumService;
import com.clx.performance.struct.breakcontract.BreakContractOwnerRecordStruct;
import com.clx.performance.vo.pc.breakcontract.carrier.BreakContractOwnerRecordVO;
import com.clx.performance.vo.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordVO;
import com.clx.user.vo.feign.OwnerInfoFeignVO;
import com.msl.common.utils.LocalDateTimeUtils;
import com.msl.user.data.UserSessionData;
import com.msl.user.utils.TokenUtil;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
/**
......@@ -32,6 +38,7 @@ import java.util.Objects;
*/
@Slf4j
@Service
@AllArgsConstructor
public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerRecordService {
@Autowired
......@@ -44,6 +51,8 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR
@Autowired
private OwnerInfoService ownerInfoService;
private final BreakContractOwnerRecordStruct breakContractOwnerRecordStruct;
@Override
public void saveRecord(BreakContractOwnerRecordAddParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
......@@ -91,4 +100,13 @@ public class BreakContractOwnerRecordServiceImpl implements BreakContractOwnerR
LocalDateTimeUtils.convertLocalDateTimeToString(LocalDateTime.now(), LocalDateTimeUtils.DATE_DAY));
}
@Override
public IPage<PageOwnerBreakContractOwnerRecordVO> pageOwnerRecord(PageOwnerBreakContractOwnerRecordParam param) {
UserSessionData loginUserInfo = TokenUtil.getLoginUserInfo();
param.setOwnerUserNo(loginUserInfo.getUserNo());
IPage<BreakContractOwnerRecord> ownerRecord = breakContractOwnerRecordDao.pageOwnerBreakContractOwnerRecordList(param);
List<PageOwnerBreakContractOwnerRecordVO> ownerRecordVO = breakContractOwnerRecordStruct.covertToOwnerList(ownerRecord.getRecords());
return new Page<PageOwnerBreakContractOwnerRecordVO>().setRecords(ownerRecordVO).setTotal(ownerRecord.getTotal()).setPages(ownerRecord.getPages());
}
}
package com.clx.performance.struct.breakcontract;
import com.clx.performance.enums.BreakContractOwnerRecordEnum;
import com.clx.performance.model.breakcontract.BreakContractOwnerRecord;
import com.clx.performance.vo.pc.breakcontract.owner.PageOwnerBreakContractOwnerRecordVO;
import com.msl.common.utils.DateStructUtil;
import com.msl.common.utils.DateUtils;
import org.mapstruct.IterableMapping;
import org.mapstruct.Mapper;
import org.mapstruct.Mapping;
import org.mapstruct.Named;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {BreakContractOwnerRecordEnum.class, DateUtils.class})
public interface BreakContractOwnerRecordStruct {
@Named("toBaseVo")
@Mapping(target = "payStatusMsg", expression = "java(BreakContractOwnerRecordEnum.PayStatus.getMsgByCode(detail.getPayStatus()))")
PageOwnerBreakContractOwnerRecordVO convert(BreakContractOwnerRecord detail);
@IterableMapping(qualifiedByName = "toBaseVo")
List<PageOwnerBreakContractOwnerRecordVO> covertToOwnerList(List<BreakContractOwnerRecord> list);
}
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论