售后,加价相关金额修改
This commit is contained in:
parent
cbfb18a235
commit
f680581fc8
|
|
@ -3,6 +3,7 @@ package com.ghy.web.controller.order;
|
|||
import java.util.List;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import org.apache.commons.lang3.exception.ExceptionUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresPermissions;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Controller;
|
||||
|
|
@ -130,7 +131,12 @@ public class AfterServiceRecordController extends BaseController
|
|||
@ResponseBody
|
||||
public AjaxResult editSave(@RequestBody AfterServiceRecord afterServiceRecord)
|
||||
{
|
||||
try {
|
||||
return toAjax(afterServiceRecordService.updateAfterServiceRecord(afterServiceRecord));
|
||||
} catch (Exception exception) {
|
||||
logger.error(ExceptionUtils.getStackTrace(exception));
|
||||
return AjaxResult.error(exception.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
|
|
@ -161,12 +161,12 @@ public class OrderDetailController extends BaseController {
|
|||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
||||
BigDecimal detailPayMoney = financialDetail.getPayMoney();
|
||||
// 查询子单加价记录
|
||||
FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
changeRecordQry.setOrderDetailId(detail.getId());
|
||||
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
}
|
||||
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
// changeRecordQry.setOrderDetailId(detail.getId());
|
||||
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
// detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
// }
|
||||
|
||||
// 地址信息
|
||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
||||
|
|
@ -273,12 +273,12 @@ public class OrderDetailController extends BaseController {
|
|||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
||||
BigDecimal detailPayMoney = financialDetail.getPayMoney();
|
||||
// 查询子单加价记录
|
||||
FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
changeRecordQry.setOrderDetailId(detail.getId());
|
||||
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
}
|
||||
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
// changeRecordQry.setOrderDetailId(detail.getId());
|
||||
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
// detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
// }
|
||||
|
||||
// 地址信息
|
||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
||||
|
|
@ -335,7 +335,9 @@ public class OrderDetailController extends BaseController {
|
|||
@PostMapping("/after/list")
|
||||
@ResponseBody
|
||||
public TableDataInfo afterServiceList(@RequestBody OrderDetail orderDetail) {
|
||||
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(new AfterServiceRecord());
|
||||
AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
|
||||
afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE);
|
||||
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
|
||||
Map<Long, List<AfterServiceRecord>> detailRecordMap = afterServiceRecordList.stream().collect(Collectors.groupingBy(record->record.getOrderDetailId()));
|
||||
// 踢重后的子单ids
|
||||
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList());
|
||||
|
|
@ -385,12 +387,12 @@ public class OrderDetailController extends BaseController {
|
|||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
||||
BigDecimal detailPayMoney = financialDetail.getPayMoney();
|
||||
// 查询子单加价记录
|
||||
FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
changeRecordQry.setOrderDetailId(detail.getId());
|
||||
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
}
|
||||
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
// changeRecordQry.setOrderDetailId(detail.getId());
|
||||
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
// detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
// }
|
||||
|
||||
// 地址信息
|
||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
||||
|
|
|
|||
|
|
@ -144,17 +144,17 @@ public class OrderMasterController extends BaseController {
|
|||
// 财务信息
|
||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
||||
BigDecimal totalPayMoney = financialMaster.getPayMoney();
|
||||
BigDecimal totalChangeMoney = new BigDecimal(0);
|
||||
for (OrderDetail detail: detailList) {
|
||||
// 查询子单加价记录
|
||||
FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
changeRecordQry.setOrderDetailId(detail.getId());
|
||||
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
totalChangeMoney = totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
}
|
||||
}
|
||||
totalPayMoney = totalPayMoney.add(totalChangeMoney);
|
||||
// BigDecimal totalChangeMoney = new BigDecimal(0);
|
||||
// for (OrderDetail detail: detailList) {
|
||||
// // 查询子单加价记录
|
||||
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
// changeRecordQry.setOrderDetailId(detail.getId());
|
||||
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
// totalChangeMoney = totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
// }
|
||||
// }
|
||||
// totalPayMoney = totalPayMoney.add(totalChangeMoney);
|
||||
|
||||
// 地址信息
|
||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
|
||||
|
|
@ -185,7 +185,7 @@ public class OrderMasterController extends BaseController {
|
|||
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
|
||||
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
||||
orderListResponse.setPayMoney(totalPayMoney);
|
||||
orderListResponse.setChangeMoney(totalChangeMoney);
|
||||
// orderListResponse.setChangeMoney(totalChangeMoney);
|
||||
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
||||
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||
orderListResponse.setCustomerName(customerAddress.getName());
|
||||
|
|
@ -227,7 +227,9 @@ public class OrderMasterController extends BaseController {
|
|||
public TableDataInfo afterList(@RequestBody OrderMaster orderMaster) {
|
||||
|
||||
// 查所有售后的单
|
||||
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(new AfterServiceRecord());
|
||||
AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
|
||||
afterServiceRecord.setExcludeAfterServiceFinished(Boolean.TRUE);
|
||||
List<AfterServiceRecord> afterServiceRecordList = afterServiceRecordService.selectAfterServiceRecordList(afterServiceRecord);
|
||||
// 踢重后的子单ids
|
||||
List<Long> detailIds = afterServiceRecordList.stream().map(AfterServiceRecord::getOrderDetailId).distinct().collect(Collectors.toList());
|
||||
StringBuilder orderDetailIds = new StringBuilder();
|
||||
|
|
@ -285,17 +287,17 @@ public class OrderMasterController extends BaseController {
|
|||
// 财务信息
|
||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
||||
BigDecimal totalPayMoney = financialMaster.getPayMoney();
|
||||
BigDecimal totalChangeMoney = new BigDecimal(0);
|
||||
for (OrderDetail detail: detailList) {
|
||||
// 查询子单加价记录
|
||||
FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
changeRecordQry.setOrderDetailId(detail.getId());
|
||||
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
totalChangeMoney = totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
}
|
||||
}
|
||||
totalPayMoney = totalPayMoney.add(totalChangeMoney);
|
||||
// BigDecimal totalChangeMoney = new BigDecimal(0);
|
||||
// for (OrderDetail detail: detailList) {
|
||||
// // 查询子单加价记录
|
||||
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
// changeRecordQry.setOrderDetailId(detail.getId());
|
||||
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
// totalChangeMoney = totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
// }
|
||||
// }
|
||||
// totalPayMoney = totalPayMoney.add(totalChangeMoney);
|
||||
|
||||
// 地址信息
|
||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
|
||||
|
|
@ -326,7 +328,7 @@ public class OrderMasterController extends BaseController {
|
|||
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
|
||||
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
||||
orderListResponse.setPayMoney(totalPayMoney);
|
||||
orderListResponse.setChangeMoney(totalChangeMoney);
|
||||
// orderListResponse.setChangeMoney(totalChangeMoney);
|
||||
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
||||
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||
orderListResponse.setCustomerName(customerAddress.getName());
|
||||
|
|
@ -408,16 +410,15 @@ public class OrderMasterController extends BaseController {
|
|||
|
||||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(orderDetail.getId());
|
||||
BigDecimal detailPayMoney = financialDetail.getPayMoney();
|
||||
FinancialChangeRecord financialChangeRecord = null;
|
||||
// 查询子单加价记录
|
||||
FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
changeRecordQry.setOrderDetailId(orderDetail.getId());
|
||||
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
financialChangeRecord = financialChangeRecords.get(0);
|
||||
totalPayMoney = totalPayMoney.add(financialChangeRecord.getChangeMoney());
|
||||
detailPayMoney = detailPayMoney.add(financialChangeRecord.getChangeMoney());
|
||||
}
|
||||
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
// financialChangeRecord = financialChangeRecords.get(0);
|
||||
// totalPayMoney = totalPayMoney.add(financialChangeRecord.getChangeMoney());
|
||||
// detailPayMoney = detailPayMoney.add(financialChangeRecord.getChangeMoney());
|
||||
// }
|
||||
|
||||
OrderStandardDetail orderStandardDetail = new OrderStandardDetail();
|
||||
orderStandardDetail.setOrderDetailId(orderDetail.getId());
|
||||
|
|
@ -433,7 +434,7 @@ public class OrderMasterController extends BaseController {
|
|||
orderStandardDetail.setFinishImgList(finishImgList);
|
||||
orderStandardDetail.setRemark(orderDetail.getRemark());
|
||||
orderStandardDetail.setPayMoney(detailPayMoney);
|
||||
orderStandardDetail.setFinancialChangeRecord(financialChangeRecord);
|
||||
orderStandardDetail.setFinancialChangeRecord(financialChangeRecords);
|
||||
orderStandardDetail.setOrderStatus(orderDetail.getOrderStatus());
|
||||
|
||||
AfterServiceRecord afterServiceRecord = new AfterServiceRecord();
|
||||
|
|
@ -681,12 +682,12 @@ public class OrderMasterController extends BaseController {
|
|||
}
|
||||
|
||||
// 查询子单加价记录
|
||||
FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
changeRecordQry.setOrderDetailId(detail.getId());
|
||||
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
totalMoney = totalMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
}
|
||||
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
||||
// changeRecordQry.setOrderDetailId(detail.getId());
|
||||
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
||||
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
||||
// totalMoney = totalMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
||||
// }
|
||||
|
||||
OrderStandardDetail detailRes = new OrderStandardDetail();
|
||||
detailRes.setOrderDetailId(detail.getId());
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public class OrderStandardDetail {
|
|||
|
||||
private BigDecimal payMoney;
|
||||
|
||||
private FinancialChangeRecord financialChangeRecord;
|
||||
private List<FinancialChangeRecord> financialChangeRecord;
|
||||
|
||||
private String remark;
|
||||
|
||||
|
|
|
|||
|
|
@ -61,6 +61,11 @@ public class AfterServiceRecord extends BaseEntity
|
|||
@Excel(name = "客户最终确认:0为不同意,1为同意")
|
||||
private Long customerFinalCheck;
|
||||
|
||||
@Excel(name = "最终原路返还的金额")
|
||||
private BigDecimal originalRefund;
|
||||
|
||||
private boolean excludeAfterServiceFinished;
|
||||
|
||||
private List<AfterServiceImgs> imgsList;
|
||||
|
||||
|
||||
|
|
@ -172,6 +177,22 @@ public class AfterServiceRecord extends BaseEntity
|
|||
return customerFinalCheck;
|
||||
}
|
||||
|
||||
public BigDecimal getOriginalRefund() {
|
||||
return originalRefund;
|
||||
}
|
||||
|
||||
public void setOriginalRefund(BigDecimal originalRefund) {
|
||||
this.originalRefund = originalRefund;
|
||||
}
|
||||
|
||||
public boolean isExcludeAfterServiceFinished() {
|
||||
return excludeAfterServiceFinished;
|
||||
}
|
||||
|
||||
public void setExcludeAfterServiceFinished(boolean excludeAfterServiceFinished) {
|
||||
this.excludeAfterServiceFinished = excludeAfterServiceFinished;
|
||||
}
|
||||
|
||||
@Override
|
||||
public String toString() {
|
||||
return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
|
||||
|
|
@ -185,12 +206,14 @@ public class AfterServiceRecord extends BaseEntity
|
|||
.append("workerFeedbackReason", getWorkerFeedbackReason())
|
||||
.append("refund", getRefund())
|
||||
.append("agreedRefund", getAgreedRefund())
|
||||
.append("originalRefund", getOriginalRefund())
|
||||
.append("customerFinalCheck", getCustomerFinalCheck())
|
||||
.append("createBy", getCreateBy())
|
||||
.append("createTime", getCreateTime())
|
||||
.append("updateBy", getUpdateBy())
|
||||
.append("updateTime", getUpdateTime())
|
||||
.append("remark", getRemark())
|
||||
.append("excludeAfterServiceFinished", isExcludeAfterServiceFinished())
|
||||
.toString();
|
||||
}
|
||||
}
|
||||
|
|
@ -41,7 +41,7 @@ public interface IAfterServiceRecordService
|
|||
* @param afterServiceRecord 售后记录
|
||||
* @return 结果
|
||||
*/
|
||||
public int updateAfterServiceRecord(AfterServiceRecord afterServiceRecord);
|
||||
public int updateAfterServiceRecord(AfterServiceRecord afterServiceRecord) throws Exception;
|
||||
|
||||
/**
|
||||
* 批量删除售后记录
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ public interface OrderDetailService {
|
|||
* @param remark 备注
|
||||
* @return 成功/失败
|
||||
*/
|
||||
int changePrice(Long orderDetailId, BigDecimal changeMoney, Integer type, String remark);
|
||||
int changePrice(Long orderDetailId, BigDecimal changeMoney, Integer type, String remark) throws Exception;
|
||||
|
||||
int sureChange(Long financialChangeRecordId);
|
||||
|
||||
|
|
|
|||
|
|
@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSONObject;
|
|||
import com.ghy.common.adapay.model.AdapayStatusEnum;
|
||||
import com.ghy.common.adapay.model.PaymentDTO;
|
||||
import com.ghy.common.core.domain.AjaxResult;
|
||||
import com.ghy.common.enums.OrderStatus;
|
||||
import com.ghy.common.enums.PayStatus;
|
||||
import com.ghy.common.enums.PayTypeEnum;
|
||||
import com.ghy.common.exception.base.BaseException;
|
||||
|
|
@ -30,6 +31,7 @@ import com.ghy.order.mapper.AfterServiceRecordMapper;
|
|||
import com.ghy.order.domain.AfterServiceRecord;
|
||||
import com.ghy.order.service.IAfterServiceRecordService;
|
||||
import com.ghy.common.core.text.Convert;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
import org.springframework.util.Assert;
|
||||
|
||||
/**
|
||||
|
|
@ -120,7 +122,8 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
* @return 结果
|
||||
*/
|
||||
@Override
|
||||
public int updateAfterServiceRecord(AfterServiceRecord param) {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int updateAfterServiceRecord(AfterServiceRecord param) throws Exception {
|
||||
AfterServiceRecord afterServiceRecord = this.selectAfterServiceRecordById(param.getId());
|
||||
Assert.notNull(afterServiceRecord, "售后记录不存在!");
|
||||
// 实际同意,需要发起退款,减少原单分账金额-调用退款接口
|
||||
|
|
@ -150,22 +153,35 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney));
|
||||
financialMasterService.updateFinancialMaster(financialMaster);
|
||||
financialDetailService.updateFinancialDetail(financialDetail);
|
||||
param.setOriginalRefund(BigDecimal.ZERO);
|
||||
} else {
|
||||
Assert.hasText(financialMaster.getPaymentId(), "找不到订单的支付记录,请联系管理员");
|
||||
JSONObject response = null;
|
||||
try {
|
||||
response = adapayService.payReverse(orderMaster.getDeptId(), financialMaster.getPaymentId(), String.valueOf(refundMoney));
|
||||
if (AdapayStatusEnum.succeeded.code.equals(response.getString("status"))) {
|
||||
if (AdapayStatusEnum.pending.code.equals(response.getString("status"))) {
|
||||
financialMaster.setPayMoney(financialMaster.getPayMoney().subtract(refundMoney));
|
||||
financialMasterService.updateFinancialMaster(financialMaster);
|
||||
financialDetailService.updateFinancialDetail(financialDetail);
|
||||
param.setOriginalRefund(refundMoney);
|
||||
} else if (AdapayStatusEnum.failed.code.equals(response.getString("status"))) {
|
||||
throw new BaseException(response.getString("error_msg"));
|
||||
throw new BaseException("发起退款异常");
|
||||
}
|
||||
} catch (BaseAdaPayException e) {
|
||||
throw new BaseException(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
// 判断子单payMoney是否已经是0了,是的话就修改子单状态为已取消;主单状态会随之更改,不用做处理。
|
||||
if (financialDetail.getPayMoney().compareTo(BigDecimal.ZERO) == 0) {
|
||||
OrderDetail orderDetail2Update = new OrderDetail();
|
||||
orderDetail2Update.setId(orderDetail.getId());
|
||||
orderDetail2Update.setOrderStatus(OrderStatus.CANCEL.code());
|
||||
int affectedOrderDetail = orderDetailService.updateOrderDetail(orderDetail);
|
||||
if (affectedOrderDetail != 1) {
|
||||
throw new Exception("子订单修改状态为已取消失败。");
|
||||
}
|
||||
}
|
||||
}
|
||||
param.setUpdateTime(DateUtils.getNowDate());
|
||||
return afterServiceRecordMapper.updateAfterServiceRecord(param);
|
||||
|
|
|
|||
|
|
@ -360,7 +360,8 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
}
|
||||
|
||||
@Override
|
||||
public int changePrice(Long orderDetailId, BigDecimal changeMoney, Integer type, String remark) {
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public int changePrice(Long orderDetailId, BigDecimal changeMoney, Integer type, String remark) throws Exception {
|
||||
OrderDetail orderDetail = orderDetailMapper.selectById(orderDetailId);
|
||||
if(orderDetail==null){
|
||||
throw new BaseException("子单不存在!");
|
||||
|
|
@ -370,13 +371,16 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
param.setOrderDetailId(orderDetailId);
|
||||
List<FinancialChangeRecord> list = financialChangeRecordService.selectFinancialChangeRecordList(param);
|
||||
FinancialChangeRecord financialChangeRecord;
|
||||
int affectedRows = 0;
|
||||
BigDecimal changeMoneyDelta = BigDecimal.ZERO;
|
||||
if(list.size() > 0){
|
||||
// 修改现有
|
||||
financialChangeRecord = list.get(0);
|
||||
changeMoneyDelta = changeMoney.subtract(financialChangeRecord.getChangeMoney());
|
||||
financialChangeRecord.setChangeMoney(changeMoney);
|
||||
financialChangeRecord.setType(type);
|
||||
financialChangeRecord.setRemark(remark);
|
||||
return financialChangeRecordService.updateFinancialChangeRecord(financialChangeRecord);
|
||||
affectedRows = financialChangeRecordService.updateFinancialChangeRecord(financialChangeRecord);
|
||||
}else {
|
||||
// 创建改单记录
|
||||
financialChangeRecord = new FinancialChangeRecord();
|
||||
|
|
@ -386,8 +390,38 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
|||
financialChangeRecord.setPayStatus(0L);
|
||||
financialChangeRecord.setType(type);
|
||||
financialChangeRecord.setRemark(remark);
|
||||
return financialChangeRecordService.insertFinancialChangeRecord(financialChangeRecord);
|
||||
affectedRows = financialChangeRecordService.insertFinancialChangeRecord(financialChangeRecord);
|
||||
changeMoneyDelta = changeMoney;
|
||||
}
|
||||
if (affectedRows != 1) {
|
||||
throw new Exception("加价记录新增或者修改失败");
|
||||
}
|
||||
|
||||
if (changeMoneyDelta.compareTo(BigDecimal.ZERO) != 0) {
|
||||
// 修改子订单的payMoney
|
||||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(orderDetailId);
|
||||
FinancialDetail financialDetail2Update = new FinancialDetail();
|
||||
financialDetail2Update.setId(financialDetail.getId());
|
||||
financialDetail2Update.setPayMoney(financialDetail.getPayMoney().add(changeMoneyDelta));
|
||||
financialDetail2Update.setPayStatus(PayStatus.WAIT_PAY.getCode());
|
||||
int affectedFinancialDetail = financialDetailService.updateFinancialDetail(financialDetail2Update);
|
||||
if (affectedFinancialDetail != 1) {
|
||||
throw new Exception("修改子订单payMoney失败,待修改信息:" + financialDetail2Update);
|
||||
}
|
||||
|
||||
// 修改主单的payMoney
|
||||
FinancialMaster financialMaster = financialMasterService.selectById(financialDetail.getFinancialMasterId());
|
||||
FinancialMaster financialMaster2Update = new FinancialMaster();
|
||||
financialMaster2Update.setId(financialMaster.getId());
|
||||
financialMaster2Update.setPayMoney(financialMaster.getPayMoney().add(changeMoneyDelta));
|
||||
financialMaster2Update.setPayStatus(PayStatus.WAIT_PAY.getCode());
|
||||
int affectedFinancialMaster = financialMasterService.updateFinancialMaster(financialMaster2Update);
|
||||
if (affectedFinancialMaster != 1) {
|
||||
throw new Exception("修改主订单payMoney失败,待修改信息:" + financialMaster2Update);
|
||||
}
|
||||
}
|
||||
|
||||
return affectedRows;
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
|
|||
|
|
@ -21,10 +21,11 @@
|
|||
<result property="updateBy" column="update_by" />
|
||||
<result property="updateTime" column="update_time" />
|
||||
<result property="remark" column="remark" />
|
||||
<result property="originalRefund" column="original_refund" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectAfterServiceRecordVo">
|
||||
select id, customer_reason_type, customer_reason, order_detail_id, oper_type, worker_feedback_result, worker_feedback_reason_type, worker_feedback_reason, refund, agreed_refund, customer_final_check, create_by, create_time, update_by, update_time, remark from after_service_record
|
||||
select id, customer_reason_type, customer_reason, order_detail_id, oper_type, worker_feedback_result, worker_feedback_reason_type, worker_feedback_reason, refund, agreed_refund, original_refund, customer_final_check, create_by, create_time, update_by, update_time, remark from after_service_record
|
||||
</sql>
|
||||
|
||||
<select id="selectAfterServiceRecordList" parameterType="AfterServiceRecord" resultMap="AfterServiceRecordResult">
|
||||
|
|
@ -40,9 +41,9 @@
|
|||
<if test="refund != null "> and refund = #{refund}</if>
|
||||
<if test="agreedRefund != null "> and agreed_refund = #{agreedRefund}</if>
|
||||
<if test="customerFinalCheck != null "> and customer_final_check = #{customerFinalCheck}</if>
|
||||
<!-- <if test="customerFinalCheck == null">-->
|
||||
<!-- and ( customer_final_check = '0' or customer_final_check is null )-->
|
||||
<!-- </if>-->
|
||||
<if test="excludeAfterServiceFinished">
|
||||
and ( customer_final_check = '0' or customer_final_check is null )
|
||||
</if>
|
||||
</where>
|
||||
</select>
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue