原单已支付加价
This commit is contained in:
parent
f680581fc8
commit
3abc26165d
|
|
@ -144,17 +144,14 @@ 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 changeRecordQry = new FinancialChangeRecord();
|
FinancialChangeRecord record = financialChangeRecordService.selectNotPayRecordByDetailId(detail.getId());
|
||||||
// changeRecordQry.setOrderDetailId(detail.getId());
|
if (record != null) {
|
||||||
// List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectFinancialChangeRecordList(changeRecordQry);
|
totalChangeMoney = totalChangeMoney.add(record.getChangeMoney());
|
||||||
// if (CollectionUtils.isNotEmpty(financialChangeRecords)) {
|
}
|
||||||
// totalChangeMoney = totalChangeMoney.add(financialChangeRecords.get(0).getChangeMoney());
|
}
|
||||||
// }
|
|
||||||
// }
|
|
||||||
// totalPayMoney = totalPayMoney.add(totalChangeMoney);
|
|
||||||
|
|
||||||
// 地址信息
|
// 地址信息
|
||||||
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
|
CustomerAddress customerAddress = addressService.selectByCustomerAddressId(master.getAddressId());
|
||||||
|
|
@ -185,7 +182,7 @@ public class OrderMasterController extends BaseController {
|
||||||
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
|
orderListResponse.setDiscountMoney(financialMaster.getDiscountMoney());
|
||||||
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
orderListResponse.setTotalMoney(financialMaster.getTotalMoney());
|
||||||
orderListResponse.setPayMoney(totalPayMoney);
|
orderListResponse.setPayMoney(totalPayMoney);
|
||||||
// orderListResponse.setChangeMoney(totalChangeMoney);
|
orderListResponse.setChangeMoney(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());
|
||||||
|
|
@ -194,7 +191,7 @@ public class OrderMasterController extends BaseController {
|
||||||
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
|
orderListResponse.setExpectTimeStart(master.getExpectTimeStart());
|
||||||
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
|
orderListResponse.setExpectTimeEnd(master.getExpectTimeEnd());
|
||||||
orderListResponse.setOrderStatus(master.getOrderStatus());
|
orderListResponse.setOrderStatus(master.getOrderStatus());
|
||||||
orderListResponse.setPayStatus(master.getPayStatus());
|
orderListResponse.setPayStatus(financialMaster.getPayStatus());
|
||||||
orderListResponse.setPayType(master.getPayType());
|
orderListResponse.setPayType(master.getPayType());
|
||||||
orderListResponse.setOrderMasterCode(master.getCode());
|
orderListResponse.setOrderMasterCode(master.getCode());
|
||||||
orderListResponse.setStandardList(standardList);
|
orderListResponse.setStandardList(standardList);
|
||||||
|
|
|
||||||
|
|
@ -88,14 +88,16 @@ public class AlipayController extends BaseController {
|
||||||
return AjaxResult.error("财务单不存在!");
|
return AjaxResult.error("财务单不存在!");
|
||||||
}
|
}
|
||||||
// 主单是否付款
|
// 主单是否付款
|
||||||
|
FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(orderDetailId);
|
||||||
|
// 查询关联的加价单
|
||||||
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) {
|
||||||
|
payMoney = payMoney.add(financialChangeRecord.getChangeMoney());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
// 查询关联的加价单
|
|
||||||
FinancialChangeRecord financialChangeRecord = financialChangeRecordService.selectNotPayRecordByDetailId(orderDetailId);
|
|
||||||
if (financialChangeRecord != null) {
|
|
||||||
payMoney = payMoney.add(financialChangeRecord.getChangeMoney());
|
|
||||||
}
|
|
||||||
// 付款
|
// 付款
|
||||||
PayParam payParam = null;
|
PayParam payParam = null;
|
||||||
if (financialChangeRecord == null) {
|
if (financialChangeRecord == null) {
|
||||||
|
|
|
||||||
|
|
@ -6,12 +6,18 @@ import com.ghy.common.adapay.model.WxpayExpend;
|
||||||
import com.ghy.common.config.WxConfig;
|
import com.ghy.common.config.WxConfig;
|
||||||
import com.ghy.common.core.controller.BaseController;
|
import com.ghy.common.core.controller.BaseController;
|
||||||
import com.ghy.common.core.domain.AjaxResult;
|
import com.ghy.common.core.domain.AjaxResult;
|
||||||
|
import com.ghy.common.enums.PayStatus;
|
||||||
import com.ghy.common.json.JSONObject;
|
import com.ghy.common.json.JSONObject;
|
||||||
import com.ghy.common.utils.ExceptionUtil;
|
import com.ghy.common.utils.ExceptionUtil;
|
||||||
|
import com.ghy.common.utils.StringUtils;
|
||||||
|
import com.ghy.order.domain.OrderDetail;
|
||||||
import com.ghy.order.domain.OrderMaster;
|
import com.ghy.order.domain.OrderMaster;
|
||||||
|
import com.ghy.order.service.OrderDetailService;
|
||||||
import com.ghy.order.service.OrderMasterService;
|
import com.ghy.order.service.OrderMasterService;
|
||||||
|
import com.ghy.payment.domain.FinancialChangeRecord;
|
||||||
import com.ghy.payment.domain.FinancialMaster;
|
import com.ghy.payment.domain.FinancialMaster;
|
||||||
import com.ghy.payment.service.AdapayService;
|
import com.ghy.payment.service.AdapayService;
|
||||||
|
import com.ghy.payment.service.FinancialChangeRecordService;
|
||||||
import com.ghy.payment.service.FinancialMasterService;
|
import com.ghy.payment.service.FinancialMasterService;
|
||||||
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
import com.huifu.adapay.core.exception.BaseAdaPayException;
|
||||||
import org.springframework.stereotype.Controller;
|
import org.springframework.stereotype.Controller;
|
||||||
|
|
@ -20,9 +26,11 @@ import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
@Controller
|
@Controller
|
||||||
@RequestMapping("/pay/wx")
|
@RequestMapping("/pay/wx")
|
||||||
|
|
@ -36,6 +44,11 @@ public class WxPayController extends BaseController {
|
||||||
private OrderMasterService orderMasterService;
|
private OrderMasterService orderMasterService;
|
||||||
@Resource
|
@Resource
|
||||||
private FinancialMasterService financialMasterService;
|
private FinancialMasterService financialMasterService;
|
||||||
|
@Resource
|
||||||
|
private OrderDetailService orderDetailService;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private FinancialChangeRecordService financialChangeRecordService;
|
||||||
|
|
||||||
@PostMapping("drawCash")
|
@PostMapping("drawCash")
|
||||||
@ResponseBody
|
@ResponseBody
|
||||||
|
|
@ -66,16 +79,28 @@ public class WxPayController extends BaseController {
|
||||||
OrderMaster orderMaster = orderMasterService.selectByCode(orderMasterCode);
|
OrderMaster orderMaster = orderMasterService.selectByCode(orderMasterCode);
|
||||||
Assert.notNull(orderMaster, "找不到对应的订单");
|
Assert.notNull(orderMaster, "找不到对应的订单");
|
||||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderMaster.getId());
|
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(orderMaster.getId());
|
||||||
|
BigDecimal payMoney = BigDecimal.ZERO;
|
||||||
|
if(PayStatus.PAYED_ADD.getCode().equals(financialMaster.getPayStatus())){
|
||||||
|
List<Long> idList = orderDetailService.selectByOrderMasterId(orderMaster.getId()).stream().map(OrderDetail::getId).collect(Collectors.toList());
|
||||||
|
List<FinancialChangeRecord> financialChangeRecords = financialChangeRecordService.selectByDetailIds(StringUtils.join(idList, ","));
|
||||||
|
for (FinancialChangeRecord financialChangeRecord : financialChangeRecords) {
|
||||||
|
if (PayStatus.WAIT_PAY.getCode().toString().equals(String.valueOf(financialChangeRecord.getPayStatus()))) {
|
||||||
|
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);
|
||||||
Map<String, Object> map;
|
Map<String, Object> map;
|
||||||
try {
|
try {
|
||||||
List<DivMember> divMembers = new ArrayList<>();
|
List<DivMember> divMembers = new ArrayList<>();
|
||||||
divMembers.add(new DivMember("C7D101", String.valueOf(financialMaster.getPayMoney()), true));
|
// divMembers.add(new DivMember("C7D101", String.valueOf(financialMaster.getPayMoney()), true));
|
||||||
// TODO 订单里需要补充支付金额、tittle、简要描述、分账信息、description
|
// TODO 订单里需要补充支付金额、tittle、简要描述、分账信息、description
|
||||||
PayParam payParam = PayParam.delayPayParam(orderMaster.getCode() + "_" + System.currentTimeMillis(),
|
PayParam payParam = PayParam.delayPayParam(orderMaster.getCode() + "_" + System.currentTimeMillis(),
|
||||||
String.valueOf(financialMaster.getPayMoney()), "工圈子居家设备", "工圈子居家设备购买付费");
|
String.valueOf(payMoney), "工圈子居家设备", "工圈子居家设备购买付费");
|
||||||
map = adapayService.wxLitePay(orderMaster.getDeptId(), payParam, expend, null, null);
|
map = adapayService.wxLitePay(orderMaster.getDeptId(), payParam, expend, null, null);
|
||||||
} catch (BaseAdaPayException e) {
|
} catch (BaseAdaPayException e) {
|
||||||
logger.error("获取微信用户信息失败", e);
|
logger.error("获取微信用户信息失败", e);
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,8 @@ public enum PayStatus {
|
||||||
WAIT_PAY(0, "待支付"),
|
WAIT_PAY(0, "待支付"),
|
||||||
PAID(1, "已支付"),
|
PAID(1, "已支付"),
|
||||||
CANCEL(2, "已取消"),
|
CANCEL(2, "已取消"),
|
||||||
REFUND(3, "已退款");
|
REFUND(3, "已退款"),
|
||||||
|
PAYED_ADD(4, "加价原单已付款");
|
||||||
|
|
||||||
private final Integer code;
|
private final Integer code;
|
||||||
private final String desc;
|
private final String desc;
|
||||||
|
|
|
||||||
|
|
@ -46,6 +46,8 @@ public class OrderMaster extends BaseEntity {
|
||||||
@Excel(name = "付款状态", cellType = Excel.ColumnType.NUMERIC)
|
@Excel(name = "付款状态", cellType = Excel.ColumnType.NUMERIC)
|
||||||
private Integer payStatus;
|
private Integer payStatus;
|
||||||
|
|
||||||
|
private String payStatusList;
|
||||||
|
|
||||||
@Excel(name = "接单师傅id", cellType = Excel.ColumnType.NUMERIC)
|
@Excel(name = "接单师傅id", cellType = Excel.ColumnType.NUMERIC)
|
||||||
private Long workerId;
|
private Long workerId;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -403,7 +403,14 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
FinancialDetail financialDetail2Update = new FinancialDetail();
|
FinancialDetail financialDetail2Update = new FinancialDetail();
|
||||||
financialDetail2Update.setId(financialDetail.getId());
|
financialDetail2Update.setId(financialDetail.getId());
|
||||||
financialDetail2Update.setPayMoney(financialDetail.getPayMoney().add(changeMoneyDelta));
|
financialDetail2Update.setPayMoney(financialDetail.getPayMoney().add(changeMoneyDelta));
|
||||||
financialDetail2Update.setPayStatus(PayStatus.WAIT_PAY.getCode());
|
// 原单金额是否已支付
|
||||||
|
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);
|
int affectedFinancialDetail = financialDetailService.updateFinancialDetail(financialDetail2Update);
|
||||||
if (affectedFinancialDetail != 1) {
|
if (affectedFinancialDetail != 1) {
|
||||||
throw new Exception("修改子订单payMoney失败,待修改信息:" + financialDetail2Update);
|
throw new Exception("修改子订单payMoney失败,待修改信息:" + financialDetail2Update);
|
||||||
|
|
@ -414,7 +421,7 @@ public class OrderDetailServiceImpl implements OrderDetailService {
|
||||||
FinancialMaster financialMaster2Update = new FinancialMaster();
|
FinancialMaster financialMaster2Update = new FinancialMaster();
|
||||||
financialMaster2Update.setId(financialMaster.getId());
|
financialMaster2Update.setId(financialMaster.getId());
|
||||||
financialMaster2Update.setPayMoney(financialMaster.getPayMoney().add(changeMoneyDelta));
|
financialMaster2Update.setPayMoney(financialMaster.getPayMoney().add(changeMoneyDelta));
|
||||||
financialMaster2Update.setPayStatus(PayStatus.WAIT_PAY.getCode());
|
financialMaster2Update.setPayStatus(payStatus);
|
||||||
int affectedFinancialMaster = financialMasterService.updateFinancialMaster(financialMaster2Update);
|
int affectedFinancialMaster = financialMasterService.updateFinancialMaster(financialMaster2Update);
|
||||||
if (affectedFinancialMaster != 1) {
|
if (affectedFinancialMaster != 1) {
|
||||||
throw new Exception("修改主订单payMoney失败,待修改信息:" + financialMaster2Update);
|
throw new Exception("修改主订单payMoney失败,待修改信息:" + financialMaster2Update);
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,9 @@
|
||||||
<if test="payStatus != null">
|
<if test="payStatus != null">
|
||||||
AND om.pay_status = #{payStatus}
|
AND om.pay_status = #{payStatus}
|
||||||
</if>
|
</if>
|
||||||
|
<if test="payStatusList != null">
|
||||||
|
AND om.pay_status in ( #{payStatusList} )
|
||||||
|
</if>
|
||||||
<if test="workerId != null and workerId > 0">
|
<if test="workerId != null and workerId > 0">
|
||||||
AND om.worker_id = #{workerId}
|
AND om.worker_id = #{workerId}
|
||||||
</if>
|
</if>
|
||||||
|
|
|
||||||
|
|
@ -1,6 +1,7 @@
|
||||||
package com.ghy.payment.mapper;
|
package com.ghy.payment.mapper;
|
||||||
|
|
||||||
import com.ghy.payment.domain.FinancialChangeRecord;
|
import com.ghy.payment.domain.FinancialChangeRecord;
|
||||||
|
import org.apache.ibatis.annotations.Param;
|
||||||
|
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
@ -27,6 +28,7 @@ public interface FinancialChangeRecordMapper {
|
||||||
*/
|
*/
|
||||||
public List<FinancialChangeRecord> selectFinancialChangeRecordList(FinancialChangeRecord financialChangeRecord);
|
public List<FinancialChangeRecord> selectFinancialChangeRecordList(FinancialChangeRecord financialChangeRecord);
|
||||||
|
|
||||||
|
public List<FinancialChangeRecord> selectByDetailIds(@Param("ids") String ids);
|
||||||
/**
|
/**
|
||||||
* 新增改价记录
|
* 新增改价记录
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -27,6 +27,7 @@ public interface FinancialChangeRecordService {
|
||||||
*/
|
*/
|
||||||
public List<FinancialChangeRecord> selectFinancialChangeRecordList(FinancialChangeRecord financialChangeRecord);
|
public List<FinancialChangeRecord> selectFinancialChangeRecordList(FinancialChangeRecord financialChangeRecord);
|
||||||
|
|
||||||
|
public List<FinancialChangeRecord> selectByDetailIds(String ids);
|
||||||
/**
|
/**
|
||||||
* 新增改价记录
|
* 新增改价记录
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -47,6 +47,11 @@ public class FinancialChangeRecordServiceImpl implements FinancialChangeRecordSe
|
||||||
return financialChangeRecordMapper.selectFinancialChangeRecordList(financialChangeRecord);
|
return financialChangeRecordMapper.selectFinancialChangeRecordList(financialChangeRecord);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<FinancialChangeRecord> selectByDetailIds(String ids) {
|
||||||
|
return financialChangeRecordMapper.selectByDetailIds(ids);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增改价记录
|
* 新增改价记录
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -32,6 +32,11 @@
|
||||||
order by id desc
|
order by id desc
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<select id="selectByDetailIds" parameterType="String" resultMap="FinancialChangeRecordResult">
|
||||||
|
<include refid="selectFinancialChangeRecordVo"/>
|
||||||
|
where order_detail_id in ( #{ids} )
|
||||||
|
</select>
|
||||||
|
|
||||||
<select id="selectFinancialChangeRecordById" parameterType="String" resultMap="FinancialChangeRecordResult">
|
<select id="selectFinancialChangeRecordById" parameterType="String" resultMap="FinancialChangeRecordResult">
|
||||||
<include refid="selectFinancialChangeRecordVo"/>
|
<include refid="selectFinancialChangeRecordVo"/>
|
||||||
where id = #{id}
|
where id = #{id}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue