Browse Source

售后记录进行存储

zhangwl 1 month ago
parent
commit
1d6261b2f3

+ 1 - 0
src/main/java/zs/payment/controller/YxSupplyOrderController.java

@@ -43,6 +43,7 @@ public class YxSupplyOrderController {
 
 
     // 生成订单同时支付,如果已生成订单则是直接支付
+    // 目前使用到的-主要接口之一
     @PostMapping("/orderAndPay")
     public Result order(@Valid @RequestBody OrderPayReq req) {
         return orderSupplyService.order(req);

+ 12 - 0
src/main/java/zs/payment/dao/AfterSalesLogDao.java

@@ -0,0 +1,12 @@
+package zs.payment.dao;
+
+import org.springframework.stereotype.Repository;
+import zs.payment.entity.mongodb.supply.AfterSalesLog;
+
+@Repository
+public class AfterSalesLogDao extends NewMongoDBDao<AfterSalesLog> {
+    @Override
+    protected Class<AfterSalesLog> getEntityClass() {
+        return AfterSalesLog.class;
+    }
+}

+ 43 - 0
src/main/java/zs/payment/entity/mongodb/supply/AfterSalesLog.java

@@ -0,0 +1,43 @@
+package zs.payment.entity.mongodb.supply;
+
+import lombok.Getter;
+import lombok.NoArgsConstructor;
+import lombok.Setter;
+import org.bson.types.ObjectId;
+import org.springframework.data.annotation.Id;
+import org.springframework.data.mongodb.core.mapping.Document;
+import org.springframework.data.mongodb.core.mapping.Field;
+
+@Setter
+@Getter
+@NoArgsConstructor
+@Document(collection = "after_sales_log")
+public class AfterSalesLog {
+
+    @Id
+    private ObjectId id;
+
+    // 第三方订单编号
+    @Field("order_sn")
+    private String orderSn;
+
+    // 请求参数
+    @Field("req_params")
+    private String reqParams;
+
+    // 返回结果
+    @Field("resp_result")
+    private String respResult;
+
+    // 售后申请id
+    @Field("after_sales_id")
+    private Integer afterSalesId;
+
+    // 操作类型(如:申请售后、取消售后)
+    @Field("action_type")
+    private String actionType;
+
+    // 创建时间
+    @Field("create_time")
+    private long createTime;
+}

+ 12 - 0
src/main/java/zs/payment/service/aftersales/AfterSalesLogService.java

@@ -0,0 +1,12 @@
+package zs.payment.service.aftersales;
+
+import zs.payment.entity.mongodb.supply.AfterSalesLog;
+
+import java.util.List;
+
+public interface AfterSalesLogService {
+
+    void save(AfterSalesLog log);
+
+    List<AfterSalesLog> listByOrderSn(String orderSn);
+}

+ 29 - 0
src/main/java/zs/payment/service/aftersales/impl/AfterSalesLogServiceImpl.java

@@ -0,0 +1,29 @@
+package zs.payment.service.aftersales.impl;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.mongodb.core.query.Criteria;
+import org.springframework.data.mongodb.core.query.Query;
+import org.springframework.stereotype.Service;
+import zs.payment.dao.AfterSalesLogDao;
+import zs.payment.entity.mongodb.supply.AfterSalesLog;
+import zs.payment.service.aftersales.AfterSalesLogService;
+
+import java.util.List;
+
+@Service
+public class AfterSalesLogServiceImpl implements AfterSalesLogService {
+
+    @Autowired
+    private AfterSalesLogDao afterSalesLogDao;
+
+    @Override
+    public void save(AfterSalesLog log) {
+        afterSalesLogDao.save(log);
+    }
+
+    @Override
+    public List<AfterSalesLog> listByOrderSn(String orderSn) {
+        Query query = new Query(Criteria.where("order_sn").is(orderSn));
+        return afterSalesLogDao.queryList(query);
+    }
+}

+ 15 - 0
src/main/java/zs/payment/service/supply/paysupply/impl/PaySupplyServiceImpl.java

@@ -12,6 +12,7 @@ import zs.payment.dto.AfterSalesDTO;
 import zs.payment.dto.OrderExpressUpdateDTO;
 import zs.payment.dto.OrderItemDTO;
 import zs.payment.entity.mongodb.supply.Orders;
+import zs.payment.entity.mongodb.supply.AfterSalesLog;
 import zs.payment.exception.ApiException;
 import zs.payment.messages.KafkaProducer;
 import zs.payment.req.*;
@@ -21,6 +22,7 @@ import zs.payment.resp.Result;
 
 import zs.payment.service.imseweishopexpress.ImsEweiShopExpressService;
 import zs.payment.service.imseweishoporder.ImsEweiShopOrderService;
+import zs.payment.service.aftersales.AfterSalesLogService;
 import zs.payment.service.order.OrdersService;
 import zs.payment.service.supply.order.OrderSupplyService;
 import zs.payment.service.supply.paysupply.PaySupplyService;
@@ -55,6 +57,9 @@ public class PaySupplyServiceImpl implements PaySupplyService {
     @Autowired
     private ImsEweiShopExpressService imsEweiShopExpressService;
 
+    @Autowired
+    private AfterSalesLogService afterSalesLogService;
+
 
     @Override
     public Result orderPayOnly(OrderPayReq req) {
@@ -141,6 +146,16 @@ public class PaySupplyServiceImpl implements PaySupplyService {
                 afterSalesDTO.setId(respJson.getInteger("data"));
                 item.setAfter_sales(afterSalesDTO);
 
+                // 存储售后日志
+                AfterSalesLog salesLog = new AfterSalesLog();
+                salesLog.setOrderSn(req.getOrderSn());
+                salesLog.setReqParams(JSONObject.toJSONString(params));
+                salesLog.setRespResult(resp);
+                salesLog.setAfterSalesId(respJson.getInteger("data"));
+                salesLog.setActionType("afterSalesCreate");
+                salesLog.setCreateTime(System.currentTimeMillis());
+                afterSalesLogService.save(salesLog);
+
             }
             //保存order
             ordersService.saveOrders(orders);