TRX 1 yıl önce
ebeveyn
işleme
ac6f038ba7

+ 2 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/ExpenseFlowModel.java

@@ -5,6 +5,7 @@ import com.github.microservice.types.payment.PaymentDeviceType;
 import com.github.microservice.types.payment.PaymentType;
 import com.zhongshu.card.client.model.base.SuperModel;
 import com.zhongshu.card.client.model.school.CardInfoModel;
+import com.zhongshu.card.client.model.school.CardInfoSimpleModel;
 import com.zhongshu.card.client.type.RefundState;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
@@ -69,7 +70,7 @@ public class ExpenseFlowModel extends SuperModel {
     private String cardNo;
 
     @Schema(description = "卡片信息")
-    private CardInfoModel cardInfo;
+    private CardInfoSimpleModel cardInfo;
 
     @Schema(description = "消费类型,如:餐饮消费")
     private String payType;

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/ExpenseFlowSearch.java

@@ -86,7 +86,7 @@ public class ExpenseFlowSearch extends SuperSearch {
     @Schema(description = "支付订单状态")
     private String paymentStatus;
 
-    @Schema(description = "是否消费成功")
+    @Schema(description = "是否支付成功")
     private Boolean isPaySuccess;
 
     @Schema(description = "退款状态")

+ 10 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/school/CardInfoSimpleModel.java

@@ -1,6 +1,7 @@
 package com.zhongshu.card.client.model.school;
 
 import com.zhongshu.card.client.type.school.CardState;
+import com.zhongshu.card.client.type.school.CardType;
 import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.Data;
 
@@ -11,6 +12,15 @@ import lombok.Data;
 @Data
 public class CardInfoSimpleModel {
 
+    @Schema(description = "卡片名称")
+    private String name;
+
+    @Schema(description = "卡片类型")
+    private CardType cardType;
+
+    @Schema(description = "卡片号码,唯一标识, 卡号")
+    private String code;
+
     @Schema(description = "卡片状态")
     private CardState cardState;
 

+ 15 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/openApi/model/order/OrderCreateParam.java

@@ -0,0 +1,15 @@
+package com.zhongshu.card.client.openApi.model.order;
+
+import com.zhongshu.card.client.openApi.base.ProjectCodeParam;
+import lombok.Data;
+
+/**
+ * openAPI 创建订单
+ * @author TRX
+ * @date 2025/3/11
+ */
+@Data
+public class OrderCreateParam extends ProjectCodeParam {
+
+
+}

+ 5 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/openApi/params/ExpenseFlowOpenApiSearch.java

@@ -1,6 +1,5 @@
 package com.zhongshu.card.client.openApi.params;
 
-import com.github.microservice.types.OrderModeType;
 import com.github.microservice.types.payment.PaymentType;
 import com.zhongshu.card.client.openApi.base.SuperOpenAPIParam;
 import io.swagger.v3.oas.annotations.media.Schema;
@@ -26,4 +25,9 @@ public class ExpenseFlowOpenApiSearch extends SuperOpenAPIParam {
     @Schema(description = "支付方式")
     private PaymentType paymentType;
 
+    @Schema(description = "用户userId")
+    private String userId;
+
+    @Schema(description = "是否支付成功")
+    private Boolean isPaySuccess;
 }

+ 8 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/openAPI/order/ExpenseFlowOpenApiController.java

@@ -3,6 +3,7 @@ package com.zhongshu.card.server.core.controller.openAPI.order;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.staticVariable.OpenApiMark;
 import com.zhongshu.card.client.openApi.model.ExpenseFlowOpenApiModel;
+import com.zhongshu.card.client.openApi.model.order.OrderCreateParam;
 import com.zhongshu.card.client.openApi.params.ExpenseFlowOpenApiSearch;
 import com.zhongshu.card.client.openApi.params.PaymentNoParam;
 import com.zhongshu.card.server.core.service.openAPI.ExpenseFlowOpenApiService;
@@ -20,13 +21,19 @@ import org.springframework.web.bind.annotation.RestController;
  * @date 2024/6/5
  */
 @RestController
-@RequestMapping("/"+ OpenApiMark.fullCardOpenAPI +"/v1/orderManager")
+@RequestMapping("/" + OpenApiMark.fullCardOpenAPI + "/v1/orderManager")
 @Tag(name = "openAPI-订单管理")
 public class ExpenseFlowOpenApiController {
 
     @Autowired
     private ExpenseFlowOpenApiService expenseFlowOpenApiService;
 
+    @Operation(summary = "创建订单", description = "创建订单")
+    @RequestMapping(value = {"createOrder"}, method = {RequestMethod.POST})
+    public ResultContent createOrder(@RequestBody OrderCreateParam param) {
+        return expenseFlowOpenApiService.createOrder(param);
+    }
+
     @Operation(summary = "订单列表-分页查询", description = "订单列表-分页查询")
     @RequestMapping(value = {"page"}, method = {RequestMethod.POST})
     public ResultContent<Page<ExpenseFlowOpenApiModel>> page(@RequestBody ExpenseFlowOpenApiSearch param) {

+ 0 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/org/OrganizationUserController.java

@@ -168,7 +168,6 @@ public class OrganizationUserController {
 
     //----------------------- 用户注册 start------------------
 
-    @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "小程序注册用户", description = "小程序注册用户")
     @RequestMapping(value = {"registerProjectUser"}, method = {RequestMethod.POST})
     public ResultContent registerProjectUser(@RequestBody UserCountRegisterParam param) {

+ 19 - 1
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/openAPI/ExpenseFlowOpenApiService.java

@@ -6,6 +6,7 @@ import com.github.microservice.types.OrderModeType;
 import com.github.microservice.types.OrderState;
 import com.zhongshu.card.client.model.payment.ExpenseFlowSearch;
 import com.zhongshu.card.client.openApi.model.ExpenseFlowOpenApiModel;
+import com.zhongshu.card.client.openApi.model.order.OrderCreateParam;
 import com.zhongshu.card.client.openApi.params.ExpenseFlowOpenApiSearch;
 import com.zhongshu.card.client.openApi.params.PaymentNoParam;
 import com.zhongshu.card.server.core.dao.payment.ExpenseFlowDao;
@@ -38,6 +39,24 @@ public class ExpenseFlowOpenApiService extends SuperService {
     @Autowired
     private CommonService commonService;
 
+    /**
+     * 创建订单
+     * @param param
+     * @return
+     */
+    public ResultContent createOrder(OrderCreateParam param) {
+        String projectCode = param.getProjectCode();
+        ResultContent<String> resultContent = commonService.checkProjectCanUserByCode(projectCode);
+        if (resultContent.isFailed()) {
+            return ResultContent.buildFail(resultContent.getMsg());
+        }
+        String projectOid = resultContent.getContent();
+
+
+
+        return ResultContent.buildSuccess();
+    }
+
     /**
      * 订单列表
      *
@@ -54,7 +73,6 @@ public class ExpenseFlowOpenApiService extends SuperService {
 
         ExpenseFlowSearch param = new ExpenseFlowSearch();
         BeanUtils.copyProperties(apiSearch, param);
-        param.setIsPaySuccess(Boolean.TRUE);
         param.setOrderModeType(OrderModeType.Consume);
         param.setProjectOid(projectOid);
 

+ 16 - 9
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/ExpenseFlowServiceImpl.java

@@ -10,14 +10,14 @@ import com.github.microservice.models.hxz.ConsumTransactionsResult;
 import com.github.microservice.models.hxz.QRCodeTransactionModel;
 import com.github.microservice.models.hxz.WxPayResult;
 import com.github.microservice.models.hxz.base.IotBaseResult;
-import com.github.microservice.types.deviceUse.DeviceState;
-import com.github.microservice.types.deviceUse.OrderFromType;
 import com.github.microservice.net.ResultContent;
 import com.github.microservice.net.ResultMessage;
 import com.github.microservice.pay.client.model.ledger.TransactionLogModel;
 import com.github.microservice.pay.client.model.weChatMiniApp.WeChatMiniAppPayRet;
 import com.github.microservice.types.OrderModeType;
 import com.github.microservice.types.OrderState;
+import com.github.microservice.types.deviceUse.DeviceState;
+import com.github.microservice.types.deviceUse.OrderFromType;
 import com.github.microservice.types.payment.ChargeableType;
 import com.github.microservice.types.payment.PaymentDeviceType;
 import com.github.microservice.types.payment.PaymentType;
@@ -31,12 +31,12 @@ import com.zhongshu.card.client.model.payment.statistic.BusinessMainStatisticMod
 import com.zhongshu.card.client.model.payment.statistic.StatisticItem;
 import com.zhongshu.card.client.model.payment.statistic.StatisticSearch;
 import com.zhongshu.card.client.model.school.AreaSimpleModel;
+import com.zhongshu.card.client.model.school.CardInfoSimpleModel;
 import com.zhongshu.card.client.service.payment.ExpenseFlowService;
 import com.zhongshu.card.client.type.RefundState;
 import com.zhongshu.card.client.type.StatisticType;
 import com.zhongshu.card.client.type.UserState;
 import com.zhongshu.card.client.type.payAccount.RechargeOrderStatus;
-import com.zhongshu.card.client.type.payment.OrderType;
 import com.zhongshu.card.client.type.payment.SettlementState;
 import com.zhongshu.card.client.type.school.CardState;
 import com.zhongshu.card.client.utils.DateUtils;
@@ -60,6 +60,7 @@ import com.zhongshu.card.server.core.service.mqtt.MqttServiceImpl;
 import com.zhongshu.card.server.core.service.org.OrganizationServiceImpl;
 import com.zhongshu.card.server.core.service.pay.WechatPayService;
 import com.zhongshu.card.server.core.service.permissVerify.DevicePermissVerifyService;
+import com.zhongshu.card.server.core.service.projectAbout.CardInfoServiceImpl;
 import com.zhongshu.card.server.core.service.school.AreaServiceImpl;
 import com.zhongshu.card.server.core.util.*;
 import lombok.extern.slf4j.Slf4j;
@@ -125,6 +126,9 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
     @Autowired
     private MqttServiceImpl mqttService;
 
+    @Autowired
+    private CardInfoServiceImpl cardInfoService;
+
     /**
      * 创建流水
      *
@@ -509,8 +513,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
 
             // 发送消息
             SendMessageModel sendMessageModel = new SendMessageModel();
-            sendMessageModel.setMessage(JsonUtil.toJson(Map.of("status", status,
-                    "orderNo", expenseFlow.getPaymentNo(), "msg", msg, "type", "pay")));
+            sendMessageModel.setMessage(JsonUtil.toJson(Map.of("status", status, "orderNo", expenseFlow.getPaymentNo(), "msg", msg, "type", "pay")));
             String userId = expenseFlow.getUserId();
             String topic = String.format("/wechat/pay/%s", userId);
             sendMessageModel.setTopic(topic);
@@ -990,7 +993,7 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
     }
 
     //TODO toModel
-    public ResultContent pageUnionWith(Pageable pageable, ExpenseFlowUnionParam param){
+    public ResultContent pageUnionWith(Pageable pageable, ExpenseFlowUnionParam param) {
         Page<ExpenseFlowUnionWithModel> page = expenseFlowDao.unionWithRecharge(pageable, param);
         return null;
     }
@@ -1108,6 +1111,9 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
         ExpenseFlowModel model = new ExpenseFlowModel();
         if (ObjectUtils.isNotEmpty(entity)) {
             BeanUtils.copyProperties(entity, model);
+            CardInfoSimpleModel cardInfoSimpleModel = cardInfoService.toSimpleModel(entity.getCardInfo());
+            model.setCardInfo(cardInfoSimpleModel);
+
         }
         return model;
     }
@@ -1121,9 +1127,10 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
     public ExpenseFlowAreaModel toAreaModel(ExpenseFlow entity) {
         ExpenseFlowAreaModel model = new ExpenseFlowAreaModel();
         if (ObjectUtils.isNotEmpty(entity)) {
-            BeanUtils.copyProperties(entity, model);
-            // 卡片信息
-            // 用户信息
+            ExpenseFlowModel toModel = toModel(entity);
+            BeanUtils.copyProperties(toModel, model);
+
+            // 区域信息信息
             AreaSimpleModel simpleModel = entity.getArea();
             if (ObjectUtils.isNotEmpty(simpleModel)) {
                 List<AreaSimpleModel> areas = areaService.getParents(simpleModel.getId());