|
@@ -45,6 +45,7 @@ import com.pj.tb_trade_area.TbTradeArea;
|
|
|
import com.pj.tb_trade_area.TbTradeAreaService;
|
|
|
import com.pj.utils.sg.AjaxError;
|
|
|
import com.pj.utils.so.SoMap;
|
|
|
+import io.swagger.models.auth.In;
|
|
|
import lombok.extern.slf4j.Slf4j;
|
|
|
import org.springframework.beans.BeanUtils;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -231,11 +232,20 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
* 改 转售状态:根据订单Id把订单改为已转售
|
|
|
*/
|
|
|
boolean updateResaleStatus(Long orderId) {
|
|
|
- LambdaUpdateWrapper<TbOrder> wrapper = new LambdaUpdateWrapper<>();
|
|
|
- wrapper.set(TbOrder::getResaleStatus, 1);
|
|
|
- wrapper.eq(TbOrder::getId, orderId);
|
|
|
-
|
|
|
- return this.update(wrapper);
|
|
|
+ TbOrder tbOrder = this.getById(orderId);
|
|
|
+ if (tbOrder == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ tbOrder.setResaleStatus(1);
|
|
|
+ Long saleMainId = tbOrder.getSaleMainId();
|
|
|
+ HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(saleMainId);
|
|
|
+ if (htTradeSettlement == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ Integer saleCount = htTradeSettlement.getOnSaleCount();
|
|
|
+ htTradeSettlement.setOnSaleCount((saleCount == null ? 0 : saleCount) + 1);
|
|
|
+ htTradeSettlementService.updateById(htTradeSettlement);
|
|
|
+ return this.updateById(tbOrder);
|
|
|
}
|
|
|
|
|
|
boolean updateEnterpriseConfirm(TbOrder order) {
|
|
@@ -403,7 +413,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
|
|
|
private PaymentDto getPaymentData(TbOrder tbOrder) {
|
|
|
HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(tbOrder.getSaleMainId());
|
|
|
- StaticLog.info("getPaymentData:{}",JSONUtil.toJsonStr(htTradeSettlement));
|
|
|
+ StaticLog.info("getPaymentData:{}", JSONUtil.toJsonStr(htTradeSettlement));
|
|
|
PaymentDto paymentDto = new PaymentDto();
|
|
|
BeanUtils.copyProperties(htTradeSettlement, paymentDto);
|
|
|
|
|
@@ -419,8 +429,8 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
//paymentDto.setResalePrice(BigDecimal.valueOf(resalePrice));
|
|
|
|
|
|
TbPeople tbPeople = tbPeopleService.getById(tbOrder.getBuyUserId());
|
|
|
- StaticLog.info("tbPeople:{}",JSONUtil.toJsonStr(tbPeople));
|
|
|
- if (tbPeople != null){
|
|
|
+ StaticLog.info("tbPeople:{}", JSONUtil.toJsonStr(tbPeople));
|
|
|
+ if (tbPeople != null) {
|
|
|
paymentDto.setBankCode(tbPeople.getBankCode());
|
|
|
paymentDto.setBankName(tbPeople.getBankName());
|
|
|
paymentDto.setBorderName(tbPeople.getName());
|
|
@@ -429,8 +439,8 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
}
|
|
|
|
|
|
TbShop tbShop = tbShopService.findByCode(htTradeSettlement.getShopNo());
|
|
|
- StaticLog.info("tbShop:{}",JSONUtil.toJsonStr(tbShop));
|
|
|
- if (tbShop != null){
|
|
|
+ StaticLog.info("tbShop:{}", JSONUtil.toJsonStr(tbShop));
|
|
|
+ if (tbShop != null) {
|
|
|
paymentDto.setOwnerName(tbShop.getOwnerName());
|
|
|
paymentDto.setOwnerIdtype(tbShop.getOwnerIdtype());
|
|
|
paymentDto.setBankAccount(tbShop.getBankAccount());
|
|
@@ -441,20 +451,19 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
-
|
|
|
return paymentDto;
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
* 边民订单确认
|
|
|
+ *
|
|
|
* @param orderId 一级市场订单表ID
|
|
|
*/
|
|
|
public boolean confirmOrder(Long orderId) {
|
|
|
TbOrder tbOrder = this.getById(orderId);
|
|
|
if (tbOrder == null) {
|
|
|
throw new AjaxError("订单不存在");
|
|
|
- } else if(2 == tbOrder.getCheckPassStatus()) {
|
|
|
+ } else if (2 == tbOrder.getCheckPassStatus()) {
|
|
|
throw new AjaxError("当前订单查验不通过!边民不能进行交易确认。");
|
|
|
}
|
|
|
StaticLog.info("order: {}", JSONUtil.toJsonStr(tbOrder));
|
|
@@ -466,21 +475,23 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
//tbOrder.setTradeTime(new Date()); //支付回执时间
|
|
|
//tbOrder.setPayType(0); //支付类型
|
|
|
if ("1".equals(tbOrder.getDeclareType())) {
|
|
|
- // tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode()); //已完成->完成后可以进行转售
|
|
|
+ // tbOrder.setFinishStatus(FinishStatus.FINISH_STATUS_ONE.getCode()); //已完成->完成后可以进行转售
|
|
|
tbOrder.setFinishTime(new Date());
|
|
|
}
|
|
|
|
|
|
boolean update = super.updateById(tbOrder);
|
|
|
// TODO: 2023/8/28 边民发起支付申请,调用银行接口:验证边民支付信息,将货款先存入银行第三方账户,并给出回执
|
|
|
PaymentDto paymentDto = this.getPaymentData(tbOrder);
|
|
|
- StaticLog.info("\nsendSXB010——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto));
|
|
|
+ StaticLog.info("\nsendSXB010——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
|
|
|
paymentServerInterface.sendSXB010(paymentDto);
|
|
|
|
|
|
- return update;
|
|
|
+ return update;
|
|
|
}
|
|
|
+
|
|
|
/**
|
|
|
* 边民订单确认-收到银行扣款回执——SXB011——SXB012
|
|
|
- * @param tradeNo 一级市场边民订单-订单编号
|
|
|
+ *
|
|
|
+ * @param tradeNo 一级市场边民订单-订单编号
|
|
|
* @param SXB010Status 回执状态-1=扣款成功 2=扣款失败
|
|
|
*/
|
|
|
public boolean confirmOrderFromBank(String tradeNo, Integer SXB010Status) {
|
|
@@ -493,11 +504,10 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
TbOrder tbOrder = tbOrderList.get(0);
|
|
|
|
|
|
// TODO: 2023/8/29 更新状态保存交易记录
|
|
|
- if(2==SXB010Status) {//扣款失败
|
|
|
+ if (2 == SXB010Status) {//扣款失败
|
|
|
tbOrder.setSxb010Status(2)
|
|
|
.setSxb010StatusTime(new Date());
|
|
|
- }
|
|
|
- else if(1==SXB010Status) {//扣款成功
|
|
|
+ } else if (1 == SXB010Status) {//扣款成功
|
|
|
tbOrder.setSxb010Status(1)
|
|
|
.setSxb010StatusTime(new Date());
|
|
|
|
|
@@ -560,7 +570,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
wrapper.set(TbOrder::getUpdateTime, new Date());
|
|
|
|
|
|
//测试用,跳过银行接口
|
|
|
- // wrapper.set(TbOrder::getFinishStatus, FinishStatus.FINISH_STATUS_ONE.getCode());//已完成->完成后可以进行转售
|
|
|
+ // wrapper.set(TbOrder::getFinishStatus, FinishStatus.FINISH_STATUS_ONE.getCode());//已完成->完成后可以进行转售
|
|
|
wrapper.set(TbOrder::getFinishTime, new Date());
|
|
|
|
|
|
wrapper.eq(TbOrder::getId, orderId);
|
|
@@ -577,14 +587,14 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
/**
|
|
|
* 发送009信息到航通
|
|
|
*/
|
|
|
- private void sendConfirmMsgToHt(TbOrder tbOrder) {
|
|
|
+ private void sendConfirmMsgToHt(TbOrder tbOrder) {
|
|
|
TbPeople tbPeople = tbPeopleService.getById(tbOrder.getBuyUserId());
|
|
|
PeopleConfirmDTO peopleConfirmDTO = new PeopleConfirmDTO();
|
|
|
peopleConfirmDTO.setBorderName(tbOrder.getBuyUserName());
|
|
|
peopleConfirmDTO.setIdno(tbPeople.getIdCard());
|
|
|
peopleConfirmDTO.setSettleBillNo(tbOrder.getSettleBillNo());
|
|
|
peopleConfirmDTO.setPreIeportNo(tbOrder.getPreIeportNo());
|
|
|
- log.info("sendConfirmMsgToHt:{}",JSONUtil.toJsonStr(peopleConfirmDTO));
|
|
|
+ log.info("sendConfirmMsgToHt:{}", JSONUtil.toJsonStr(peopleConfirmDTO));
|
|
|
FeignFactory.asyncServerInterface.sendConfirm(peopleConfirmDTO);
|
|
|
}
|
|
|
|
|
@@ -603,7 +613,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
List<TbOrder> declareList2 = orderList.stream().filter(item -> !"1".equals(item.getDeclareType()) &&
|
|
|
(item.getPeopleConfirmStatus() == 0 || item.getCooperEntrustStatus() == 0 || item.getApplyConfirmStatus() == 0)).collect(Collectors.toList());
|
|
|
if (declareList2.size() > 0) {
|
|
|
- if(1 == cooper_entrust) {
|
|
|
+ if (1 == cooper_entrust) {
|
|
|
List<Long> removeList = new ArrayList<>();
|
|
|
declareList2.forEach(item -> {
|
|
|
TbImportOrder importOrder = tbImportOrderMapper.selectById(item.getImportOrderId());
|
|
@@ -630,6 +640,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
|
|
|
/**
|
|
|
* 根据购买者ID查询
|
|
|
+ *
|
|
|
* @param buyUserId
|
|
|
* @return
|
|
|
*/
|
|
@@ -646,11 +657,11 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
*/
|
|
|
public boolean orderRefund(Long id) {
|
|
|
TbOrder order = getById(id);
|
|
|
- if(order.getPeopleConfirmStatus() != 1 || order.getSxb010Status() != 1 || order.getFinishStatus() == 1 || order.getRefundStatus() != 0)
|
|
|
+ if (order.getPeopleConfirmStatus() != 1 || order.getSxb010Status() != 1 || order.getFinishStatus() == 1 || order.getRefundStatus() != 0)
|
|
|
throw new ServiceException("当前订单状态已改变,不可做退款操作,请刷新后操作!");
|
|
|
|
|
|
PaymentDto paymentDto = this.getPaymentData(order);
|
|
|
- StaticLog.info("\nsendSXB013(边民退货退款)——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto));
|
|
|
+ StaticLog.info("\nsendSXB013(边民退货退款)——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
|
|
|
paymentServerInterface.sendSXB013(paymentDto);
|
|
|
|
|
|
LambdaUpdateWrapper<TbOrder> updateWrapper = new LambdaUpdateWrapper<>();
|
|
@@ -678,7 +689,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
// TODO: 2023/11/27 查验不通过,车辆不通过卡3,调用银行退款划扣申请,从银行第三方账户,退回至边民借记卡账户
|
|
|
tbOrderList.forEach(order -> {
|
|
|
PaymentDto paymentDto = this.getPaymentData(order);
|
|
|
- StaticLog.info("\nsendSXB013(进出口申报单退单)——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto));
|
|
|
+ StaticLog.info("\nsendSXB013(进出口申报单退单)——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
|
|
|
paymentServerInterface.sendSXB013(paymentDto);
|
|
|
});
|
|
|
|
|
@@ -702,6 +713,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
|
|
|
return update && update1;
|
|
|
}
|
|
|
+
|
|
|
//收到银行退款回执——SXB014——SXB015
|
|
|
public boolean chargebackFromBank(String tradeNo, Integer SXB013Status, String note) {
|
|
|
LambdaQueryWrapper<TbOrder> wrapper = new LambdaQueryWrapper<>();
|
|
@@ -712,10 +724,9 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
}
|
|
|
TbOrder tbOrder = tbOrderList.get(0);
|
|
|
|
|
|
- if(2==SXB013Status) {//退款失败
|
|
|
+ if (2 == SXB013Status) {//退款失败
|
|
|
tbOrder.setRefundStatus(2).setRefundReason(note).setRefundTime(new Date());
|
|
|
- }
|
|
|
- else if(1==SXB013Status) {//退款成功
|
|
|
+ } else if (1 == SXB013Status) {//退款成功
|
|
|
tbOrder.setRefundStatus(1).setRefundReason(note).setRefundTime(new Date());
|
|
|
}
|
|
|
return updateById(tbOrder);
|
|
@@ -745,7 +756,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
paymentDto.setTradeNo(tbOrder.getTradeNo());
|
|
|
paymentDto.setDeclTime(htPassCardDTO.getCheckTime());
|
|
|
paymentDto.setFieldCode(area.getCode());
|
|
|
- StaticLog.info("\nsendCXB001——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto));
|
|
|
+ StaticLog.info("\nsendCXB001——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto));
|
|
|
paymentServerInterface.sendCXB001(paymentDto);
|
|
|
}
|
|
|
//this.updateBatchById(tbOrders);
|
|
@@ -757,11 +768,12 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
paymentDto2.setVoyageNo(htPassCardDTO.getManifestId());
|
|
|
paymentDto2.setVeNo(tbOrders.get(0).getVeNo());
|
|
|
paymentDto2.setFieldCode(area.getCode());
|
|
|
- StaticLog.info("\nsendSXB023——PaymentDto——:{}",JSONUtil.toJsonStr(paymentDto2));
|
|
|
+ StaticLog.info("\nsendSXB023——PaymentDto——:{}", JSONUtil.toJsonStr(paymentDto2));
|
|
|
paymentServerInterface.sendSXB023(paymentDto2);
|
|
|
|
|
|
return true;
|
|
|
}
|
|
|
+
|
|
|
// TODO: 收到(一级市场-通车批信息)银行订单打款回执, tradeNos:订单号 n个——SXB017——SXB018
|
|
|
public boolean orderFinishFromBank(String tradeNos, Integer SXB023Status) {
|
|
|
String[] tradeNoArr = tradeNos.split(",");
|
|
@@ -775,7 +787,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
}
|
|
|
|
|
|
// 更新状态保存交易记录
|
|
|
- if(2==SXB023Status) {
|
|
|
+ if (2 == SXB023Status) {
|
|
|
tbOrderList.forEach(order -> {
|
|
|
order.setTradeStatus(TradeStatus.TRADE_STATUS_Two.getCode()); //支付失败
|
|
|
order.setTradeTime(new Date()); //支付回执时间
|
|
@@ -783,7 +795,7 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
|
|
|
boolean result = updateById(order);
|
|
|
});
|
|
|
- } else if(1==SXB023Status) {
|
|
|
+ } else if (1 == SXB023Status) {
|
|
|
//更新结算单状态
|
|
|
Long settleId = tbOrderList.get(0).getSaleMainId();
|
|
|
HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(settleId);
|
|
@@ -871,12 +883,20 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
* 远程调用 根据订单Id修改状态:在二级市场被下单[0=未被下单,1=已被下单]
|
|
|
*/
|
|
|
public boolean updateBeingOrder(Long levelOneOrderId) {
|
|
|
- TbOrder tbOrder = new TbOrder();
|
|
|
- tbOrder.setId(levelOneOrderId);
|
|
|
+ TbOrder tbOrder = this.getById(levelOneOrderId);
|
|
|
+ if (tbOrder == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
tbOrder.setBeingOrder(1);
|
|
|
int i = tbOrderMapper.updateById(tbOrder);
|
|
|
if (1 != i) System.out.println("远程调用:根据订单Id修改状态(当前订单在二级市场被下单)失败!!!!!!");
|
|
|
-
|
|
|
+ HtTradeSettlement htTradeSettlement = htTradeSettlementService.getById(tbOrder.getSaleMainId());
|
|
|
+ if (htTradeSettlement == null) {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+ Integer orderCount = htTradeSettlement.getOrderCount();
|
|
|
+ htTradeSettlement.setBeOrderCount((orderCount == null ? 0 : orderCount) + 1);
|
|
|
+ htTradeSettlementService.updateById(htTradeSettlement);
|
|
|
return true;
|
|
|
}
|
|
|
|
|
@@ -891,14 +911,32 @@ public class TbOrderService extends ServiceImpl<TbOrderMapper, TbOrder> implemen
|
|
|
}
|
|
|
|
|
|
public void down(Long id) {
|
|
|
- TbOrder db=getById(id);
|
|
|
- if (db==null){
|
|
|
+ TbOrder db = getById(id);
|
|
|
+ if (db == null) {
|
|
|
throw new AjaxError("该订单不存在");
|
|
|
}
|
|
|
- if (db.getBeingOrder()==1) {
|
|
|
+ if (db.getBeingOrder() == 1) {
|
|
|
throw new AjaxError("该订单在二级市场被下单,无法下架");
|
|
|
}
|
|
|
db.setUpStatus(1);
|
|
|
this.updateById(db);
|
|
|
}
|
|
|
+
|
|
|
+ public List<OrderDto> getOrderListByMainIds(String mainIds) {
|
|
|
+ List<Long> idList = Arrays.stream(mainIds.split(",")).mapToLong(Long::parseLong).boxed().collect(Collectors.toList());
|
|
|
+ QueryWrapper<TbOrder>ew=new QueryWrapper<>();
|
|
|
+ ew.in("sale_main_id",idList);
|
|
|
+ List<TbOrder>list=list(ew);
|
|
|
+ List<OrderDto>dtos=new ArrayList<>();
|
|
|
+ for (TbOrder tbOrder : list) {
|
|
|
+ OrderDto orderDto=new OrderDto();
|
|
|
+ BeanUtils.copyProperties(tbOrder,orderDto);
|
|
|
+ dtos.add(orderDto);
|
|
|
+ }
|
|
|
+ return dtos;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<TbOrder> getOnSaleList(SoMap so) {
|
|
|
+ return tbOrderMapper.getOnSaleList(so);
|
|
|
+ }
|
|
|
}
|