zyp 3 minggu lalu
induk
melakukan
1ded60bf72

+ 6 - 5
fs-service-system/src/main/java/com/fs/course/service/impl/FsCourseQuestionBankServiceImpl.java

@@ -175,11 +175,12 @@ public class FsCourseQuestionBankServiceImpl implements IFsCourseQuestionBankSer
 
             rightLog = courseAnswerLogsMapper.selectRightLogByCourseVideo(param.getVideoId(), param.getUserId(), param.getQwUserId());
             if (rightLog != null) {
-//                if (log.getRewardType() != null) {
-//                    return R.error("该课程已答题完成,不可重复答题");
-//                } else {
-//                }
-                return R.error("该课程已答题完成,不可重复答题");
+                if (log.getRewardType() != null) {
+                    return R.error("该课程已答题完成,不可重复答题");
+                } else {
+                    return R.ok("答题成功");
+                }
+//                return R.error("该课程已答题完成,不可重复答题");
             }
             errorCount = courseAnswerLogsMapper.selectErrorCountByCourseVideo(param.getVideoId(), param.getUserId(),param.getQwUserId());
         }

+ 4 - 1
fs-service-system/src/main/java/com/fs/kingbos/service/K9OrderService.java

@@ -1,5 +1,6 @@
 package com.fs.kingbos.service;
 
+import com.fs.erp.dto.ErpOrderResponse;
 import com.fs.kingbos.domian.KingbosOrderRequest;
 import com.fs.kingbos.domian.KingbosOrderResponse;
 import com.fs.kingbos.domian.KingbosRefundOrderRequest;
@@ -11,5 +12,7 @@ public interface K9OrderService {
 
     KingbosOrderResponse refundOrder(KingbosRefundOrderRequest request);
 
-    void createOmsOrder(Long orderId,String orderStatus);
+    ErpOrderResponse addOmsOrder(Long orderId);
+
+    ErpOrderResponse refundOmsOrder(Long orderId);
 }

+ 53 - 11
fs-service-system/src/main/java/com/fs/kingbos/service/impl/K9OrderServiceImpl.java

@@ -1,12 +1,18 @@
 package com.fs.kingbos.service.impl;
 
 import cn.hutool.core.util.IdUtil;
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.http.HttpUtil;
 import cn.hutool.json.JSONObject;
 import cn.hutool.json.JSONUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.PropertyNamingStrategy;
+import com.alibaba.fastjson.parser.ParserConfig;
 import com.fs.common.config.FSSysConfig;
 import com.fs.common.exception.ServiceException;
 import com.fs.common.utils.StringUtils;
+import com.fs.erp.dto.ErpOrderResponse;
+import com.fs.erp.dto.wdt.ErpWdtApiResponse;
 import com.fs.kingbos.domian.*;
 import com.fs.kingbos.enums.OrderStatusEnum;
 import com.fs.kingbos.service.K9OrderService;
@@ -26,6 +32,7 @@ import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
 
+import java.io.IOException;
 import java.math.BigDecimal;
 import java.text.ParseException;
 import java.text.SimpleDateFormat;
@@ -83,10 +90,44 @@ public class K9OrderServiceImpl implements K9OrderService {
         return response;
     }
 
+    @Override
+    public ErpOrderResponse addOmsOrder(Long orderId) {
+        try {
+            KingbosOrderResponse response = this.createOmsOrder(orderId, NO_DELIVERED.getCode());
+            if (response.getIsSuccess()){
+                log.info("订单推送成功: {}", response);
+                ErpOrderResponse erpOrderResponse = new ErpOrderResponse();
+                erpOrderResponse.setCode(response.getCbilid());
+                return erpOrderResponse;
+            }else {
+                throw new RuntimeException(String.format("订单推送失败,原因: %s",response.getErrmsg()));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return new ErpOrderResponse();
+    }
 
     @Override
-    @Transactional
-    public void createOmsOrder(Long orderId,String orderStatus){
+    public ErpOrderResponse refundOmsOrder(Long orderId) {
+        try {
+            KingbosOrderResponse response = this.createOmsOrder(orderId, CANCELLED.getCode());
+            if (response.getIsSuccess()){
+                log.info("订单推送成功: {}", response);
+                ErpOrderResponse erpOrderResponse = new ErpOrderResponse();
+                erpOrderResponse.setCode(response.getCbilid());
+                return erpOrderResponse;
+            }else {
+                throw new RuntimeException(String.format("订单推送失败,原因: %s",response.getErrmsg()));
+            }
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+        return new ErpOrderResponse();
+    }
+
+
+    private KingbosOrderResponse createOmsOrder(Long orderId,String orderStatus){
         logger.info("【金博网络订单】开始创建订单,订单ID: {}", orderId);
         try {
             // 1. 获取订单信息并验证
@@ -103,15 +144,16 @@ public class K9OrderServiceImpl implements K9OrderService {
 
             // 4. 发送订单请求
             KingbosOrderResponse response = sendOrderRequest(data, d1Datas);
-            if (response.getIsSuccess()){
-                FsStoreOrder order1 = new FsStoreOrder();
-                order1.setId(order.getId());
-                order1.setExtendOrderId(response.getCbilid());
-                fsStoreOrderMapper.updateFsStoreOrder(order1);
-                logger.info("【金博网络订单】订单创建完成,订单ID: {}", orderId);
-            }else {
-                logger.error("【金博网络订单】创建订单失败,订单ID: {}, 错误信息: {}", orderId, response.getErrmsg());
-            }
+            return response;
+//            if (response.getIsSuccess()){
+//                FsStoreOrder order1 = new FsStoreOrder();
+//                order1.setId(order.getId());
+//                order1.setExtendOrderId(response.getCbilid());
+//                fsStoreOrderMapper.updateFsStoreOrder(order1);
+//                logger.info("【金博网络订单】订单创建完成,订单ID: {}", orderId);
+//            }else {
+//                logger.error("【金博网络订单】创建订单失败,订单ID: {}, 错误信息: {}", orderId, response.getErrmsg());
+//            }
         } catch (Exception e) {
             logger.error("【金博网络订单】创建订单失败,订单ID: {}, 错误信息: {}", orderId, e.getMessage(), e);
             throw e;

+ 23 - 0
fs-user-app/src/main/java/com/fs/app/controller/StoreOrderController.java

@@ -20,6 +20,7 @@ import com.fs.erp.service.IErpOrderService;
 import com.fs.huifuPay.domain.HuiFuCreateOrder;
 import com.fs.huifuPay.domain.HuifuCreateOrderResult;
 import com.fs.huifuPay.service.HuiFuService;
+import com.fs.kingbos.service.K9OrderService;
 import com.fs.pay.pay.domain.OrderResult;
 import com.fs.pay.pay.dto.OrderQueryDTO;
 import com.fs.pay.pay.service.PayService;
@@ -60,6 +61,8 @@ import java.text.SimpleDateFormat;
 import java.util.*;
 import java.util.concurrent.TimeUnit;
 
+import static com.fs.kingbos.enums.OrderStatusEnum.NO_DELIVERED;
+
 
 @Api("商城接口")
 @RestController
@@ -104,6 +107,26 @@ public class StoreOrderController extends  AppBaseController {
     PayService ybPayService;
     @Autowired
     private HuiFuService huiFuService;
+    @Autowired
+    K9OrderService k9OrderService;
+
+
+    @ApiOperation("测试ERP")
+    @GetMapping("/test")
+    public R test(){
+        k9OrderService.addOmsOrder(172L);
+//        k9OrderService.refundOmsOrder(172L);
+        return R.ok();
+    }
+
+
+    @ApiOperation("测试ERP")
+    @GetMapping("/test2")
+    public R test2(){
+        k9OrderService.refundOmsOrder(172L);
+//        k9OrderService.refundOmsOrder(172L);
+        return R.ok();
+    }
 
 
     @Login