main^2
黄海 11 months ago
parent 80b25d54dc
commit 3e782cb34e

@ -7,6 +7,7 @@ import com.charge.task.service.HandleOrderTarckService;
import com.charge.util.ResultVO; import com.charge.util.ResultVO;
import com.charge.util.ToolDateTime; import com.charge.util.ToolDateTime;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import net.sf.json.JSONObject;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.PostMapping;
@ -51,8 +52,8 @@ public class ManualOrderStatusHandlerByOrderNoController {
public ResultVO completeUnReportOrderByOrderNo(String orderNo) { public ResultVO completeUnReportOrderByOrderNo(String orderNo) {
//查询挂起订单 //查询挂起订单
EquipmentChargeOrderDO hangUpOrder = equipmentChargeOrderDOMapper.queryChargeOrderByOrderNo(orderNo); EquipmentChargeOrderDO hangUpOrder = equipmentChargeOrderDOMapper.queryChargeOrderByOrderNo(orderNo);
asyncTaskService.completeUnReportOrder(hangUpOrder); JSONObject jo = asyncTaskService.completeUnReportOrder(hangUpOrder);
return ResultVO.success(); return ResultVO.success(jo);
} }
/******************************************************************************************/ /******************************************************************************************/
} }

@ -109,8 +109,9 @@ public class AsyncTaskService {
* @param hangUpOrderList * @param hangUpOrderList
*/ */
@Async(value = "asyncTaskExecutor") @Async(value = "asyncTaskExecutor")
public void completeUnReportOrder(EquipmentChargeOrderDO hangUpOrderList) { public JSONObject completeUnReportOrder(EquipmentChargeOrderDO hangUpOrderList) {
//EquipmentChargeOrderDO :订单表 t_equipment_charge_order JSONObject res = new JSONObject();
// EquipmentChargeOrderDO :订单表 t_equipment_charge_order
// hangUpOrderList :似乎是挂起的订单列表,为什么是列表呢?不是一条记录,一个订单吗? // hangUpOrderList :似乎是挂起的订单列表,为什么是列表呢?不是一条记录,一个订单吗?
try { try {
//通过t_equipment_charge_order表中查找order_no=2020092315154430479 //通过t_equipment_charge_order表中查找order_no=2020092315154430479
@ -118,6 +119,7 @@ public class AsyncTaskService {
EquipmentOrder equipmentOrder = equipmentOrderDao.findOne(hangUpOrderList.getOrderNo());//查询订单下发结束命令前的最新一笔订单信息 EquipmentOrder equipmentOrder = equipmentOrderDao.findOne(hangUpOrderList.getOrderNo());//查询订单下发结束命令前的最新一笔订单信息
if (equipmentOrder == null) { if (equipmentOrder == null) {
log.info("completeUnReportOrder补单失败订单号:{},mongo未查询到信息", hangUpOrderList.getOrderNo()); log.info("completeUnReportOrder补单失败订单号:{},mongo未查询到信息", hangUpOrderList.getOrderNo());
res.put("msg", "completeUnReportOrder补单失败订单号:" + hangUpOrderList.getOrderNo() + ",mongo未查询到信息");
//把mongo无记录的订单的状态置为需要手动补单的订单 //把mongo无记录的订单的状态置为需要手动补单的订单
//mysql数据表t_equipment_charge_order修改 //mysql数据表t_equipment_charge_order修改
/** /**
@ -125,7 +127,7 @@ public class AsyncTaskService {
UPDATE t_equipment_charge_order SET state = 6 WHERE order_no = #{orderNo} UPDATE t_equipment_charge_order SET state = 6 WHERE order_no = #{orderNo}
*/ */
equipmentChargeOrderDOMapper.setPatchStateByOrderNo(hangUpOrderList.getOrderNo()); equipmentChargeOrderDOMapper.setPatchStateByOrderNo(hangUpOrderList.getOrderNo());
return; return res;
} }
/** /**
@ -133,6 +135,7 @@ public class AsyncTaskService {
*/ */
if ("2".equals(hangUpOrderList.getPayStatus().toString())) { if ("2".equals(hangUpOrderList.getPayStatus().toString())) {
log.info("completeUnReportOrder补单失败订单号:{},已经支付", hangUpOrderList.getOrderNo()); log.info("completeUnReportOrder补单失败订单号:{},已经支付", hangUpOrderList.getOrderNo());
res.put("msg", "completeUnReportOrder补单失败订单号:" + hangUpOrderList.getOrderNo() + ",已经支付");
//-- 挂起 //-- 挂起
//select state,pay_status from t_equipment_charge_order where order_no='2023122813120212560' //select state,pay_status from t_equipment_charge_order where order_no='2023122813120212560'
/** /**
@ -149,7 +152,7 @@ public class AsyncTaskService {
//state:状态 0创建中 1启动中 2充电中 3充电完成 4充电异常 5订单挂起 7结算中 101扫码启动(设备认证) 102用户启动充电 103用户主动停止 //state:状态 0创建中 1启动中 2充电中 3充电完成 4充电异常 5订单挂起 7结算中 101扫码启动(设备认证) 102用户启动充电 103用户主动停止
//succ_stat 操作结果 0 成功 1失败 //succ_stat 操作结果 0 成功 1失败
addOrderTrack(hangUpOrderList.getOrderNo(), hangUpOrderList.getUserId(), hangUpOrderList.getConnectorId().toString(), (byte) 3, (byte) 0, "补单失败,订单已经支付,无法进行二次结算"); addOrderTrack(hangUpOrderList.getOrderNo(), hangUpOrderList.getUserId(), hangUpOrderList.getConnectorId().toString(), (byte) 3, (byte) 0, "补单失败,订单已经支付,无法进行二次结算");
return; return res;
} }
// t_equipment_charge_order // t_equipment_charge_order
// select count(*) from t_account_water where order_id = #{orderNo} and type = 1 // select count(*) from t_account_water where order_id = #{orderNo} and type = 1
@ -158,9 +161,10 @@ public class AsyncTaskService {
Integer count = equipmentChargeOrderDOMapper.getWaterCountByOrderNo(hangUpOrderList.getOrderNo()); Integer count = equipmentChargeOrderDOMapper.getWaterCountByOrderNo(hangUpOrderList.getOrderNo());
if (count > 0) { if (count > 0) {
log.info("completeUnReportOrder补单失败订单号:{},订单已有流水,无法进行二次结算", hangUpOrderList.getOrderNo()); log.info("completeUnReportOrder补单失败订单号:{},订单已有流水,无法进行二次结算", hangUpOrderList.getOrderNo());
res.put("msg", "completeUnReportOrder补单失败订单号:" + hangUpOrderList.getOrderNo() + ",订单已有流水,无法进行二次结算");
//记录日志 //记录日志
addOrderTrack(hangUpOrderList.getOrderNo(), hangUpOrderList.getUserId(), hangUpOrderList.getConnectorId().toString(), (byte) 3, (byte) 0, "补单失败,订单已有流水,无法进行二次结算"); addOrderTrack(hangUpOrderList.getOrderNo(), hangUpOrderList.getUserId(), hangUpOrderList.getConnectorId().toString(), (byte) 3, (byte) 0, "补单失败,订单已有流水,无法进行二次结算");
return; return res;
} }
log.info("订单号{},补单开始", hangUpOrderList.getOrderNo()); log.info("订单号{},补单开始", hangUpOrderList.getOrderNo());
@ -173,11 +177,14 @@ public class AsyncTaskService {
addSettleV2(lastOrderInfo, equipmentOrder, equipmentOrder.getEquipmentSn()); //补单 addSettleV2(lastOrderInfo, equipmentOrder, equipmentOrder.getEquipmentSn()); //补单
log.info("订单号{},补单结束", hangUpOrderList.getOrderNo()); log.info("订单号{},补单结束", hangUpOrderList.getOrderNo());
res.put("msg", "订单号" + hangUpOrderList.getOrderNo() + ",补单结束");
} catch (Exception e) { } catch (Exception e) {
//记录日志 //记录日志
addOrderTrack(hangUpOrderList.getOrderNo(), hangUpOrderList.getUserId(), hangUpOrderList.getConnectorId().toString(), (byte) 3, (byte) 0, "补单失败,补单异常,异常信息"); addOrderTrack(hangUpOrderList.getOrderNo(), hangUpOrderList.getUserId(), hangUpOrderList.getConnectorId().toString(), (byte) 3, (byte) 0, "补单失败,补单异常,异常信息");
log.error("订单号" + hangUpOrderList.getOrderNo() + ",补单异常,异常信息:", e); log.error("订单号" + hangUpOrderList.getOrderNo() + ",补单异常,异常信息:", e);
res.put("msg", "订单号" + hangUpOrderList.getOrderNo() + ",补单异常,异常信息:");
} }
return res;
} }
/** /**

Loading…
Cancel
Save