修改报错

This commit is contained in:
HH 2023-02-16 23:01:36 +08:00
parent bbd5e6ae5c
commit f8b88dddf1
3 changed files with 59 additions and 66 deletions

View File

@ -14,7 +14,6 @@ import com.ghy.common.utils.StringUtils;
import com.ghy.common.utils.poi.ExcelUtil; import com.ghy.common.utils.poi.ExcelUtil;
import com.ghy.customer.domain.CustomerAddress; import com.ghy.customer.domain.CustomerAddress;
import com.ghy.customer.service.CustomerAddressService; import com.ghy.customer.service.CustomerAddressService;
import com.ghy.customer.service.CustomerService;
import com.ghy.goods.domain.Goods; import com.ghy.goods.domain.Goods;
import com.ghy.goods.domain.GoodsImgs; import com.ghy.goods.domain.GoodsImgs;
import com.ghy.goods.domain.GoodsStandard; import com.ghy.goods.domain.GoodsStandard;
@ -48,15 +47,14 @@ import com.ghy.worker.domain.WorkerCertification;
import com.ghy.worker.service.IWorkerCertificationService; import com.ghy.worker.service.IWorkerCertificationService;
import com.ghy.worker.service.WorkerService; import com.ghy.worker.service.WorkerService;
import com.huifu.adapay.core.exception.BaseAdaPayException; import com.huifu.adapay.core.exception.BaseAdaPayException;
import org.apache.commons.collections.CollectionUtils;
import org.apache.shiro.authz.annotation.RequiresPermissions; import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.BeanUtils; import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap; import org.springframework.ui.ModelMap;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.List; import java.util.List;
@ -74,37 +72,35 @@ public class OrderMasterController extends BaseController {
private final String prefix = "order/master"; private final String prefix = "order/master";
@Autowired @Resource
private OrderMasterService orderMasterService; private OrderMasterService orderMasterService;
@Autowired @Resource
private CustomerService customerService;
@Autowired
private WorkerService workerService; private WorkerService workerService;
@Autowired @Resource
private IWorkerCertificationService workerCertificationService; private IWorkerCertificationService workerCertificationService;
@Autowired @Resource
private OrderDetailService orderDetailService; private OrderDetailService orderDetailService;
@Autowired @Resource
private OrderGoodsService orderGoodsService; private OrderGoodsService orderGoodsService;
@Autowired @Resource
private CustomerAddressService addressService; private CustomerAddressService addressService;
@Autowired @Resource
private GoodsService goodsService; private GoodsService goodsService;
@Autowired @Resource
private GoodsImgsService goodsImgsService; private GoodsImgsService goodsImgsService;
@Autowired @Resource
private FinancialMasterService financialMasterService; private FinancialMasterService financialMasterService;
@Autowired @Resource
private FinancialDetailService financialDetailService; private FinancialDetailService financialDetailService;
@Autowired @Resource
private GoodsStandardService goodsStandardService; private GoodsStandardService goodsStandardService;
@Autowired @Resource
private OrderFineRecordService orderFineRecordService; private OrderFineRecordService orderFineRecordService;
@Autowired @Resource
private ISysAreaService sysAreaService; private ISysAreaService sysAreaService;
@Autowired @Resource
private IAfterServiceRecordService afterServiceRecordService; private IAfterServiceRecordService afterServiceRecordService;
@Autowired @Resource
private FinancialChangeRecordService financialChangeRecordService; private FinancialChangeRecordService financialChangeRecordService;
@RequiresPermissions("order:master:view") @RequiresPermissions("order:master:view")
@ -146,7 +142,7 @@ public class OrderMasterController extends BaseController {
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId()); FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
BigDecimal totalPayMoney = financialMaster.getPayMoney(); BigDecimal totalPayMoney = financialMaster.getPayMoney();
BigDecimal totalChangeMoney = new BigDecimal(0); BigDecimal totalChangeMoney = new BigDecimal(0);
for (OrderDetail detail: detailList) { for (OrderDetail detail : detailList) {
// 查询子单加价记录 // 查询子单加价记录
FinancialChangeRecord record = financialChangeRecordService.selectNotPayRecordByDetailId(detail.getId()); FinancialChangeRecord record = financialChangeRecordService.selectNotPayRecordByDetailId(detail.getId());
if (record != null) { if (record != null) {
@ -164,7 +160,7 @@ public class OrderMasterController extends BaseController {
// 查询售后记录 // 查询售后记录
List<AfterServiceRecord> afterServiceRecords = new ArrayList<>(); List<AfterServiceRecord> afterServiceRecords = new ArrayList<>();
List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(master.getId());
detailOrderList.stream().forEach(detail -> { detailOrderList.forEach(detail -> {
OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus());
if (timeoutRecord != null) { if (timeoutRecord != null) {
timeoutRecords.add(timeoutRecord); timeoutRecords.add(timeoutRecord);
@ -172,7 +168,7 @@ public class OrderMasterController extends BaseController {
AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord(); AfterServiceRecord afterServiceRecordQry = new AfterServiceRecord();
afterServiceRecordQry.setOrderDetailId(detail.getId()); afterServiceRecordQry.setOrderDetailId(detail.getId());
List<AfterServiceRecord> records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecordQry); List<AfterServiceRecord> records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecordQry);
afterServiceRecords.addAll(records); afterServiceRecords.addAll(records);
}); });
@ -244,31 +240,31 @@ public class OrderMasterController extends BaseController {
afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE); afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE);
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
// 踢重后的子单ids // 踢重后的子单ids
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList());
StringBuilder orderDetailIds = new StringBuilder(); StringBuilder orderDetailIds = new StringBuilder();
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setCustomerId(orderMaster.getCustomerId()); orderDetail.setCustomerId(orderMaster.getCustomerId());
orderDetail.setDeptId(orderMaster.getDeptId()); orderDetail.setDeptId(orderMaster.getDeptId());
detailIds.forEach(id->{ detailIds.forEach(id -> {
orderDetailIds.append(id).append(","); orderDetailIds.append(id).append(",");
}); });
String ids = orderDetailIds.toString(); String ids = orderDetailIds.toString();
if(StringUtils.isNotEmpty(ids)){ if (StringUtils.isNotEmpty(ids)) {
orderDetail.setOrderDetailIds(ids.substring(0, ids.length()-1)); orderDetail.setOrderDetailIds(ids.substring(0, ids.length() - 1));
}else { } else {
orderDetail.setOrderDetailIds("0"); orderDetail.setOrderDetailIds("0");
} }
// 所有售后的子单 // 所有售后的子单
List<OrderDetail> orderDetailList = orderDetailService.selectOrderDetailList(orderDetail); List<OrderDetail> orderDetailList = orderDetailService.selectOrderDetailList(orderDetail);
StringBuilder orderMasterIds = new StringBuilder(); StringBuilder orderMasterIds = new StringBuilder();
orderDetailList.stream().map(OrderDetail::getOrderMasterId).distinct() orderDetailList.stream().map(OrderDetail::getOrderMasterId).distinct()
.collect(Collectors.toList()).forEach(id->{ .collect(Collectors.toList()).forEach(id -> {
orderMasterIds.append(id).append(","); orderMasterIds.append(id).append(",");
}); });
String orderIds = orderMasterIds.toString(); String orderIds = orderMasterIds.toString();
if(StringUtils.isNotEmpty(orderIds)){ if (StringUtils.isNotEmpty(orderIds)) {
orderMaster.setOrderMasterIds(orderIds.substring(0, orderIds.length()-1)); orderMaster.setOrderMasterIds(orderIds.substring(0, orderIds.length() - 1));
}else { } else {
orderMaster.setOrderMasterIds("0"); orderMaster.setOrderMasterIds("0");
} }
@ -277,7 +273,7 @@ public class OrderMasterController extends BaseController {
List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster); List<OrderMaster> list = orderMasterService.selectOrderMasterList(orderMaster);
list.forEach(master -> { list.forEach(master -> {
//子单 //子单
List<OrderDetail> detailList = orderDetailService.selectByOrderMasterId(master.getId()); // List<OrderDetail> detailList = orderDetailService.selectByOrderMasterId(master.getId());
// 初始化属性 // 初始化属性
OrderListResponse orderListResponse = new OrderListResponse(); OrderListResponse orderListResponse = new OrderListResponse();
@ -320,7 +316,7 @@ public class OrderMasterController extends BaseController {
// 查询是否超时 // 查询是否超时
List<OrderTimeoutRecord> timeoutRecords = new ArrayList<>(); List<OrderTimeoutRecord> timeoutRecords = new ArrayList<>();
List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(master.getId()); List<OrderDetail> detailOrderList = orderDetailService.selectByOrderMasterId(master.getId());
detailOrderList.stream().forEach(detail -> { detailOrderList.forEach(detail -> {
OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus()); OrderTimeoutRecord timeoutRecord = orderFineRecordService.selectByDetailIdAndStatus(detail.getId(), detail.getOrderStatus());
if (timeoutRecord != null) { if (timeoutRecord != null) {
timeoutRecords.add(timeoutRecord); timeoutRecords.add(timeoutRecord);
@ -387,31 +383,31 @@ public class OrderMasterController extends BaseController {
afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE); afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE);
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
// 踢重后的子单ids // 踢重后的子单ids
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList()); List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList());
StringBuilder orderDetailIds = new StringBuilder(); StringBuilder orderDetailIds = new StringBuilder();
OrderDetail orderDetail = new OrderDetail(); OrderDetail orderDetail = new OrderDetail();
orderDetail.setCustomerId(orderMaster.getCustomerId()); orderDetail.setCustomerId(orderMaster.getCustomerId());
orderDetail.setDeptId(orderMaster.getDeptId()); orderDetail.setDeptId(orderMaster.getDeptId());
detailIds.forEach(id->{ detailIds.forEach(id -> {
orderDetailIds.append(id).append(","); orderDetailIds.append(id).append(",");
}); });
String ids = orderDetailIds.toString(); String ids = orderDetailIds.toString();
if(StringUtils.isNotEmpty(ids)){ if (StringUtils.isNotEmpty(ids)) {
orderDetail.setOrderDetailIds(ids.substring(0, ids.length()-1)); orderDetail.setOrderDetailIds(ids.substring(0, ids.length() - 1));
}else { } else {
orderDetail.setOrderDetailIds("0"); orderDetail.setOrderDetailIds("0");
} }
// 所有售后的子单 // 所有售后的子单
List<OrderDetail> orderDetailList = orderDetailService.selectOrderDetailList(orderDetail); List<OrderDetail> orderDetailList = orderDetailService.selectOrderDetailList(orderDetail);
StringBuilder orderMasterIds = new StringBuilder(); StringBuilder orderMasterIds = new StringBuilder();
orderDetailList.stream().map(OrderDetail::getOrderMasterId).distinct() orderDetailList.stream().map(OrderDetail::getOrderMasterId).distinct()
.collect(Collectors.toList()).forEach(id->{ .collect(Collectors.toList()).forEach(id -> {
orderMasterIds.append(id).append(","); orderMasterIds.append(id).append(",");
}); });
String orderIds = orderMasterIds.toString(); String orderIds = orderMasterIds.toString();
if(StringUtils.isNotEmpty(orderIds)){ if (StringUtils.isNotEmpty(orderIds)) {
orderMaster.setOrderMasterIds(orderIds.substring(0, orderIds.length()-1)); orderMaster.setOrderMasterIds(orderIds.substring(0, orderIds.length() - 1));
}else { } else {
orderMaster.setOrderMasterIds("0"); orderMaster.setOrderMasterIds("0");
} }
@ -433,7 +429,7 @@ public class OrderMasterController extends BaseController {
// 计算总额 // 计算总额
BigDecimal totalPayMoney = financialMaster.getPayMoney(); BigDecimal totalPayMoney = financialMaster.getPayMoney();
for (OrderDetail orderDetail: orderDetailList) { for (OrderDetail orderDetail : orderDetailList) {
List<OrderStandard> standardList = new ArrayList<>(); List<OrderStandard> standardList = new ArrayList<>();
// 子单施工师傅信息 // 子单施工师傅信息
Worker detailWorker = workerService.selectById(orderDetail.getWorkerId()); Worker detailWorker = workerService.selectById(orderDetail.getWorkerId());
@ -500,7 +496,7 @@ public class OrderMasterController extends BaseController {
orderStandardDetail.setServerMoney(financialMaster.getServerMoney()); orderStandardDetail.setServerMoney(financialMaster.getServerMoney());
AfterServiceRecord afterServiceRecord = new AfterServiceRecord(); AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
afterServiceRecord.setOrderDetailId(orderDetail.getId()); afterServiceRecord.setOrderDetailId(orderDetail.getId());
List<AfterServiceRecord> records =afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord); List<AfterServiceRecord> records = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
orderStandardDetail.setAfterServiceRecordList(records); orderStandardDetail.setAfterServiceRecordList(records);
orderStandardDetail.setIsOnlyServ(this.checkIsOnlyServer(orderMaster.getId(), orderDetail.getWorkerId()) ? Boolean.TRUE : Boolean.FALSE); orderStandardDetail.setIsOnlyServ(this.checkIsOnlyServer(orderMaster.getId(), orderDetail.getWorkerId()) ? Boolean.TRUE : Boolean.FALSE);
@ -564,7 +560,7 @@ public class OrderMasterController extends BaseController {
fdQry.setFinancialMasterId(financialMaster.getId()); fdQry.setFinancialMasterId(financialMaster.getId());
List<FinancialDetail> financialDetailList = financialDetailService.selectFinancialDetailList(fdQry); List<FinancialDetail> financialDetailList = financialDetailService.selectFinancialDetailList(fdQry);
BigDecimal finalRecvMoney = BigDecimal.ZERO; BigDecimal finalRecvMoney = BigDecimal.ZERO;
for (FinancialDetail financialDetail: financialDetailList) { for (FinancialDetail financialDetail : financialDetailList) {
finalRecvMoney = finalRecvMoney.add(financialDetail.getPayMoney()); finalRecvMoney = finalRecvMoney.add(financialDetail.getPayMoney());
} }
@ -623,7 +619,7 @@ public class OrderMasterController extends BaseController {
orderMasterResponseVo.setWorkerName(worker.getName()); orderMasterResponseVo.setWorkerName(worker.getName());
} }
// 消费者信息 // 消费者信息
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId()); CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
orderMasterResponseVo.setCustomerName(customerAddress.getName()); orderMasterResponseVo.setCustomerName(customerAddress.getName());
orderMasterResponseVos.add(orderMasterResponseVo); orderMasterResponseVos.add(orderMasterResponseVo);
@ -757,7 +753,7 @@ public class OrderMasterController extends BaseController {
// 查询主单金额 // 查询主单金额
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderMasterId); FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderMasterId);
BigDecimal totalMoney = financialMaster.getPayMoney(); BigDecimal totalMoney = financialMaster.getPayMoney();
for (OrderDetail detail: detailList) { for (OrderDetail detail : detailList) {
// 师傅信息 // 师傅信息
Worker worker = workerService.selectById(detail.getWorkerId()); Worker worker = workerService.selectById(detail.getWorkerId());
@ -785,7 +781,7 @@ public class OrderMasterController extends BaseController {
orderStandardDetails.add(detailRes); orderStandardDetails.add(detailRes);
} }
for (OrderStandardDetail orderStandardDetail: orderStandardDetails) { for (OrderStandardDetail orderStandardDetail : orderStandardDetails) {
orderStandardDetail.setPayMoney(totalMoney); orderStandardDetail.setPayMoney(totalMoney);
} }
@ -796,22 +792,22 @@ public class OrderMasterController extends BaseController {
} }
} }
private boolean checkIsOnlyServer(Long orderMasterId, Long workId){ private boolean checkIsOnlyServer(Long orderMasterId, Long workId) {
// 找出原单的数量 // 找出原单的数量
List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderMasterId(orderMasterId); List<OrderGoods> orderGoodsList = orderGoodsService.selectByOrderMasterId(orderMasterId);
// 找出原单关联的细单的商品数量 // 找出原单关联的细单的商品数量
List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(orderMasterId); List<OrderDetail> orderDetailList = orderDetailService.selectByOrderMasterId(orderMasterId);
for (OrderDetail detail : orderDetailList){ for (OrderDetail detail : orderDetailList) {
// 非一个师傅接单 // 非一个师傅接单
if(!workId.equals(detail.getWorkerId())){ if (!workId.equals(detail.getWorkerId())) {
return false; return false;
} }
// 子单数量 // 子单数量
List<OrderGoods> orderDetailGoodsList = orderGoodsService.selectByOrderDetailId(detail.getId()); List<OrderGoods> orderDetailGoodsList = orderGoodsService.selectByOrderDetailId(detail.getId());
// 计算剩余未分配的商品数量 // 计算剩余未分配的商品数量
for (OrderGoods detailGoods : orderDetailGoodsList) { for (OrderGoods detailGoods : orderDetailGoodsList) {
for(OrderGoods masterGoods : orderGoodsList){ for (OrderGoods masterGoods : orderGoodsList) {
if(Objects.equals(masterGoods.getGoodsStandardId(), detailGoods.getGoodsStandardId())){ if (Objects.equals(masterGoods.getGoodsStandardId(), detailGoods.getGoodsStandardId())) {
masterGoods.setGoodsNum(masterGoods.getGoodsNum() - detailGoods.getGoodsNum()); masterGoods.setGoodsNum(masterGoods.getGoodsNum() - detailGoods.getGoodsNum());
} }
} }

View File

@ -3,6 +3,7 @@ package com.ghy.customer.mapper;
import com.ghy.customer.domain.CustomerAddress; import com.ghy.customer.domain.CustomerAddress;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import javax.validation.constraints.NotNull;
import java.util.List; import java.util.List;
public interface CustomerAddressMapper { public interface CustomerAddressMapper {
@ -17,7 +18,7 @@ public interface CustomerAddressMapper {
* @param ids 地址id * @param ids 地址id
* @return 删除成功条数 * @return 删除成功条数
*/ */
int deleteByIds(String [] ids); int deleteByIds(String[] ids);
/** /**
* @param customerAddressId 地址id * @param customerAddressId 地址id
@ -35,7 +36,7 @@ public interface CustomerAddressMapper {
* @param customerAddressId 地址id * @param customerAddressId 地址id
* @return 地址 * @return 地址
*/ */
CustomerAddress selectByCustomerAddressId(@Param("customerAddressId") Long customerAddressId); CustomerAddress selectByCustomerAddressId(@NotNull @Param("customerAddressId") Long customerAddressId);
/** /**
* @param customerAddress 地址信息 * @param customerAddress 地址信息

View File

@ -59,11 +59,7 @@
<select id="selectByCustomerAddressId" resultMap="CustomerAddressResult"> <select id="selectByCustomerAddressId" resultMap="CustomerAddressResult">
<include refid="selectCustomerAddress"/> <include refid="selectCustomerAddress"/>
<where> WHERE customer_address_id = #{customerAddressId}
<if test="customerAddressId != null and customerAddressId != 0">
AND customer_address_id = #{customerAddressId}
</if>
</where>
</select> </select>
<insert id="insertCustomerAddress" parameterType="com.ghy.customer.domain.CustomerAddress" useGeneratedKeys="true" keyProperty="customerAddressId"> <insert id="insertCustomerAddress" parameterType="com.ghy.customer.domain.CustomerAddress" useGeneratedKeys="true" keyProperty="customerAddressId">