提交 21b6f84a authored 作者: 刘海泉's avatar 刘海泉

Merge remote-tracking branch 'origin/dev' into dev

......@@ -50,8 +50,8 @@ public enum SettlementOrderChildRiskEnum {
@Getter
@AllArgsConstructor
public enum Status {
INIT(0, "待处理"),
PROCESSED(1, "已处理");
INIT(1, "待处理"),
PROCESSED(2, "已处理");
private final Integer code;
private final String msg;
......
......@@ -22,4 +22,7 @@ public class CarrierPagePendingSettlementOwnerDetailVO extends CarrierPageSettle
@ApiModelProperty(value = "操作时间")
private String invoicingCompanyModifiedTime;
@ApiModelProperty(value = "开票标识修改时间")
private String invoiceTypeModifiedTime;
}
......@@ -51,6 +51,10 @@ public class CarrierPageSettlementOwnerVO {
@MoneyOutConvert
@ApiModelProperty(value = "开票金额")
private BigDecimal invoiceFreight;
@ApiModelProperty(value = "结算凭证")
private String invoiceImg;
@MoneyOutConvert
@ApiModelProperty(value = "开票服务费")
private BigDecimal invoiceServiceFee;
......@@ -74,6 +78,7 @@ public class CarrierPageSettlementOwnerVO {
@ApiModelProperty("卸车净重(单位吨)")
private BigDecimal unloadNet;
@MoneyOutConvert
@ApiModelProperty("司机实收(分)")
private BigDecimal driverFreight;
}
......@@ -116,6 +116,8 @@ public class PageOwnerSettlementOwnerDetailVO {
@ApiModelProperty(value="结算方式 1装车净重 2卸车净重 3卸车净重(减货损)",example = "1")
private Integer settlementWay;
@ApiModelProperty(value="结算方式")
private String settlementWayMsg;
@ApiModelProperty(value="开票公司id",example = "1")
private Integer invoicingCompanyId; //开票公司id
......
......@@ -83,7 +83,7 @@ public class CarrierSettlementOwnerDetailController {
@ApiOperation(value = "上传批量开票文件",notes = "<br>By:杨启发")
@PostMapping("/uploadBatchInvoiceFile")
public Result<UploadBatchInvoiceFileResultVO> uploadBatchInvoiceFile(@RequestPart("file") MultipartFile file) throws IOException {
public Result<UploadBatchInvoiceFileResultVO> uploadBatchInvoiceFile(@RequestParam("file") MultipartFile file) throws IOException {
return Result.ok(settlementOwnerDetailService.uploadBatchInvoiceFile(file));
}
......
......@@ -3,8 +3,10 @@ package com.clx.performance.controller.temp;
import com.clx.performance.dao.OrderChildDao;
import com.clx.performance.listener.OrderChildSyncTransportListener;
import com.clx.performance.model.OrderChild;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.service.settle.SettlementMqService;
import com.clx.performance.vo.mq.SettlementDetailAddMqParam;
import com.clx.performance.vo.mq.SettlementStatisticsMqParam;
import com.msl.common.result.Result;
import io.swagger.annotations.ApiOperation;
......@@ -33,6 +35,8 @@ public class TempSettlementController {
private OrderChildSyncTransportListener orderChildSyncTransportListener;
@Autowired
private SettlementMqHandlerService settlementMqHandlerService;
@Autowired
private OrderChildBrokerMqService orderChildBrokerMqService;
@ApiOperation(value = "settlementStatistics", notes = "<br>By:艾庆国")
@RequestMapping(value = "/settlementStatistics", method = RequestMethod.GET)
......@@ -45,13 +49,34 @@ public class TempSettlementController {
return Result.ok();
}
@ApiOperation(value = "结算单新增", notes = "<br>By:艾庆国")
@RequestMapping(value = "/settlementDetailAdd", method = RequestMethod.GET)
public Result settlementDetailAdd(Integer settlementOwnerDetailId, Integer settlementDriverDetailId) {
// SettlementDetailAddMqParam mq = new SettlementDetailAddMqParam();
// mq.setSettlementOwnerDetailId(settlementOwnerDetailId);
// mq.setSettlementDriverDetailId(settlementDriverDetailId);
// settlementMqHandlerService.settlementDetailAdd(mq);
settlementMqService.settlementDetailAdd(settlementDriverDetailId, settlementOwnerDetailId);
return Result.ok();
}
@ApiOperation(value = "运单同步broker", notes = "<br>By:艾庆国")
@RequestMapping(value = "/orderChildSync", method = RequestMethod.GET)
public Result orderChildSync(String childNo) {
OrderChild orderChild = orderChildDao.getByChildNo(childNo).get();
// 同步broker
orderChildSyncTransportListener.transportOrderChildProcess(orderChild);
// 发送mq (更新无车承运)
orderChildBrokerMqService.orderChildSync(childNo);
return Result.ok();
}
@ApiOperation(value = "运单更新broker", notes = "<br>By:艾庆国")
@RequestMapping(value = "/orderChildUpdate", method = RequestMethod.GET)
public Result orderChildUpdate(String childNo) {
// 发送mq (更新无车承运)
orderChildBrokerMqService.orderChildUpdate(childNo);
return Result.ok();
}
......
......@@ -46,6 +46,14 @@ public class SettlementDriverDaoImpl extends BaseDaoImpl<SettlementDriverMapper,
.map(super::getOne);
}
@Override
public Optional<SettlementDriver> findByChildNo(String childNo) {
return Optional.of(lQrWrapper()
.eq(SettlementDriver::getChildNo, childNo)
)
.map(super::getOne);
}
@Override
public IPage<SettlementDriver> pageCarrierSettlementDriver(PageCarrierSettlementDriverParam param) {
LambdaQueryWrapper<SettlementDriver> query = new LambdaQueryWrapper<>();
......
......@@ -32,7 +32,7 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
public boolean updateStatus(SettlementOwner item) {
return update(lUdWrapper()
.eq(SettlementOwner::getId, item.getId())
.eq(SettlementOwner::getStatus, item.getStatus())
.set(SettlementOwner::getStatus, item.getStatus())
);
}
......@@ -41,7 +41,10 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
return update(lUdWrapper()
.eq(SettlementOwner::getId, item.getId())
.set(SettlementOwner::getWeight, item.getWeight())
.set(SettlementOwner::getLoadNet, item.getLoadNet())
.set(SettlementOwner::getUnloadNet, item.getUnloadNet())
.set(SettlementOwner::getFreight, item.getFreight())
.set(SettlementOwner::getDriverFreight, item.getDriverFreight())
.set(SettlementOwner::getLossWeight, item.getLossWeight())
.set(SettlementOwner::getLossFreight, item.getLossFreight())
.set(SettlementOwner::getSettlementFreight, item.getSettlementFreight())
......@@ -92,6 +95,14 @@ public class SettlementOwnerDaoImpl extends BaseDaoImpl<SettlementOwnerMapper, S
);
}
@Override
public boolean updateInvoiceStatusAndStatus(SettlementOwner item){
return update(lUdWrapper()
.eq(SettlementOwner::getId, item.getId())
.set(SettlementOwner::getInvoiceStatus, item.getInvoiceStatus())
.set(SettlementOwner::getStatus, item.getStatus())
);
}
@Override
public boolean updatePayment(SettlementOwner settlementOwner) {
return update(lUdWrapper()
.eq(SettlementOwner::getSettlementNo, settlementOwner.getSettlementNo())
......
......@@ -19,6 +19,7 @@ import com.msl.common.dao.impl.BaseDaoImpl;
import org.apache.commons.lang3.StringUtils;
import org.springframework.stereotype.Repository;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
......@@ -74,7 +75,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
return update(lUdWrapper()
.eq(SettlementOwnerDetail::getId, item.getId())
.set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType())
.set(SettlementOwnerDetail::getInvoiceStatus, item.getInvoiceStatus())
.set(SettlementOwnerDetail::getInvoiceTypeStatus, item.getInvoiceTypeStatus())
.set(SettlementOwnerDetail::getInvoicingCompanyId, item.getInvoicingCompanyId())
.set(SettlementOwnerDetail::getInvoicingCompanyShorterName, item.getInvoicingCompanyShorterName())
.set(SettlementOwnerDetail::getInvoicingCompanyGroupCode, item.getInvoicingCompanyGroupCode())
......@@ -87,6 +88,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
.eq(SettlementOwnerDetail::getId, item.getId())
.set(SettlementOwnerDetail::getInvoiceType, item.getInvoiceType())
.set(SettlementOwnerDetail::getInvoiceFreight, item.getInvoiceFreight())
.set(SettlementOwnerDetail::getInvoiceStatus, item.getInvoiceStatus())
.set(SettlementOwnerDetail::getSettlementFreight, item.getSettlementFreight())
.set(SettlementOwnerDetail::getFinalPaymentStatus, item.getFinalPaymentStatus())
.set(SettlementOwnerDetail::getPrepayFreight, item.getPrepayFreight())
......@@ -130,12 +132,16 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
}
@Override
public boolean updateInvoiceCompany(List<Integer> idList, Integer companyId, String companyShorterName, String companyGroupCode) {
public boolean updateInvoiceCompany(List<Integer> idList, Integer companyId,
String companyShorterName, String companyGroupCode,
String invoicingCompanyModifiedBy, LocalDateTime invoicingCompanyModifiedTime) {
return update(lUdWrapper()
.in(SettlementOwnerDetail::getId, idList)
.set(SettlementOwnerDetail::getInvoicingCompanyId, companyId)
.set(SettlementOwnerDetail::getInvoicingCompanyShorterName, companyShorterName)
.set(SettlementOwnerDetail::getInvoicingCompanyGroupCode, companyGroupCode)
.set(SettlementOwnerDetail::getInvoicingCompanyModifiedBy, invoicingCompanyModifiedBy)
.set(SettlementOwnerDetail::getInvoicingCompanyModifiedTime, invoicingCompanyModifiedTime)
);
}
......@@ -210,6 +216,7 @@ public class SettlementOwnerDetailDaoImpl extends BaseDaoImpl<SettlementOwnerDet
update(lUdWrapper()
.in(SettlementOwnerDetail::getChildNo, childNoList)
.set(SettlementOwnerDetail::getInvoiceStatus, SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode())
.set(SettlementOwnerDetail::getInvoiceTime,LocalDateTime.now())
);
}
......
......@@ -3,14 +3,11 @@ package com.clx.performance.dao.settle;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.mapper.settle.SettlementDriverMapper;
import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementOwner;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.param.pc.driver.PageCarrierSettlementDriverParam;
import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import java.util.List;
import java.util.Set;
/**
* @Author: aiqinguo
......@@ -25,6 +22,7 @@ public interface SettlementDriverDao extends BaseDao<SettlementDriverMapper, Set
Optional<SettlementDriver> findBySettlementNo(String settlementNo);
Optional<SettlementDriver> findByChildNo(String childNo);
IPage<SettlementDriver> pageCarrierSettlementDriver(PageCarrierSettlementDriverParam param);
......
......@@ -29,6 +29,8 @@ public interface SettlementOwnerDao extends BaseDao<SettlementOwnerMapper, Settl
boolean updateInvoiceStatusById(@Param("id")Integer id, @Param("invoiceStatus")Integer invoiceStatus);
boolean updateInvoiceStatusAndStatus(SettlementOwner item);
boolean updatePayment(SettlementOwner settlementOwner);
......
......@@ -12,6 +12,7 @@ import com.msl.common.base.Optional;
import com.msl.common.dao.BaseDao;
import org.apache.ibatis.annotations.Param;
import java.time.LocalDateTime;
import java.util.List;
......@@ -36,7 +37,9 @@ public interface SettlementOwnerDetailDao extends BaseDao<SettlementOwnerDetailM
boolean updateFinalPaymentStatusBySettlementNo(@Param("settlementNo")String settlementNo, @Param("finalPaymentStatus")Integer finalPaymentStatus);
boolean updateInvoiceCompany(List<Integer> idList, Integer companyId, String companyShorterName, String companyGroupCode);
boolean updateInvoiceCompany(List<Integer> idList, Integer companyId,
String companyShorterName, String companyGroupCode,
String invoicingCompanyModifiedBy, LocalDateTime invoicingCompanyModifiedTime);
Optional<SettlementOwnerDetail> findById(Integer id);
......
package com.clx.performance.dto.excel;
import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import lombok.Data;
......@@ -23,6 +24,7 @@ public class InvoiceData {
/**
* 装货净重(单位吨)
*/
@ExcelIgnore
private BigDecimal loadNet;
}
......@@ -27,10 +27,10 @@ public class BrokerServiceImpl implements BrokerService {
Result<Object> result = brokerFeign.saveTransport(param);
if (result.getCode() != 0) {
log.info("运单同步网络货运失败, msg:{}", result.getMsg());
log.info("运单同步网络货运失败, childNo:{}, msg:{}", param.getOrderChild().getSourceChildNo(), result.getMsg());
throw new ServiceSystemException(ResultEnum.FEIGN_ERROR, result.getMsg());
}
log.info("运单同步网络货运, result:{}", JSON.toJSONString(result));
log.info("运单同步网络货运, childNo:{}, result:{}", param.getOrderChild().getSourceChildNo(), JSON.toJSONString(result));
}
@Override
......@@ -39,10 +39,10 @@ public class BrokerServiceImpl implements BrokerService {
Result<Object> result = brokerFeign.modifyTransport(param);
if (result.getCode() != 0) {
log.info("运单更新网络货运失败, msg:{}", result.getMsg());
log.info("运单更新网络货运失败, childNo:{}, msg:{}", param.getOrderChild().getSourceChildNo(), result.getMsg());
throw new ServiceSystemException(ResultEnum.FEIGN_ERROR, result.getMsg());
}
log.info("运单更新网络货运, result:{}", JSON.toJSONString(result));
log.info("运单更新网络货运, childNo:{}, result:{}", param.getOrderChild().getSourceChildNo(), JSON.toJSONString(result));
}
@Override
......@@ -56,9 +56,9 @@ public class BrokerServiceImpl implements BrokerService {
Result<TransportVO> result = brokerFeign.getTransportByChildNo(childNo, settlementConfig.getBrokerUserCode(), settlementNo);
if (result.getCode() != 0) {
log.info("运单同步网络货运失败, msg:{}", result.getMsg());
log.info("获取网络货运运单状态, childNo:{}, msg:{}", childNo, result.getMsg());
}
log.info("运单同步网络货运, result:{}", JSON.toJSONString(result));
log.info("获取网络货运运单状态, childNo:{}, result:{}", childNo, JSON.toJSONString(result));
return result.getData();
}
......
......@@ -223,23 +223,7 @@ public class OrderChildSyncTransportListener {
if (settlementOwnerDetail.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0) {
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
}
// 如果开票标识为“普通单”时,开票费率从开票公司“五寨华祥”中获取
InvoicingCompanyVO invoiceCompany = invoicingCompanyService.getInvoicingCompanyByGroupCode(
settlementConfig.getOrdinaryInvoiceCompanyGroupCode());
//设置开票公司信息
settlementOwnerDetail.setInvoicingCompanyId(invoiceCompany.getId());
settlementOwnerDetail.setInvoicingCompanyShorterName(invoiceCompany.getCompanyShorterName());
settlementOwnerDetail.setInvoicingCompanyGroupCode(invoiceCompany.getCompanyGroupCode());
settlementOwnerDetail.setInvoiceServiceFeeRate(BigDecimal.ZERO);
if (Objects.equals(invoiceCompany.getQuotationType(), InvoicingCompanyEnum.TaxType.TAX_EXCLUDED.getCode())) {
settlementOwnerDetail.setInvoiceServiceFeeRate(
invoiceCompany.getServiceFeeRate() == null ? BigDecimal.ZERO : invoiceCompany.getServiceFeeRate());
}
settlementDriverDetail.setInvoicingCompanyId(invoiceCompany.getId());
settlementDriverDetail.setInvoicingCompanyShorterName(invoiceCompany.getCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(invoiceCompany.getCompanyGroupCode());
} else {
if (settlementDriverDetail.getSettlementFreight().compareTo(BigDecimal.ZERO) == 0) {
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
......
......@@ -28,7 +28,7 @@ public class BrokerDelayListener {
@RabbitListener(queues = RabbitKeyBrokerConstants.DEFAULT_DEAD_QUEUE)
public void process(Message message) {
try{
log.info("无车承运-延迟, message:{}", message);
log.info("无车承运-延迟, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<MqDelay>>(){}).getData());
}catch (Exception e){
log.info("无车承运-延迟 失败",e);
......
......@@ -28,7 +28,7 @@ public class SettlementDelayListener {
@RabbitListener(queues = RabbitKeySettlementConstants.DEFAULT_DEAD_QUEUE)
public void process(Message message) {
try{
log.info("结算-延迟, message:{}", message);
log.info("结算-延迟, message:{}", new String(message.getBody()));
process(JSON.parseObject(new String(message.getBody()), new TypeReference<MqWrapper<MqDelay>>(){}).getData());
}catch (Exception e){
log.info("结算-延迟 失败",e);
......
......@@ -26,7 +26,7 @@ public class SettlementInvoiceCompanyUpdateListener {
@Autowired
private SettlementMqHandlerService settlementMqHandlerService;
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_RISK_PROCESS_QUEUE)
@RabbitListener(queues = RabbitKeySettlementConstants.SETTLEMENT_INVOICE_COMPANY_UPDATE_QUEUE)
public void process(Message message) {
try{
log.info("结算-开票公司更新, message:{}", new String(message.getBody()));
......
......@@ -77,6 +77,7 @@ public class SettlementOwnerDetail implements HasKey<Integer> {
private String invoicingCompanyModifiedBy; //开票公司修改人
private LocalDateTime invoicingCompanyModifiedTime; //开票公司修改时间
private String separateRemark; //拆单备注
private LocalDateTime invoiceTypeModifiedTime; //开票标识修改时间
private Integer status; //状态
private LocalDateTime createTime; //创建时间
private LocalDateTime modifiedTime; //修改时间
......
......@@ -265,12 +265,11 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
fieldList.add(new ExcelField(3, "收货地址", "receiveAddressShorter", 5000));
fieldList.add(new ExcelField(4, "货物名称", "goodsName", 5000));
fieldList.add(new ExcelField(5, "提取吨数", "extractWeight", 5000));
fieldList.add(new ExcelField(6, "已派单", "dispatchedOrders", 5000));
fieldList.add(new ExcelField(7, "已抢单吨数", "alreadyTransportWeight", 5000));
fieldList.add(new ExcelField(8, "未抢单吨数", "residueTransportWeight", 5000));
fieldList.add(new ExcelField(9, "已装车吨数", "alreadyLoadWeight", 5000));
fieldList.add(new ExcelField(10, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(11, "货单状态", "orderGoodsStatus", 5000));
fieldList.add(new ExcelField(6, "已抢单吨数", "alreadyTransportWeight", 5000));
fieldList.add(new ExcelField(7, "未抢单吨数", "residueTransportWeight", 5000));
fieldList.add(new ExcelField(8, "已装车吨数", "alreadyLoadWeight", 5000));
fieldList.add(new ExcelField(9, "创建时间", "createTime", 5000));
fieldList.add(new ExcelField(10, "货单状态", "orderGoodsStatus", 5000));
// 组装数据
List<List<ExcelData>> dataList = new ArrayList<>();
......@@ -283,7 +282,6 @@ public class OrderGoodsServiceImpl implements OrderGoodsService, InitializingBea
rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(vo.getExtractWeight()));
rowData.add(new ExcelData(vo.getDispatchedOrders()));
rowData.add(new ExcelData(vo.getAlreadyTransportWeight()));
rowData.add(new ExcelData(vo.getResidueTransportWeight()));
rowData.add(new ExcelData(vo.getAlreadyLoadWeight()));
......
......@@ -1306,7 +1306,7 @@ public class OwnerAccountServiceImpl implements OwnerAccountService {
fieldList.add(new ExcelField(1, "货主名称", "ownerUserNo", 5000));
fieldList.add(new ExcelField(2, "联系电话", "ownerName", 5000));
fieldList.add(new ExcelField(3, "账户类型", "mobile", 5000));
fieldList.add(new ExcelField(4, "账户余额", "accountType", 15000));
fieldList.add(new ExcelField(4, "账户余额", "accountType", 5000));
fieldList.add(new ExcelField(5, "可用余额", "runningWaterType", 5000));
fieldList.add(new ExcelField(6, "冻结余额", "orderNo", 5000));
fieldList.add(new ExcelField(7, "创建人", "alterationBalance", 5000));
......
......@@ -11,6 +11,7 @@ import com.clx.performance.model.OrderGoods;
import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.service.broker.OrderChildBrokerMqHandlerService;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.broker.OrderChildBrokerService;
import com.clx.performance.vo.mq.broker.BrokerOrderChildSyncMqParam;
import com.clx.performance.vo.mq.broker.BrokerOrderChildUpdateMqParam;
......@@ -19,11 +20,14 @@ import org.apache.commons.lang3.exception.ExceptionUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Objects;
@Slf4j
@Service
public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqHandlerService {
private static final Integer DELAY_TIME = 20;
@Autowired
private OrderGoodsDao orderGoodsDao;
@Autowired
......@@ -34,6 +38,8 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
private SettlementDriverDetailDao settlementDriverDetailDao;
@Autowired
private OrderChildBrokerService orderChildBrokerService;
@Autowired
private OrderChildBrokerMqService orderChildBrokerMqService;
@Override
public void orderChildSync(BrokerOrderChildSyncMqParam mq) {
......@@ -81,6 +87,13 @@ public class OrderChildBrokerMqHandlerServiceImpl implements OrderChildBrokerMqH
return;
}
// 延迟推送
if (settlementOwnerDetail.getCreateTime().isAfter(LocalDateTime.now().minusSeconds(DELAY_TIME))){
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(childNo);
return;
}
try{
// 更新broker
orderChildBrokerService.orderChildUpdate(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
......
......@@ -43,7 +43,7 @@ public class OrderChildBrokerMqServiceImpl implements OrderChildBrokerMqService
MqDelay delay =
new MqDelay<>(RabbitKeyBrokerConstants.DEFAULT_EXCHANGE,
RabbitKeyBrokerConstants.ORDER_CHILD_SYNC_ROUTING_KEY, new MqWrapper<>(mq));
RabbitKeyBrokerConstants.ORDER_CHILD_UPDATE_ROUTING_KEY, new MqWrapper<>(mq));
Message message = MessageBuilder.withBody(JSON.toJSONString(new MqWrapper<>(delay)).getBytes()).build();
message.getMessageProperties().setExpiration("5000");
rabbitTemplate.send(RabbitKeyBrokerConstants.DEFAULT_EXCHANGE,
......
......@@ -9,6 +9,7 @@ import com.clx.performance.dao.OrderChildImageDao;
import com.clx.performance.dao.settle.SettlementOwnerDetailDao;
import com.clx.performance.enums.PowerTypeEnum;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.extranal.broker.BrokerService;
import com.clx.performance.extranal.order.InvoicingCompanyService;
import com.clx.performance.model.OrderChild;
......@@ -29,6 +30,7 @@ import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.RoundingMode;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
......@@ -66,10 +68,6 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
TransportParam transportParam = buildParam(orderChild, orderGoods, settlementOwnerDetail, settlementDriverDetail);
// 运单同步
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.PROCESSING.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
brokerService.orderChildSync(transportParam);
}
......@@ -249,7 +247,8 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setSourceOrderNo(orderChild.getOrderNo());
orderChildInfo.setSourceSettlementNo(settlementOwnerDetail.getSettlementNo());
orderChildInfo.setFreight(orderChild.getFreight().intValue());
orderChildInfo.setFreight(orderChild.getFreightPrice().multiply(orderChild.getUnloadNet())
.setScale(0, RoundingMode.HALF_UP).intValue());
orderChildInfo.setDriverFreight(orderChild.getFreight().intValue());
orderChildInfo.setDriverFreightPrice(orderChild.getFreightPrice().intValue());
......@@ -266,13 +265,16 @@ public class OrderChildBrokerServiceImpl implements OrderChildBrokerService {
orderChildInfo.setPayTime(DateUtils.formatDateTime(orderChild.getPayTime()).get());
orderChildInfo.setLoadTime(DateUtils.formatDateTime(orderChild.getLoadTime()).get());
orderChildInfo.setUnloadTime(DateUtils.formatDateTime(orderChild.getUnloadTime()).get());
orderChildInfo.setPayFinishedTime(DateUtils.formatDateTime(orderChild.getConfirmTime()).get());
orderChildInfo.setPayFinishedTime(orderChild.getConfirmTime()==null?
null : DateUtils.formatDateTime(orderChild.getConfirmTime()).get());
orderChildInfo.setPoundTime(DateUtils.formatDateTime(settlementOwnerDetail.getPoundAuditTime()).get());
orderChildInfo.setReceiveTare(orderChild.getUnloadTare());
orderChildInfo.setReceiveRough(orderChild.getUnloadRough());
orderChildInfo.setReceiveNet(orderChild.getUnloadNet());
orderChildInfo.setInvoiceFlag(settlementOwnerDetail.getInvoiceType());
orderChildInfo.setInvoiceFlag(settlementOwnerDetail.getInvoiceType()==null? null
:Objects.equals(settlementOwnerDetail.getInvoiceType(),
SettlementOwnerEnum.InvoiceType.ONLINE.getCode())? 2 : 1);
orderChildInfo.setInvoicePlatform(settlementOwnerDetail.getInvoicingCompanyShorterName());
orderChildInfo.setInvoiceStatus(Objects.equals(settlementOwnerDetail.getInvoiceStatus(),
SettlementOwnerDetailEnum.InvoiceStatus.YES.getCode())? 1 : 0);
......
......@@ -10,6 +10,7 @@ import com.clx.performance.param.mq.IntegralOrderChildFinishMqParam;
import com.clx.performance.service.IntegralMqService;
import com.clx.performance.service.OrderChildMqService;
import com.clx.performance.service.breakcontract.BreakContractDriverRecordService;
import com.clx.performance.service.broker.OrderChildBrokerMqService;
import com.clx.performance.service.child.OrderChildPostService;
import com.clx.performance.service.settle.SettlementDriverDetailService;
import com.clx.performance.service.settle.SettlementMqService;
......@@ -49,6 +50,9 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
@Autowired
private OrderGoodsDao orderGoodsDao;
@Autowired
private OrderChildBrokerMqService orderChildBrokerMqService;
@Override
public void orderChildAdd(String childNo) {
// 发送mq 新增运单
......@@ -85,6 +89,9 @@ public class OrderChildPostServiceImpl implements OrderChildPostService {
// 发送mq 司机确认收货
orderChildMqService.orderChildDriverConfirm(orderChild.getChildNo());
// 发送mq (更新无车承运)
orderChildBrokerMqService.orderChildUpdate(orderChild.getChildNo());
}
......
......@@ -84,7 +84,7 @@ public class OrderChildSyncTransportRecordServiceImpl implements OrderChildSyncT
.getByChildNo(orderChild.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
SettlementDriver settlementDriver = settlementDriverDao
.findBySettlementNo(settlementOwnerDetail.getSettlementNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
.findByChildNo(settlementOwnerDetail.getChildNo()).orElseThrow(PerformanceResultEnum.DATA_NOT_FIND);
settlementDriver.setStatus(SettlementDriverEnum.Status.SETTLED.getCode());
settlementDriverDao.updatePayStatus(settlementDriver);
......
......@@ -186,18 +186,18 @@ public class SettlementDriverDetailServiceImpl implements SettlementDriverDetai
rowData.add(new ExcelData(dto.getGoodsName()));
rowData.add(new ExcelData(dto.getTruckNo()));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType())));
rowData.add(new ExcelData(SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(dto.getPrepayFreightFlag())));
rowData.add(new ExcelData(dto.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(dto.getInvoiceType())));
rowData.add(new ExcelData(dto.getPrepayFreightFlag()==null?null:SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(dto.getPrepayFreightFlag())));
rowData.add(new ExcelData(dto.getLoanFlagMsg()));
rowData.add(new ExcelData(dto.getWeight()));
rowData.add(new ExcelData(dto.getFreightPrice()));
rowData.add(new ExcelData(dto.getFreight()));
rowData.add(new ExcelData(dto.getLossPrice()));
rowData.add(new ExcelData(dto.getFreightPrice()==null?null:dto.getFreightPrice().movePointLeft(2)));
rowData.add(new ExcelData(dto.getFreight()==null?null:dto.getFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getLossPrice()==null?null:dto.getLossPrice().movePointLeft(2)));
rowData.add(new ExcelData(dto.getLossWeight()));
rowData.add(new ExcelData(dto.getLossFreight()));
rowData.add(new ExcelData(dto.getSettlementFreight()));
rowData.add(new ExcelData(dto.getLossFreight()==null?null:dto.getLossFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getSettlementFreight()==null?null:dto.getSettlementFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getPlatformServiceFeeRate() + "%"));
rowData.add(new ExcelData(dto.getPlatformServiceFee()));
rowData.add(new ExcelData(dto.getPlatformServiceFee()==null?null:dto.getPlatformServiceFee().movePointLeft(2)));
rowData.add(new ExcelData(dto.getSettlementNo()));
rowData.add(new ExcelData(dto.getCreateTime()));
......
......@@ -133,12 +133,11 @@ public class SettlementDriverServiceImpl implements SettlementDriverService {
rowData.add(new ExcelData(vo.getDriverName()));
rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(vo.getPrepayFreightFlag())));
rowData.add(new ExcelData(vo.getPrepayFreightFlag()==null?null:SettlementDriverEnum.PrepayFreightFlag.getMsgByCode(vo.getPrepayFreightFlag())));
rowData.add(new ExcelData(vo.getLoanFlagMsg()));
rowData.add(new ExcelData(vo.getTruckNo()));
rowData.add(new ExcelData(SettlementDriverEnum.InvoiceType.getMsgByCode(vo.getInvoiceType())));
rowData.add(new ExcelData(vo.getInvoiceType()==null?null:SettlementDriverEnum.InvoiceType.getMsgByCode(vo.getInvoiceType())));
rowData.add(new ExcelData(vo.getWeight()));
rowData.add(new ExcelData(vo.getFreightPrice()));
......
......@@ -60,6 +60,7 @@ import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@Service
......@@ -313,9 +314,8 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
return;
}
// 同步失败
if (Objects.equals(result.getSyncStatus(), 2)) {
else if (Objects.equals(result.getSyncStatus(), 2)) {
// 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.FAIL.getCode());
......@@ -332,14 +332,20 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOrderChildRisk.setRiskType(SettlementOrderChildRiskEnum.RiskType.SYNC_FAIL.getCode());
settlementOrderChildRisk.setRiskRemark(result.getSyncMsg());
settlementOrderChildRiskDao.saveEntity(settlementOrderChildRisk);
}
return;
}
else {
// 更新状态
settlementOwnerDetail.setInvoiceTypeStatus(SettlementOwnerDetailEnum.InvoiceTypeStatus.SUCCESS.getCode());
settlementOwnerDetailDao.updateInvoiceTypeStatus(settlementOwnerDetail);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
// 发送mq (结算)
settlementMqService.settle(orderChild.getChildNo(), invoiceType, remark);
}
}catch (Exception e){
log.info("结算获取状态失败, 运单号 {}",mq.getChildNo(),e);
}
......@@ -372,6 +378,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
ApplicationContextUtils.getBean(SettlementOwnerService.class)
.invoicingStatusNotify(invoicingStatusNotifyDTO);
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
}
}
......@@ -426,6 +435,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// 发送mq (结算单平台自动确认)
settlementMqService.settlementPlatformAutoConfirmUpdate(settlementOwnerDetail.getSettlementNo());
// 发送mq (运单更新)
orderChildBrokerMqService.orderChildUpdate(settlementOwnerDetail.getChildNo());
}
else if (Objects.equals(result.getSettleStatus(), 3) ) {
SettlementOrderChildRisk settlementOrderChildRisk = new SettlementOrderChildRisk();
......@@ -483,24 +495,20 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// // 转普通单
// settlementOwnerDetail.setInvoiceType(SettlementOwnerEnum.InvoiceType.ORDINARY.getCode());
settlementOwnerDetail.setInvoicingCompanyId(null);
settlementOwnerDetail.setInvoicingCompanyShorterName(null);
settlementOwnerDetail.setInvoicingCompanyGroupCode(null);
// settlementOwnerDetail.setInvoicingCompanyId(null);
// settlementOwnerDetail.setInvoicingCompanyShorterName(null);
// settlementOwnerDetail.setInvoicingCompanyGroupCode(null);
settlementOwnerDetail.setPrepayFreight(BigDecimal.ZERO);
settlementDriverDetail.setInvoiceType(settlementOwnerDetail.getInvoiceType());
settlementDriverDetail.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode());
// settlementDriverDetail.setInvoiceType(settlementOwnerDetail.getInvoiceType());
// settlementDriverDetail.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId());
// settlementDriverDetail.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName());
// settlementDriverDetail.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode());
settlementDriverDetail.setPrepayFreightFlag(SettlementDriverEnum.PrepayFreightFlag.NO_PAY.getCode());
settlementOwnerDetailDao.updatePreFreight(settlementOwnerDetail);
settlementDriverDetailDao.updatePreFreight(settlementDriverDetail);
// 发送mq (更新无车承运)
orderChildBrokerMqService.orderChildSync(orderChild.getChildNo());
} else {
}
if (Objects.equals(settlementOwnerDetail.getReportFlag(), com.clx.order.enums.OrderEnum.ReportFlag.NO.getCode())){
// 转普通单
......@@ -522,7 +530,6 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
// 发送mq (更新无车承运)
orderChildBrokerMqService.orderChildSync(orderChild.getChildNo());
}
}
//
// log.info("更新网络标识 {} ",orderChild.getChildNo());
......@@ -531,7 +538,7 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
}
private void settlementDriverSave(SettlementDriverDetail detail,String settlementNo){
SettlementDriver settlementDriver = new SettlementDriver();
SettlementDriver settlementDriver = settlementDriverDao.findByChildNo(detail.getChildNo()).orElse(new SettlementDriver());
settlementDriver.setDriverUserNo(detail.getDriverUserNo());
settlementDriver.setDriverName(detail.getDriverName());
settlementDriver.setSettlementNo(settlementNo);
......@@ -563,7 +570,11 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementDriver.setPlatformServiceFeeRate(detail.getPlatformServiceFeeRate());
settlementDriver.setPlatformServiceFee(detail.getPlatformServiceFee());
if (settlementDriver.getId() == null) {
settlementDriverDao.saveEntity(settlementDriver);
}else {
settlementDriverDao.updateEntityByKey(settlementDriver);
}
}
@Override
......@@ -718,6 +729,11 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setReportFlag(orderInfo.getReportFlag());
// 开票服务费
settlementOwner.setInvoiceServiceFee(settlementOwnerDetail.getInvoiceServiceFee());
settlementOwner.setDriverFreight(settlementOwnerDetail.getDriverFreight());
settlementOwner.setLoadNet(settlementOwnerDetail.getLoadNet());
settlementOwner.setUnloadNet(settlementOwnerDetail.getUnloadNet());
settlementOwnerDao.saveEntity(settlementOwner);
//保存结算单日志----创建结算单
......@@ -775,8 +791,6 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
String settlementNo = settlementOwnerDetail.getSettlementNo();
SettlementOwner settlementOwner = settlementOwnerDao
.findBySettlementNo(settlementNo).orElseThrow(ResultEnum.DATA_NOT_FIND);
SettlementDriver settlementDriver = settlementDriverDao
.findBySettlementNo(settlementNo).orElseThrow(ResultEnum.DATA_NOT_FIND);
settlementOwner.setWeight(BigDecimal.ZERO);
settlementOwner.setFreight(BigDecimal.ZERO);
......@@ -793,8 +807,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwner.setUnloadNet(BigDecimal.ZERO);
List<SettlementOwnerDetail> details = settlementOwnerDetailDao.getBySettlementNo(settlementOwner.getSettlementNo());
details.forEach(item->{
details.stream().filter(item->!Objects.equals(item.getChildNo(), settlementOwnerDetail.getChildNo()))
.collect(Collectors.toList())
.forEach(item->{
settlementOwner.setWeight(settlementOwner.getWeight().add(item.getWeight()));
settlementOwner.setFreight(settlementOwner.getFreight().add(item.getFreight()));
settlementOwner.setLossWeight(settlementOwner.getLossWeight().add(item.getLossWeight()));
......@@ -893,6 +908,9 @@ public class SettlementMqHandlerServiceImpl implements SettlementMqHandlerServic
settlementOwnerDetail.setFinalPaymentStatus(SettlementOwnerDetailEnum.FinalPaymentStatus.NO_REQUIRE.getCode());
}
if (settlementOwnerDetail.getInvoiceFreight().compareTo(BigDecimal.ZERO) <= 0) {
settlementOwnerDetail.setInvoiceStatus(SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode());
}
settlementDriverDetail.setInvoicingCompanyId(settlementOwnerDetail.getInvoicingCompanyId());
settlementDriverDetail.setInvoicingCompanyShorterName(settlementOwnerDetail.getInvoicingCompanyShorterName());
settlementDriverDetail.setInvoicingCompanyGroupCode(settlementOwnerDetail.getInvoicingCompanyGroupCode());
......
......@@ -140,10 +140,11 @@ public class SettlementOrderChildRiskServiceImpl implements SettlementOrderChild
rowData.add(new ExcelData(vo.getDriverMobile()));
rowData.add(new ExcelData(vo.getGoodsName()));
rowData.add(new ExcelData(SettlementOwnerEnum.InvoiceType.getMsgByCode(vo.getInvoiceType())));
rowData.add(new ExcelData(SettlementOrderChildRiskEnum.RiskType.getMsgByCode(vo.getRiskType())));
rowData.add(new ExcelData(SettlementOrderChildRiskEnum.Status.getMsgByCode(vo.getStatus())));
rowData.add(new ExcelData(SettlementOrderChildRiskEnum.ProcessMethod.getMsgByCode(vo.getProcessMethod())));
rowData.add(new ExcelData(vo.getInvoiceType()==null?null:SettlementOwnerEnum.InvoiceType.getMsgByCode(vo.getInvoiceType())));
rowData.add(new ExcelData(vo.getRiskType()==null?null:SettlementOrderChildRiskEnum.RiskType.getMsgByCode(vo.getRiskType())));
rowData.add(new ExcelData(vo.getRiskRemark()));
rowData.add(new ExcelData(vo.getStatus()==null?null:SettlementOrderChildRiskEnum.Status.getMsgByCode(vo.getStatus())));
rowData.add(new ExcelData(vo.getProcessMethod()==null?null:SettlementOrderChildRiskEnum.ProcessMethod.getMsgByCode(vo.getProcessMethod())));
rowData.add(new ExcelData(vo.getPoundAuditTime()));
rowData.add(new ExcelData(vo.getCreateTime()));
rowData.add(new ExcelData(vo.getProcessBy()));
......
......@@ -522,7 +522,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
rowData.add(new ExcelData(dto.getLoanFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getSettlementFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoiceFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getDriverFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getDriverFreight()==null?null:dto.getDriverFreight().movePointLeft(2)));
rowData.add(new ExcelData(dto.getInvoicingCompanyShorterName()));
rowData.add(new ExcelData(dto.getCreateTime()));
rowData.add(new ExcelData(SettlementOwnerEnum.Status.getMsgByCode(dto.getStatus())));
......@@ -582,6 +582,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
}
@Deprecated
@Override
public void saveExpress(SaveExpressParam param){
String settlementNo = param.getSettlementNo();
......@@ -688,7 +689,9 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
networkSyncComponent.ownerSettlementSync(settlementOwner,settlementOwnerDetailList);
}else{
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.INVOICE_TO_BE_MAILED.getCode());
settlementOwnerDao.updateStatusBySettlementNo(settlementNo,SettlementOwnerEnum.Status.COMPLETED.getCode());
// settlementOwnerDetailDao.updateInvoiceStatusOfOnInvoice(settlementNo, SettlementOwnerDetailEnum.InvoiceStatus.NO_INVOICE.getCode());
}
}
......@@ -728,7 +731,7 @@ public class SettlementOwnerServiceImpl implements SettlementOwnerService {
settlementOwnerDao.updateInvoiceStatusBySettlementNo(settlementNo, SettlementOwnerEnum.InvoiceStatus.INVOICED.getCode());
} else {
log.info("当前是结算单部分开票");
settlementOwnerDao.updateInvoiceStatusBySettlementNo(settlementNo, SettlementOwnerEnum.InvoiceStatus.NO_NEED_INVOICE.getCode());
settlementOwnerDao.updateInvoiceStatusBySettlementNo(settlementNo, SettlementOwnerEnum.InvoiceStatus.PART_INVOICE.getCode());
}
}
@Transactional(rollbackFor = Exception.class)
......
......@@ -2,6 +2,7 @@ package com.clx.performance.struct.settle;
import com.clx.performance.enums.settle.SettlementOwnerDetailEnum;
import com.clx.performance.enums.settle.SettlementOwnerEnum;
import com.clx.performance.enums.settle.SettlementWayEnum;
import com.clx.performance.model.settle.SettlementOwnerDetail;
import com.clx.performance.vo.pc.carrier.settle.CarrierPagePendingSettlementOwnerDetailVO;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementOwnerDetailVO;
......@@ -15,7 +16,7 @@ import org.mapstruct.Named;
import java.util.List;
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {SettlementOwnerDetailEnum.class, SettlementOwnerEnum.class,DateUtils.class})
@Mapper(componentModel = "spring", uses = DateStructUtil.class, imports = {SettlementOwnerDetailEnum.class, SettlementOwnerEnum.class, SettlementWayEnum.class,DateUtils.class})
public interface SettlementOwnerDetailStruct {
......@@ -27,6 +28,7 @@ public interface SettlementOwnerDetailStruct {
@Mapping(target = "invoiceTypeMsg", expression = "java(SettlementOwnerEnum.InvoiceType.getMsgByCode(settlementOwner.getInvoiceType()))")
@Mapping(target = "finalPaymentStatusMsg", expression = "java(SettlementOwnerDetailEnum.FinalPaymentStatus.getMsgByCode(settlementOwner.getFinalPaymentStatus()))")
@Mapping(target = "invoiceStatusMsg", expression = "java(SettlementOwnerDetailEnum.InvoiceStatus.getMsgByCode(settlementOwner.getInvoiceStatus()))")
@Mapping(target = "settlementWayMsg", expression = "java(SettlementWayEnum.WayType.getMsgByCode(settlementOwner.getSettlementWay()))")
PageOwnerSettlementOwnerDetailVO convert(SettlementOwnerDetail settlementOwner);
@IterableMapping(qualifiedByName = "toBaseVo")
......
package com.clx.performance;
import com.baomidou.mybatisplus.extension.plugins.pagination.PageDTO;
import com.clx.performance.dao.OwnerAccountDao;
import com.clx.performance.param.pc.PageOwnerAccountListParam;
import com.clx.performance.service.impl.OwnerAccountServiceImpl;
import com.clx.performance.vo.pc.OwnerAccountVO;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.junit.Before;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.mockito.InjectMocks;
import org.mockito.Mock;
import org.mockito.junit.MockitoJUnitRunner;
import java.io.IOException;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;
import static org.mockito.Mockito.when;
@RunWith(MockitoJUnitRunner.class)
public class OwnerAccountServiceImplTest {
@Mock
private OwnerAccountDao ownerAccountDao;
@InjectMocks
private OwnerAccountServiceImpl ownerAccountService;
private PageOwnerAccountListParam param;
@Before
public void setUp() {
param = new PageOwnerAccountListParam();
// Assuming there's a default page size set in PageOwnerAccountListParam
param.setPageSize(10);
param.setPage(1);
}
@Test
public void testExportPrepaidFreightList() throws IOException {
List<OwnerAccountVO> records = new ArrayList<>();
OwnerAccountVO accountVO = new OwnerAccountVO();
accountVO.setId(18);
accountVO.setOwnerUserNo("188888");
accountVO.setOwnerUserName("owner88");
accountVO.setMobile("18888888888");
accountVO.setAccountType(1);
accountVO.setAccountBalance(new BigDecimal("8888.88"));
accountVO.setUsableBalance(new BigDecimal("8888.88"));
accountVO.setFrozenBalance(new BigDecimal("8888.88"));
accountVO.setCreateBy("domino.j");
accountVO.setCreateTime("2024-08-07 14:15:18");
accountVO.setModifiedTime("2024-08-07 14:15:18");
records.add(accountVO);
PageDTO page = new PageDTO(1, 10000);
page.setRecords(records);
// Mock the behavior of the ownerAccountDao
when(ownerAccountDao.pageList(param)).thenReturn(page);
// Perform the test
SXSSFWorkbook workbook = ownerAccountService.exportPrepaidFreightList(param);
workbook.write(new java.io.FileOutputStream("ccc.xlsx"));
}
}
\ No newline at end of file
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论