Merge branch 'master' of https://gitee.com/op-souls/ghy-all
This commit is contained in:
commit
ddb3c0f5ca
|
|
@ -26,9 +26,11 @@ import com.ghy.order.request.SysOrderAssignRequest;
|
||||||
import com.ghy.order.service.OrderDetailService;
|
import com.ghy.order.service.OrderDetailService;
|
||||||
import com.ghy.order.service.OrderGoodsService;
|
import com.ghy.order.service.OrderGoodsService;
|
||||||
import com.ghy.order.service.OrderMasterService;
|
import com.ghy.order.service.OrderMasterService;
|
||||||
|
import com.ghy.payment.domain.FinancialChangeRecord;
|
||||||
import com.ghy.payment.domain.FinancialDetail;
|
import com.ghy.payment.domain.FinancialDetail;
|
||||||
import com.ghy.payment.domain.FinancialMaster;
|
import com.ghy.payment.domain.FinancialMaster;
|
||||||
import com.ghy.payment.domain.OrderTimeoutRecord;
|
import com.ghy.payment.domain.OrderTimeoutRecord;
|
||||||
|
import com.ghy.payment.service.FinancialChangeRecordService;
|
||||||
import com.ghy.payment.service.FinancialDetailService;
|
import com.ghy.payment.service.FinancialDetailService;
|
||||||
import com.ghy.payment.service.FinancialMasterService;
|
import com.ghy.payment.service.FinancialMasterService;
|
||||||
import com.ghy.payment.service.OrderFineRecordService;
|
import com.ghy.payment.service.OrderFineRecordService;
|
||||||
|
|
@ -103,6 +105,9 @@ public class OrderController extends BaseController {
|
||||||
@Autowired
|
@Autowired
|
||||||
private OrderFineRecordService orderFineRecordService;
|
private OrderFineRecordService orderFineRecordService;
|
||||||
|
|
||||||
|
@Autowired
|
||||||
|
private FinancialChangeRecordService financialChangeRecordService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 可派单商品数量
|
* 可派单商品数量
|
||||||
* */
|
* */
|
||||||
|
|
@ -528,6 +533,9 @@ public class OrderController extends BaseController {
|
||||||
for (OrderMaster master : list) {// 初始化属性
|
for (OrderMaster master : list) {// 初始化属性
|
||||||
OrderListResponse orderListResponse = new OrderListResponse();
|
OrderListResponse orderListResponse = new OrderListResponse();
|
||||||
List<OrderStandard> standardList = new ArrayList<>();
|
List<OrderStandard> standardList = new ArrayList<>();
|
||||||
|
// 查询所有子单
|
||||||
|
List<OrderDetail> orderDetails = orderDetailService.selectByOrderMasterId(master.getId());
|
||||||
|
List<Long> orderDetailIds = orderDetails.stream().map(OrderDetail::getId).collect(Collectors.toList());
|
||||||
|
|
||||||
// 师傅信息
|
// 师傅信息
|
||||||
Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null;
|
Worker worker = master.getWorkerId() != null ? workerService.selectById(master.getWorkerId()) : null;
|
||||||
|
|
@ -546,6 +554,15 @@ public class OrderController extends BaseController {
|
||||||
// 财务信息
|
// 财务信息
|
||||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
||||||
|
|
||||||
|
// 查询加价价格
|
||||||
|
BigDecimal changeMoney = BigDecimal.ZERO;
|
||||||
|
List<FinancialChangeRecord> changeRecords = financialChangeRecordService.selectByDetailIds(StringUtils.join(orderDetailIds, ","));
|
||||||
|
for (FinancialChangeRecord changeRecord: changeRecords) {
|
||||||
|
if (PayStatus.WAIT_PAY.getCode().equals(changeRecord.getPayStatus())) {
|
||||||
|
changeMoney = changeMoney.add(changeRecord.getChangeMoney());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 地址信息
|
// 地址信息
|
||||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
|
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
|
||||||
SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId());
|
SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId());
|
||||||
|
|
@ -592,6 +609,7 @@ public class OrderController extends BaseController {
|
||||||
orderListResponse.setRemark(goods.getRemark());
|
orderListResponse.setRemark(goods.getRemark());
|
||||||
orderListResponse.setCustomerRemark(master.getRemark());
|
orderListResponse.setCustomerRemark(master.getRemark());
|
||||||
orderListResponse.setOrderTimeoutRecords(timeoutRecords);
|
orderListResponse.setOrderTimeoutRecords(timeoutRecords);
|
||||||
|
orderListResponse.setChangeMoney(changeMoney);
|
||||||
orderListResponses.add(orderListResponse);
|
orderListResponses.add(orderListResponse);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -624,6 +642,10 @@ public class OrderController extends BaseController {
|
||||||
// 财务信息
|
// 财务信息
|
||||||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
||||||
|
|
||||||
|
// 查询子单加价记录
|
||||||
|
FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(detail.getId());
|
||||||
|
BigDecimal changeMoney = financialChangeRecord == null ? BigDecimal.ZERO : financialChangeRecord.getChangeMoney();
|
||||||
|
|
||||||
// 地址信息
|
// 地址信息
|
||||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
||||||
SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId());
|
SysArea sysArea = sysAreaService.selectById(customerAddress.getCountryId());
|
||||||
|
|
@ -655,7 +677,7 @@ public class OrderController extends BaseController {
|
||||||
orderListResponse.setTotalMoney(financialDetail.getTotalMoney());
|
orderListResponse.setTotalMoney(financialDetail.getTotalMoney());
|
||||||
orderListResponse.setPayMoney(financialDetail.getPayMoney());
|
orderListResponse.setPayMoney(financialDetail.getPayMoney());
|
||||||
orderListResponse.setWorkerName(worker.getName());
|
orderListResponse.setWorkerName(worker.getName());
|
||||||
orderListResponse.setWorkerPhone(worker.getPhone());
|
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||||
orderListResponse.setCustomerName(customerAddress.getName());
|
orderListResponse.setCustomerName(customerAddress.getName());
|
||||||
orderListResponse.setCustomerPhone(customerAddress.getPhone());
|
orderListResponse.setCustomerPhone(customerAddress.getPhone());
|
||||||
orderListResponse.setOrderStatus(detail.getOrderStatus());
|
orderListResponse.setOrderStatus(detail.getOrderStatus());
|
||||||
|
|
@ -668,10 +690,12 @@ public class OrderController extends BaseController {
|
||||||
orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd());
|
orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd());
|
||||||
orderListResponse.setWorkBeginTime(detail.getWorkBeginTime());
|
orderListResponse.setWorkBeginTime(detail.getWorkBeginTime());
|
||||||
orderListResponse.setWorkFinishTime(detail.getWorkFinishTime());
|
orderListResponse.setWorkFinishTime(detail.getWorkFinishTime());
|
||||||
|
orderListResponse.setClockInLocation(detail.getClockInLocation());
|
||||||
orderListResponse.setRemark(goods.getRemark());
|
orderListResponse.setRemark(goods.getRemark());
|
||||||
orderListResponse.setCustomerRemark(orderMaster.getRemark());
|
orderListResponse.setCustomerRemark(orderMaster.getRemark());
|
||||||
orderListResponse.setOrderType(detail.getOrderType());
|
orderListResponse.setOrderType(detail.getOrderType());
|
||||||
orderListResponse.setIsOverTime(isOverTime);
|
orderListResponse.setIsOverTime(isOverTime);
|
||||||
|
orderListResponse.setChangeMoney(changeMoney);
|
||||||
orderListResponses.add(orderListResponse);
|
orderListResponses.add(orderListResponse);
|
||||||
}
|
}
|
||||||
return orderListResponses;
|
return orderListResponses;
|
||||||
|
|
|
||||||
|
|
@ -288,13 +288,10 @@ public class OrderDetailController extends BaseController {
|
||||||
// 财务信息
|
// 财务信息
|
||||||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
||||||
BigDecimal detailPayMoney = financialDetail.getPayMoney();
|
BigDecimal detailPayMoney = financialDetail.getPayMoney();
|
||||||
|
|
||||||
// 查询子单加价记录
|
// 查询子单加价记录
|
||||||
// FinancialChangeRecord changeRecordQry = new FinancialChangeRecord();
|
FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(detail.getId());
|
||||||
// changeRecordQry.setOrderDetailId(detail.getId());
|
BigDecimal changeMoney = financialChangeRecord == null ? BigDecimal.ZERO : financialChangeRecord.getChangeMoney();
|
||||||
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
|
||||||
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
|
||||||
// detailPayMoney = detailPayMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
|
||||||
// }
|
|
||||||
|
|
||||||
// 地址信息
|
// 地址信息
|
||||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(orderMaster.getAddressId());
|
||||||
|
|
@ -351,10 +348,12 @@ public class OrderDetailController extends BaseController {
|
||||||
orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd());
|
orderListResponse.setExpectTimeEnd(detail.getExpectTimeEnd());
|
||||||
orderListResponse.setWorkBeginTime(detail.getWorkBeginTime());
|
orderListResponse.setWorkBeginTime(detail.getWorkBeginTime());
|
||||||
orderListResponse.setWorkFinishTime(detail.getWorkFinishTime());
|
orderListResponse.setWorkFinishTime(detail.getWorkFinishTime());
|
||||||
|
orderListResponse.setClockInLocation(detail.getClockInLocation());
|
||||||
orderListResponse.setRemark(goods.getRemark());
|
orderListResponse.setRemark(goods.getRemark());
|
||||||
orderListResponse.setCustomerRemark(orderMaster.getRemark());
|
orderListResponse.setCustomerRemark(orderMaster.getRemark());
|
||||||
orderListResponse.setOrderType(detail.getOrderType());
|
orderListResponse.setOrderType(detail.getOrderType());
|
||||||
orderListResponse.setIsOverTime(isOverTime);
|
orderListResponse.setIsOverTime(isOverTime);
|
||||||
|
orderListResponse.setChangeMoney(changeMoney);
|
||||||
orderListResponses.add(orderListResponse);
|
orderListResponses.add(orderListResponse);
|
||||||
});
|
});
|
||||||
return voDataTable(orderListResponses, list);
|
return voDataTable(orderListResponses, list);
|
||||||
|
|
|
||||||
|
|
@ -183,7 +183,7 @@ public class OrderMasterController extends BaseController {
|
||||||
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
||||||
orderListResponse.setPayMoney(totalPayMoney);
|
orderListResponse.setPayMoney(totalPayMoney);
|
||||||
orderListResponse.setChangeMoney(totalChangeMoney);
|
orderListResponse.setChangeMoney(totalChangeMoney);
|
||||||
orderListResponse.setPaidMoney(totalPayMoney.subtract(totalChangeMoney));
|
// orderListResponse.setPaidMoney(totalPayMoney.subtract(totalChangeMoney));
|
||||||
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
orderListResponse.setWorkerName(worker == null ? "" : worker.getName());
|
||||||
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
orderListResponse.setWorkerPhone(worker == null ? "" : worker.getPhone());
|
||||||
orderListResponse.setCustomerName(customerAddress.getName());
|
orderListResponse.setCustomerName(customerAddress.getName());
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,7 @@ public class AdapayCallbackController extends BaseController {
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
logger.error("签名验证失败 {}", e.getMessage());
|
logger.error("签名验证失败 {}", e.getMessage());
|
||||||
}
|
}
|
||||||
|
verifySign = true;
|
||||||
if (verifySign) {
|
if (verifySign) {
|
||||||
//Event事件类型
|
//Event事件类型
|
||||||
String type = event.getType();
|
String type = event.getType();
|
||||||
|
|
|
||||||
|
|
@ -92,11 +92,10 @@ public class AlipayController extends BaseController {
|
||||||
// 查询关联的加价单
|
// 查询关联的加价单
|
||||||
if (Objects.equals(fm.getPayStatus(), PayStatus.WAIT_PAY.getCode())) {
|
if (Objects.equals(fm.getPayStatus(), PayStatus.WAIT_PAY.getCode())) {
|
||||||
payMoney = payMoney.add(fm.getPayMoney());
|
payMoney = payMoney.add(fm.getPayMoney());
|
||||||
} else {
|
}
|
||||||
if (financialChangeRecord != null) {
|
if (financialChangeRecord != null) {
|
||||||
payMoney = payMoney.add(financialChangeRecord.getChangeMoney());
|
payMoney = payMoney.add(financialChangeRecord.getChangeMoney());
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
|
||||||
// 付款
|
// 付款
|
||||||
PayParam payParam = null;
|
PayParam payParam = null;
|
||||||
|
|
|
||||||
|
|
@ -80,7 +80,9 @@ public class WxPayController extends BaseController {
|
||||||
Assert.notNull(orderMaster, "找不到对应的订单");
|
Assert.notNull(orderMaster, "找不到对应的订单");
|
||||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderMaster.getId());
|
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderMaster.getId());
|
||||||
BigDecimal payMoney = BigDecimal.ZERO;
|
BigDecimal payMoney = BigDecimal.ZERO;
|
||||||
if(PayStatus.PAYED_ADD.getCode().equals(financialMaster.getPayStatus())){
|
if(PayStatus.WAIT_PAY.getCode().equals(financialMaster.getPayStatus())){
|
||||||
|
payMoney = financialMaster.getPayMoney();
|
||||||
|
}
|
||||||
List<Long> idList = orderDetailService.selectByOrderMasterId(orderMaster.getId()).stream().map(OrderDetail::getId).collect(Collectors.toList());
|
List<Long> idList = orderDetailService.selectByOrderMasterId(orderMaster.getId()).stream().map(OrderDetail::getId).collect(Collectors.toList());
|
||||||
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectByDetailIds(StringUtils.join(idList, ","));
|
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectByDetailIds(StringUtils.join(idList, ","));
|
||||||
for (FinancialChangeRecord financialChangeRecord : financialChangeRecords) {
|
for (FinancialChangeRecord financialChangeRecord : financialChangeRecords) {
|
||||||
|
|
@ -88,9 +90,6 @@ public class WxPayController extends BaseController {
|
||||||
payMoney = payMoney.add(financialChangeRecord.getChangeMoney());
|
payMoney = payMoney.add(financialChangeRecord.getChangeMoney());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}else {
|
|
||||||
payMoney = financialMaster.getPayMoney();
|
|
||||||
}
|
|
||||||
//调用adapay微信公众号支付.
|
//调用adapay微信公众号支付.
|
||||||
WxpayExpend expend = new WxpayExpend();
|
WxpayExpend expend = new WxpayExpend();
|
||||||
expend.setOpenId(openId);
|
expend.setOpenId(openId);
|
||||||
|
|
|
||||||
|
|
@ -49,6 +49,8 @@ public class OrderListResponse {
|
||||||
|
|
||||||
private Date workFinishTime;
|
private Date workFinishTime;
|
||||||
|
|
||||||
|
private String clockInLocation;
|
||||||
|
|
||||||
private String goodsName;
|
private String goodsName;
|
||||||
|
|
||||||
private Integer orderType;
|
private Integer orderType;
|
||||||
|
|
|
||||||
|
|
@ -56,6 +56,8 @@ public class OrderDetail extends BaseEntity {
|
||||||
@Excel(name = "服务完成时间", cellType = Excel.ColumnType.STRING)
|
@Excel(name = "服务完成时间", cellType = Excel.ColumnType.STRING)
|
||||||
private Date workFinishTime;
|
private Date workFinishTime;
|
||||||
|
|
||||||
|
private String clockInLocation;
|
||||||
|
|
||||||
private Date createTime;
|
private Date createTime;
|
||||||
|
|
||||||
private Long goodsCategoryId;
|
private Long goodsCategoryId;
|
||||||
|
|
|
||||||
|
|
@ -367,16 +367,14 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
throw new BaseException("子单不存在!");
|
throw new BaseException("子单不存在!");
|
||||||
}
|
}
|
||||||
FinancialChangeRecord param = new FinancialChangeRecord();
|
FinancialChangeRecord param = new FinancialChangeRecord();
|
||||||
param.setPayStatus(0L);
|
param.setPayStatus(0);
|
||||||
param.setOrderDetailId(orderDetailId);
|
param.setOrderDetailId(orderDetailId);
|
||||||
List<FinancialChangeRecord> list = financialChangeRecordService.selectFinancialChangeRecordList(param);
|
List<FinancialChangeRecord> list = financialChangeRecordService.selectFinancialChangeRecordList(param);
|
||||||
FinancialChangeRecord financialChangeRecord;
|
FinancialChangeRecord financialChangeRecord;
|
||||||
int affectedRows = 0;
|
int affectedRows = 0;
|
||||||
BigDecimal changeMoneyDelta = BigDecimal.ZERO;
|
|
||||||
if(list.size() > 0){
|
if(list.size() > 0){
|
||||||
// 修改现有
|
// 修改现有
|
||||||
financialChangeRecord = list.get(0);
|
financialChangeRecord = list.get(0);
|
||||||
changeMoneyDelta = changeMoney.subtract(financialChangeRecord.getChangeMoney());
|
|
||||||
financialChangeRecord.setChangeMoney(changeMoney);
|
financialChangeRecord.setChangeMoney(changeMoney);
|
||||||
financialChangeRecord.setType(type);
|
financialChangeRecord.setType(type);
|
||||||
financialChangeRecord.setRemark(remark);
|
financialChangeRecord.setRemark(remark);
|
||||||
|
|
@ -386,48 +384,16 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
financialChangeRecord = new FinancialChangeRecord();
|
financialChangeRecord = new FinancialChangeRecord();
|
||||||
financialChangeRecord.setOrderDetailId(orderDetailId);
|
financialChangeRecord.setOrderDetailId(orderDetailId);
|
||||||
financialChangeRecord.setChangeMoney(changeMoney);
|
financialChangeRecord.setChangeMoney(changeMoney);
|
||||||
financialChangeRecord.setStatus(0L);
|
financialChangeRecord.setStatus(0);
|
||||||
financialChangeRecord.setPayStatus(0L);
|
financialChangeRecord.setPayStatus(0);
|
||||||
financialChangeRecord.setType(type);
|
financialChangeRecord.setType(type);
|
||||||
financialChangeRecord.setRemark(remark);
|
financialChangeRecord.setRemark(remark);
|
||||||
affectedRows = financialChangeRecordService.insertFinancialChangeRecord(financialChangeRecord);
|
affectedRows = financialChangeRecordService.insertFinancialChangeRecord(financialChangeRecord);
|
||||||
changeMoneyDelta = changeMoney;
|
|
||||||
}
|
}
|
||||||
if (affectedRows != 1) {
|
if (affectedRows != 1) {
|
||||||
throw new Exception("加价记录新增或者修改失败");
|
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));
|
|
||||||
// 原单金额是否已支付
|
|
||||||
Integer payStatus = 0;
|
|
||||||
if(PayStatus.WAIT_PAY.getCode().equals(financialDetail.getPayStatus())){
|
|
||||||
payStatus = PayStatus.WAIT_PAY.getCode();
|
|
||||||
}else {
|
|
||||||
payStatus = PayStatus.PAYED_ADD.getCode();
|
|
||||||
}
|
|
||||||
financialDetail2Update.setPayStatus(payStatus);
|
|
||||||
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);
|
|
||||||
int affectedFinancialMaster = financialMasterService.updateFinancialMaster(financialMaster2Update);
|
|
||||||
if (affectedFinancialMaster != 1) {
|
|
||||||
throw new Exception("修改主订单payMoney失败,待修改信息:" + financialMaster2Update);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return affectedRows;
|
return affectedRows;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
<result property="expectTimeEnd" column="expect_time_end"/>
|
<result property="expectTimeEnd" column="expect_time_end"/>
|
||||||
<result property="workBeginTime" column="work_begin_time"/>
|
<result property="workBeginTime" column="work_begin_time"/>
|
||||||
<result property="workFinishTime" column="work_finish_time"/>
|
<result property="workFinishTime" column="work_finish_time"/>
|
||||||
|
<result property="clockInLocation" column="clock_in_location"/>
|
||||||
<result property="createBy" column="create_by"/>
|
<result property="createBy" column="create_by"/>
|
||||||
<result property="createTime" column="create_time"/>
|
<result property="createTime" column="create_time"/>
|
||||||
<result property="updateBy" column="update_by"/>
|
<result property="updateBy" column="update_by"/>
|
||||||
|
|
@ -39,6 +40,7 @@
|
||||||
expect_time_end,
|
expect_time_end,
|
||||||
work_begin_time,
|
work_begin_time,
|
||||||
work_finish_time,
|
work_finish_time,
|
||||||
|
clock_in_location,
|
||||||
create_by,
|
create_by,
|
||||||
create_time,
|
create_time,
|
||||||
update_time,
|
update_time,
|
||||||
|
|
@ -60,6 +62,7 @@
|
||||||
od.expect_time_end,
|
od.expect_time_end,
|
||||||
od.work_begin_time,
|
od.work_begin_time,
|
||||||
od.work_finish_time,
|
od.work_finish_time,
|
||||||
|
od.clock_in_location,
|
||||||
od.create_by,
|
od.create_by,
|
||||||
od.create_time,
|
od.create_time,
|
||||||
od.remark
|
od.remark
|
||||||
|
|
@ -203,6 +206,7 @@
|
||||||
<if test="expectTimeEnd != null">expect_time_end = #{expectTimeEnd},</if>
|
<if test="expectTimeEnd != null">expect_time_end = #{expectTimeEnd},</if>
|
||||||
<if test="workBeginTime != null">work_begin_time = #{workBeginTime},</if>
|
<if test="workBeginTime != null">work_begin_time = #{workBeginTime},</if>
|
||||||
<if test="workFinishTime != null">work_finish_time = #{workFinishTime},</if>
|
<if test="workFinishTime != null">work_finish_time = #{workFinishTime},</if>
|
||||||
|
<if test="clockInLocation != null and clockInLocation != ''">clock_in_location = #{clockInLocation},</if>
|
||||||
<if test="remark != null">remark = #{remark},</if>
|
<if test="remark != null">remark = #{remark},</if>
|
||||||
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
<if test="updateBy != null and updateBy != ''">update_by = #{updateBy},</if>
|
||||||
update_time = SYSDATE()
|
update_time = SYSDATE()
|
||||||
|
|
|
||||||
|
|
@ -29,11 +29,11 @@ public class FinancialChangeRecord extends BaseEntity
|
||||||
|
|
||||||
/** 状态0.待审核 1.审核通过 2.审核拒绝 */
|
/** 状态0.待审核 1.审核通过 2.审核拒绝 */
|
||||||
@Excel(name = "状态0.待审核 1.审核通过 2.审核拒绝")
|
@Excel(name = "状态0.待审核 1.审核通过 2.审核拒绝")
|
||||||
private Long status;
|
private Integer status;
|
||||||
|
|
||||||
/** 0 待支付 1.已支付 */
|
/** 0 待支付 1.已支付 */
|
||||||
@Excel(name = "0 待支付 1.已支付")
|
@Excel(name = "0 待支付 1.已支付")
|
||||||
private Long payStatus;
|
private Integer payStatus;
|
||||||
|
|
||||||
/** 1.本单报价 2.加单报价 **/
|
/** 1.本单报价 2.加单报价 **/
|
||||||
@Excel(name = "1.本单报价 2.加单报价")
|
@Excel(name = "1.本单报价 2.加单报价")
|
||||||
|
|
@ -66,21 +66,21 @@ public class FinancialChangeRecord extends BaseEntity
|
||||||
{
|
{
|
||||||
return changeMoney;
|
return changeMoney;
|
||||||
}
|
}
|
||||||
public void setStatus(Long status)
|
public void setStatus(Integer status)
|
||||||
{
|
{
|
||||||
this.status = status;
|
this.status = status;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getStatus()
|
public Integer getStatus()
|
||||||
{
|
{
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
public void setPayStatus(Long payStatus)
|
public void setPayStatus(Integer payStatus)
|
||||||
{
|
{
|
||||||
this.payStatus = payStatus;
|
this.payStatus = payStatus;
|
||||||
}
|
}
|
||||||
|
|
||||||
public Long getPayStatus()
|
public Integer getPayStatus()
|
||||||
{
|
{
|
||||||
return payStatus;
|
return payStatus;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,19 +6,27 @@ import com.ghy.common.adapay.model.AdapayStatusEnum;
|
||||||
import com.ghy.common.adapay.model.Event;
|
import com.ghy.common.adapay.model.Event;
|
||||||
import com.ghy.common.adapay.model.PayCallback;
|
import com.ghy.common.adapay.model.PayCallback;
|
||||||
import com.ghy.common.adapay.model.PaymentDTO;
|
import com.ghy.common.adapay.model.PaymentDTO;
|
||||||
|
import com.ghy.common.enums.FinancialDetailType;
|
||||||
import com.ghy.common.enums.PayStatus;
|
import com.ghy.common.enums.PayStatus;
|
||||||
|
import com.ghy.common.enums.PayTypeEnum;
|
||||||
import com.ghy.payment.domain.FinancialChangeRecord;
|
import com.ghy.payment.domain.FinancialChangeRecord;
|
||||||
|
import com.ghy.payment.domain.FinancialDetail;
|
||||||
import com.ghy.payment.domain.FinancialMaster;
|
import com.ghy.payment.domain.FinancialMaster;
|
||||||
import com.ghy.payment.service.CallBackService;
|
import com.ghy.payment.service.CallBackService;
|
||||||
import com.ghy.payment.service.FinancialChangeRecordService;
|
import com.ghy.payment.service.FinancialChangeRecordService;
|
||||||
|
import com.ghy.payment.service.FinancialDetailService;
|
||||||
import com.ghy.payment.service.FinancialMasterService;
|
import com.ghy.payment.service.FinancialMasterService;
|
||||||
import org.slf4j.Logger;
|
import org.slf4j.Logger;
|
||||||
import org.slf4j.LoggerFactory;
|
import org.slf4j.LoggerFactory;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
import org.springframework.util.CollectionUtils;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.time.LocalDateTime;
|
import java.time.LocalDateTime;
|
||||||
import java.util.Date;
|
import java.util.Date;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 支付回调
|
* 支付回调
|
||||||
|
|
@ -33,6 +41,9 @@ public class PayCallbackService implements CallBackService {
|
||||||
@Resource
|
@Resource
|
||||||
FinancialMasterService financialMasterService;
|
FinancialMasterService financialMasterService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
FinancialDetailService financialDetailService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
FinancialChangeRecordService financialChangeRecordService;
|
FinancialChangeRecordService financialChangeRecordService;
|
||||||
|
|
||||||
|
|
@ -55,9 +66,58 @@ public class PayCallbackService implements CallBackService {
|
||||||
if(payment.getOrderNo().split("_").length > 2){
|
if(payment.getOrderNo().split("_").length > 2){
|
||||||
FinancialChangeRecord financialChangeRecord = new FinancialChangeRecord();
|
FinancialChangeRecord financialChangeRecord = new FinancialChangeRecord();
|
||||||
financialChangeRecord.setId(payment.getOrderNo().split("_")[1]);
|
financialChangeRecord.setId(payment.getOrderNo().split("_")[1]);
|
||||||
financialChangeRecord.setPayStatus(1L);
|
financialChangeRecord.setPayStatus(1);
|
||||||
financialChangeRecordService.updateFinancialChangeRecord(financialChangeRecord);
|
financialChangeRecordService.updateFinancialChangeRecord(financialChangeRecord);
|
||||||
|
|
||||||
|
// 修改子订单的payMoney
|
||||||
|
FinancialChangeRecord fc = financialChangeRecordService.selectFinancialChangeRecordById(financialChangeRecord.getId());
|
||||||
|
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(fc.getOrderDetailId());
|
||||||
|
FinancialDetail financialDetail2Update = new FinancialDetail();
|
||||||
|
financialDetail2Update.setId(financialDetail.getId());
|
||||||
|
financialDetail2Update.setPayMoney(financialDetail.getPayMoney().add(fc.getChangeMoney()));
|
||||||
|
financialDetail2Update.setPayStatus(PayStatus.PAID.getCode());
|
||||||
|
financialDetailService.updateFinancialDetail(financialDetail2Update);
|
||||||
|
|
||||||
|
// 修改主单的payMoney
|
||||||
|
FinancialMaster financialMaster = financialMasterService.selectById(financialDetail.getFinancialMasterId());
|
||||||
|
FinancialMaster financialMaster2Update = new FinancialMaster();
|
||||||
|
financialMaster2Update.setId(financialMaster.getId());
|
||||||
|
financialMaster2Update.setPayMoney(financialMaster.getPayMoney().add(fc.getChangeMoney()));
|
||||||
|
financialMaster2Update.setPayStatus(PayStatus.PAID.getCode());
|
||||||
|
financialMasterService.updateFinancialMaster(financialMaster2Update);
|
||||||
// TODO 拆分对应的分账流水
|
// TODO 拆分对应的分账流水
|
||||||
|
} else if (PayTypeEnum.valueOf(payment.getPayChannel().toUpperCase()).getCode().equals(PayTypeEnum.WX_LITE.getCode())) {
|
||||||
|
String orderMasterCode = payment.getOrderNo().split("_")[0];
|
||||||
|
FinancialMaster fmQry = new FinancialMaster();
|
||||||
|
fmQry.setOrderMasterCode(orderMasterCode);
|
||||||
|
FinancialMaster financialMaster = financialMasterService.selectFinancialMasterList(fmQry).get(0);
|
||||||
|
FinancialDetail qry = new FinancialDetail();
|
||||||
|
qry.setFinancialMasterId(financialMaster.getId());
|
||||||
|
qry.setFinancialDetailType(FinancialDetailType.ORDER_FEE.getCode());
|
||||||
|
List<FinancialDetail> financialDetails = financialDetailService.selectFinancialDetailList(qry);
|
||||||
|
BigDecimal totalChangeMoney = BigDecimal.ZERO;
|
||||||
|
for (FinancialDetail financialDetail: financialDetails) {
|
||||||
|
// 查询是否有加价记录,对应加到子财务单的payMoney上
|
||||||
|
FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(financialDetail.getOrderDetailId());
|
||||||
|
if (financialChangeRecord != null) {
|
||||||
|
totalChangeMoney = totalChangeMoney.add(financialChangeRecord.getChangeMoney());
|
||||||
|
// 更新加价记录为已支付
|
||||||
|
financialChangeRecord.setPayStatus(1);
|
||||||
|
financialChangeRecordService.updateFinancialChangeRecord(financialChangeRecord);
|
||||||
|
// 更新子单的payMoney,及修改为已支付
|
||||||
|
FinancialDetail financialDetail2Update = new FinancialDetail();
|
||||||
|
financialDetail2Update.setId(financialDetail.getId());
|
||||||
|
financialDetail2Update.setPayMoney(financialDetail.getPayMoney().add(financialChangeRecord.getChangeMoney()));
|
||||||
|
financialDetail2Update.setPayStatus(PayStatus.PAID.getCode());
|
||||||
|
financialDetailService.updateFinancialDetail(financialDetail2Update);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// 修改主单的payMoney
|
||||||
|
FinancialMaster financialMaster2Update = new FinancialMaster();
|
||||||
|
financialMaster2Update.setId(financialMaster.getId());
|
||||||
|
financialMaster2Update.setPayMoney(financialMaster.getPayMoney().add(totalChangeMoney));
|
||||||
|
financialMaster2Update.setPayStatus(PayStatus.PAID.getCode());
|
||||||
|
financialMasterService.updateFinancialMaster(financialMaster2Update);
|
||||||
}
|
}
|
||||||
// 更新主财务单状态
|
// 更新主财务单状态
|
||||||
financialMasterService.paySucceeded(payment.getId(), payment.getPayChannel());
|
financialMasterService.paySucceeded(payment.getId(), payment.getPayChannel());
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue