提交 0f3b3ec8 authored 作者: liuhaiquan's avatar liuhaiquan

commit

上级 9253d2ad
package com.clx.performance.param.pc.breakcontract.carrier;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
* @ClassName BatchUpdatePayDriverSettlementParam
* @Description
* @Author kavin
* @Date 2023/12/4 19:58
* @Version 1.0
*/
@Getter
@Setter
public class BatchUpdatePayDriverBreakContractSettlementParam {
@ApiModelProperty("结算单id集合")
@NotNull(message = "ids不能为空")
private List<Integer> ids;
}
package com.clx.performance.param.pc.driver;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import javax.validation.constraints.NotNull;
import java.util.List;
/**
......@@ -16,5 +18,7 @@ import java.util.List;
@Setter
public class BatchUpdatePayDriverSettlementParam {
@ApiModelProperty("结算单id集合")
@NotNull(message = "ids不能为空")
private List<Integer> ids;
}
package com.clx.performance.controller.pc.breakcontract.carrier;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.BatchUpdatePayDriverBreakContractSettlementParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverParam;
import com.clx.performance.service.breakcontract.BreakContractSettlementDriverService;
import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementDriverDetailVO;
......@@ -58,4 +59,12 @@ public class CarrierBreakContractSettlementDriverController {
return Result.ok(breakContractSettlementDriverService.getDetailBySettlementNo(settlementNo));
}
@ApiOperation(value = "批量结算车主违约结算单",notes = "<br>By:刘海泉")
@PostMapping("/updateBatchPayDriverBreakContractSettlement")
public Result<Object> updateBatchPayDriverBreakContractSettlement(@RequestBody @Validated BatchUpdatePayDriverBreakContractSettlementParam param) {
breakContractSettlementDriverService.updateBatchPayDriverBreakContractSettlement(param);
return Result.ok();
}
}
......@@ -39,7 +39,7 @@ public class CarrierSettlementDriverController {
@ApiOperation(value = "批量结算车主结算单",notes = "<br>By:刘海泉")
@PostMapping("/updateBatchPayDriverSettlement")
public Result<Object> updateBatchPayDriverSettlement(BatchUpdatePayDriverSettlementParam param) {
public Result<Object> updateBatchPayDriverSettlement(@RequestBody @Validated BatchUpdatePayDriverSettlementParam param) {
settlementDriverService.updateBatchPayDriverSettlement(param);
return Result.ok();
}
......
package com.clx.performance.service.breakcontract;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.clx.performance.param.pc.breakcontract.carrier.BatchUpdatePayDriverBreakContractSettlementParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverParam;
import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementDriverDetailVO;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverVO;
......@@ -19,4 +20,6 @@ public interface BreakContractSettlementDriverService {
SXSSFWorkbook exportCarrierBreakContractSettlementDriverList(PageCarrierBreakContractSettlementDriverParam param);
CarrierBreakContractSettlementDriverDetailVO getDetailBySettlementNo(String settlementNo);
void updateBatchPayDriverBreakContractSettlement(BatchUpdatePayDriverBreakContractSettlementParam param);
}
......@@ -3,9 +3,12 @@ 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.performance.dao.breakcontract.BreakContractSettlementDriverDao;
import com.clx.performance.enums.BreakContractSettlementDriverEnum;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.model.breakcontract.BreakContractSettlementDriver;
import com.clx.performance.param.pc.breakcontract.carrier.BatchUpdatePayDriverBreakContractSettlementParam;
import com.clx.performance.param.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverParam;
import com.clx.performance.service.breakcontract.BreakContractJobHandlerService;
import com.clx.performance.service.breakcontract.BreakContractSettlementDriverService;
import com.clx.performance.struct.breakcontract.BreakContractSettlementDriverStruct;
import com.clx.performance.utils.excel.ExcelData;
......@@ -14,13 +17,16 @@ import com.clx.performance.utils.excel.ExcelSheet;
import com.clx.performance.utils.excel.ExcelUtil;
import com.clx.performance.vo.pc.breakcontract.carrier.CarrierBreakContractSettlementDriverDetailVO;
import com.clx.performance.vo.pc.breakcontract.carrier.PageCarrierBreakContractSettlementDriverVO;
import com.msl.common.exception.ServiceSystemException;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections4.CollectionUtils;
import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* @author liruixin
......@@ -34,6 +40,7 @@ public class BreakContractSettlementDriverServiceImpl implements BreakContractSe
private final BreakContractSettlementDriverDao breakContractSettlementDriverDao;
private final BreakContractSettlementDriverStruct breakContractSettlementStruct;
private BreakContractJobHandlerService breakContractJobHandlerService;
@Override
public IPage<PageCarrierBreakContractSettlementDriverVO> pageCarrierBreakContractSettlementDriverList(PageCarrierBreakContractSettlementDriverParam param) {
......@@ -106,4 +113,24 @@ public class BreakContractSettlementDriverServiceImpl implements BreakContractSe
CarrierBreakContractSettlementDriverDetailVO vo = breakContractSettlementStruct.convertDetail(settlement);
return vo;
}
@Override
public void updateBatchPayDriverBreakContractSettlement(BatchUpdatePayDriverBreakContractSettlementParam param) {
if(CollectionUtils.isEmpty(param.getIds())){
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,"参数不能为空");
}
List<BreakContractSettlementDriver> list = breakContractSettlementDriverDao.listInField(BreakContractSettlementDriver :: getId,param.getIds());
if(CollectionUtils.isEmpty(list)){
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
list.forEach(item->{
if(!Objects.equals(item.getSettleStatus(), BreakContractSettlementDriverEnum.SettleStatus.NO.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,"所选数据有误,请重新选择");
}
});
list.forEach(item->breakContractJobHandlerService.pay(item.getId()));
}
}
......@@ -4,6 +4,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.clx.performance.dao.settle.SettlementDriverDao;
import com.clx.performance.dao.settle.SettlementDriverDetailDao;
import com.clx.performance.enums.PerformanceResultEnum;
import com.clx.performance.enums.settle.SettlementDriverEnum;
import com.clx.performance.model.settle.SettlementDriver;
import com.clx.performance.model.settle.SettlementDriverDetail;
import com.clx.performance.param.pc.driver.BatchUpdatePayDriverSettlementParam;
......@@ -12,10 +14,13 @@ import com.clx.performance.service.settle.SettlementDriverService;
import com.clx.performance.service.settle.SettlementMqHandlerService;
import com.clx.performance.struct.settle.SettlementDriverStruct;
import com.clx.performance.vo.pc.carrier.settle.CarrierPageSettlementDriverVO;
import com.msl.common.exception.ServiceSystemException;
import lombok.AllArgsConstructor;
import org.apache.commons.collections4.CollectionUtils;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.Objects;
/**
* @author liruixin
......@@ -44,9 +49,18 @@ public class SettlementDriverServiceImpl implements SettlementDriverService {
@Override
public void updateBatchPayDriverSettlement(BatchUpdatePayDriverSettlementParam param) {
if(CollectionUtils.isEmpty(param.getIds())){
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,"参数不能为空");
}
List<SettlementDriverDetail> list = settlementDriverDetailDao.findByDriverSettlementIds(param.getIds());
if(CollectionUtils.isEmpty(list)){
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND);
}
list.forEach(item->{
settlementMqHandlerService.paySettlementDriver(item);
if(!Objects.equals(item.getStatus(), SettlementDriverEnum.Status.WAIT_SETTLEMENT.getCode())){
throw new ServiceSystemException(PerformanceResultEnum.DATA_NOT_FIND,"所选数据有误,请重新选择");
}
});
list.forEach(item-> settlementMqHandlerService.paySettlementDriver(item));
}
}
......@@ -3,6 +3,9 @@ package com.clx.performance.sqlProvider.settle;
import com.clx.performance.enums.settle.SettlementDriverEnum;
import org.apache.ibatis.jdbc.SQL;
import java.util.List;
import java.util.stream.Collectors;
public class SettlementDriverDetailSqlProvider {
......@@ -18,12 +21,12 @@ public class SettlementDriverDetailSqlProvider {
}
public String findByDriverSettlementIds() {
public String findByDriverSettlementIds(List<Integer> ids) {
return new SQL(){{
SELECT("a.* ");
FROM("settlement_owner_detail a ");
LEFT_OUTER_JOIN("settlement_driver b on a.settlement_no = b.settlement_no");
WHERE("b.id IN ");
WHERE("b.id IN ( " + ids.stream().map(code -> "'"+code+"'").collect(Collectors.joining(","))+ ")" );
ORDER_BY("b.create_time");
}}.toString();
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论