TRX 1 éve
szülő
commit
fc776dd18d

+ 3 - 3
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/CreateOrderParam.java

@@ -31,7 +31,7 @@ public class CreateOrderParam {
     @Schema(description = "设备ID")
     private String deviceId;
 
-    @Schema(description = "订单计费方式")
+    @Schema(description = "订单计费方式,定额支付")
     private ChargeableType chargeableType = ChargeableType.Specified;
 
     @Schema(description = "支付来源")
@@ -50,10 +50,10 @@ public class CreateOrderParam {
     private String amount;
 
     @Schema(description = "支付方式")
-    private PaymentType paymentType = PaymentType.UserWallet;
+    private PaymentType paymentType;
 
     @Schema(description = "支付设备和方式")
-    private PaymentDeviceType paymentDeviceType = PaymentDeviceType.HxzConsumTransactions;
+    private PaymentDeviceType paymentDeviceType;
 
     @Schema(description = "下单用户")
     private String userId;

+ 21 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/payment/OrderPayModel.java

@@ -19,4 +19,25 @@ public class OrderPayModel {
 
     @Schema(description = "支付提示")
     private String payMsg = "";
+
+    public OrderPayModel setFiled(String msg) {
+        this.isCanPay = Boolean.FALSE;
+        this.payMsg = msg;
+        return this;
+    }
+
+    public OrderPayModel setSuccess() {
+        this.isCanPay = Boolean.TRUE;
+        return this;
+    }
+
+    public OrderPayModel setSuccess(String msg) {
+        this.isCanPay = Boolean.TRUE;
+        this.payMsg = msg;
+        return this;
+    }
+
+    public boolean isSuccess() {
+        return this.isCanPay;
+    }
 }

+ 1 - 1
FullCardClient/src/main/java/com/zhongshu/card/client/model/scene/RoleBindsSceneParam.java

@@ -17,7 +17,7 @@ import java.util.List;
 @NoArgsConstructor
 public class RoleBindsSceneParam {
 
-    @Schema(description = "场景数据id")
+    @Schema(description = "组件数据id")
     private List<String> ids = new ArrayList<>();
 
     @Schema(description = "角色ID")

+ 2 - 0
FullCardClient/src/main/java/com/zhongshu/card/client/model/scene/RoleSceneComponentModel.java

@@ -17,4 +17,6 @@ public class RoleSceneComponentModel extends SceneComponentModel{
     @Schema(description = "角色绑定的数据id集合")
     private String roleSceneId;
 
+    @Schema(description = "项目应用的数据ID")
+    private String projectSceneInfoId;
 }

+ 12 - 2
FullCardClient/src/main/java/com/zhongshu/card/client/model/scene/RoleSceneInfoModel.java

@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
 import lombok.AllArgsConstructor;
 import lombok.Data;
 import lombok.NoArgsConstructor;
+import org.apache.commons.lang3.ObjectUtils;
 
 /**
  * @author TRX
@@ -15,10 +16,19 @@ import lombok.NoArgsConstructor;
 @NoArgsConstructor
 public class RoleSceneInfoModel extends SuperModel {
 
-    @Schema(description = "场景信息")
+    @Schema(description = "应用信息")
     private SceneInfoModel sceneInfo;
 
-    @Schema(description = "项目管理的场景ID")
+    private String sceneInfoName;
+
+    public String getSceneInfoName() {
+        if (ObjectUtils.isNotEmpty(sceneInfo)) {
+            return sceneInfo.getName();
+        }
+        return "";
+    }
+
+    @Schema(description = "项目管理的应用ID")
     private String projectSceneInfoId;
 
     @Schema(description = "角色ID")

+ 13 - 6
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/payment/OrderController.java

@@ -47,11 +47,18 @@ public class OrderController {
         return expenseFlowService.getOrderPayDetail(param.getId());
     }
 
-//    @ResourceAuth(value = "user", type = AuthType.User)
-//    @Operation(summary = "开始支付订单")
-//    @RequestMapping(value = {"payOrder"}, method = {RequestMethod.POST})
-//    public ResultContent payOrder(@RequestBody IDParam param) {
-//        return orderService.initPayOrder(param.getId());
-//    }
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "开始支付订单")
+    @RequestMapping(value = {"payOrder"}, method = {RequestMethod.POST})
+    public ResultContent payOrder(@RequestBody IDParam param) {
+        return expenseFlowService.initOrderPay(param.getId());
+    }
+
+    @ResourceAuth(value = "user", type = AuthType.User)
+    @Operation(summary = "取消订单")
+    @RequestMapping(value = {"cancelOrder"}, method = {RequestMethod.POST})
+    public ResultContent cancelOrder(@RequestBody IDParam param) {
+        return expenseFlowService.cancelOrder(param.getId());
+    }
 
 }

+ 3 - 6
FullCardServer/src/main/java/com/zhongshu/card/server/core/controller/scene/RoleSceneInfoController.java

@@ -5,10 +5,7 @@ import com.github.microservice.auth.security.type.AuthType;
 import com.github.microservice.net.ResultContent;
 import com.zhongshu.card.client.model.base.IDParam;
 import com.zhongshu.card.client.model.base.SortParam;
-import com.zhongshu.card.client.model.scene.RoleBindsSceneParam;
-import com.zhongshu.card.client.model.scene.RoleSceneComTreeModel;
-import com.zhongshu.card.client.model.scene.RoleSceneInfoModel;
-import com.zhongshu.card.client.model.scene.SceneInfoAboutComModel;
+import com.zhongshu.card.client.model.scene.*;
 import com.zhongshu.card.client.type.DataState;
 import com.zhongshu.card.server.core.service.scene.RoleSceneInfoService;
 import io.swagger.v3.oas.annotations.Operation;
@@ -68,8 +65,8 @@ public class RoleSceneInfoController {
     @ResourceAuth(value = "user", type = AuthType.User)
     @Operation(summary = "得到角色所有已启用的组件列表", description = "得到角色所有已启用的组件列表")
     @RequestMapping(value = {"getRoleAllEnableScenes"}, method = {RequestMethod.POST})
-    public ResultContent<List<RoleSceneComTreeModel>> getRoleAllEnableScenes(@RequestBody IDParam param) {
-        return roleSceneInfoService.tree(List.of(param.getId()), DataState.Enable);
+    public ResultContent<List<RoleSceneComponentModel>> getRoleAllEnableScenes(@RequestBody IDParam param) {
+        return roleSceneInfoService.listByRoleIds(List.of(param.getId()), DataState.Enable);
     }
 
     @ResourceAuth(value = "user", type = AuthType.User)

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

@@ -387,6 +387,46 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
         entity.setVerifyParamMsg("参数验证成功");
     }
 
+    /**
+     * 开始支付订单(主要是检查订单是否可以支付)
+     *
+     * @param id
+     * @return
+     */
+    public ResultContent initOrderPay(String id) {
+        ExpenseFlow expenseFlow = expenseFlowDao.findTopById(id);
+        if (ObjectUtils.isEmpty(expenseFlow)) {
+            return ResultContent.buildFail("订单不存在");
+        }
+        OrderPayModel orderPayModel = isCanPay(expenseFlow);
+        if (!orderPayModel.isSuccess()) {
+            return ResultContent.buildFail(orderPayModel.getPayMsg());
+        }
+
+        return ResultContent.buildSuccess();
+    }
+
+    /**
+     * 取消订单
+     *
+     * @param id
+     * @return
+     */
+    public ResultContent cancelOrder(String id) {
+        ExpenseFlow expenseFlow = expenseFlowDao.findTopById(id);
+        if (ObjectUtils.isEmpty(expenseFlow)) {
+            return ResultContent.buildFail("订单不存在");
+        }
+        OrderPayModel orderPayModel = isCanPay(expenseFlow);
+        if (!orderPayModel.isSuccess()) {
+            return ResultContent.buildFail(orderPayModel.getPayMsg());
+        }
+        expenseFlow.setOrderState(OrderState.CANCEL);
+        expenseFlowDao.save(expenseFlow);
+
+        return ResultContent.buildSuccess();
+    }
+
     /**
      * 订单支付
      *
@@ -394,7 +434,6 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
      * @return
      */
     public ResultContent<ExpenseFlow> orderPay(ExpenseFlow entity) {
-        // 判断参数是否符合要求
         if (entity.getVerifyParamIsSuccess() == null || !entity.getVerifyParamIsSuccess()) {
             // 参数验证失败
             entity.setIsPaySuccess(Boolean.FALSE);
@@ -879,24 +918,20 @@ public class ExpenseFlowServiceImpl extends SuperService implements ExpenseFlowS
      */
     public OrderPayModel isCanPay(ExpenseFlow entity) {
         OrderPayModel model = new OrderPayModel();
-        Boolean isCanPay = Boolean.FALSE;
-        String payMsg = "";
         if (ObjectUtils.isNotEmpty(entity)) {
+            if (entity.getVerifyParamIsSuccess() == null || !entity.getVerifyParamIsSuccess()) {
+                return model.setFiled(entity.getVerifyParamMsg());
+            }
             OrderState orderState = entity.getOrderState();
-            // 订单参数验证成功,并且 未支付
-            if (entity.getVerifyParamIsSuccess() != null && entity.getVerifyParamIsSuccess() && orderState == OrderState.WAIT_PAYMENT) {
-                if (entity.getExpirationTime() >= System.currentTimeMillis()) {
-                    isCanPay = Boolean.TRUE;
-                } else {
-                    payMsg = "支付超时";
-                    markOrderTimeOut(entity);
-                }
-            } else {
-                payMsg = entity.getVerifyParamMsg();
+            if (orderState != OrderState.WAIT_PAYMENT) {
+                return model.setFiled(String.format("订单状态:%S", orderState.getRemark()));
+            }
+            if (entity.getExpirationTime() <= System.currentTimeMillis()) {
+                markOrderTimeOut(entity);
+                return model.setFiled("支付超时");
             }
         }
-        model.setIsCanPay(isCanPay);
-        model.setPayMsg(payMsg);
+        model.setSuccess();
         return model;
     }
 

+ 0 - 8
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/payment/OrderService.java

@@ -36,9 +36,6 @@ public class OrderService extends SuperService {
     @Autowired
     private DeviceInfoDao deviceInfoDao;
 
-    @Autowired
-    private DevicePermissVerifyService devicePermissVerifyService;
-
     @Autowired
     private ExpenseFlowServiceImpl expenseFlowService;
 
@@ -98,9 +95,4 @@ public class OrderService extends SuperService {
         return expenseFlowService.getOrderPayDetail(expenseFlow.getId());
     }
 
-//    public ResultContent initPayOrder(String id) {
-//        ExpenseFlow expenseFlow = expenseFlowService
-//        return ResultContent.buildSuccess();
-//    }
-
 }

+ 18 - 4
FullCardServer/src/main/java/com/zhongshu/card/server/core/service/scene/RoleSceneInfoService.java

@@ -151,7 +151,6 @@ public class RoleSceneInfoService extends SuperService {
 
     public ResultContent<List<RoleSceneComTreeModel>> tree(List<String> roleIds, DataState state) {
         List<RoleSceneComTreeModel> models = new ArrayList<>();
-
         List<RoleSceneInfo> list = roleSceneInfoDao.findByRoleIdInOrderBySortAsc(roleIds);
         if (ObjectUtils.isNotEmpty(list)) {
             if (state != null) {
@@ -193,6 +192,7 @@ public class RoleSceneInfoService extends SuperService {
                     SceneComponentModel sceneComponentModel = sceneInfoService.toComponentModel(it.getComponent());
                     BeanUtils.copyProperties(sceneComponentModel, componentModel);
                     componentModel.setRoleSceneId(it.getId());
+                    componentModel.setProjectSceneInfoId(projectSceneInfoId);
 
                     return componentModel;
                 }).collect(Collectors.toList());
@@ -212,18 +212,32 @@ public class RoleSceneInfoService extends SuperService {
         return ResultContent.buildSuccess(models);
     }
 
+    public ResultContent<List<RoleSceneComponentModel>> listByRoleIds(List<String> roleIds, DataState state) {
+        List<RoleSceneComponentModel> list = new ArrayList<>();
+        ResultContent<List<RoleSceneComTreeModel>> content = tree(roleIds, state);
+        if (content.isSuccess()) {
+            List<RoleSceneComTreeModel> models = content.getContent();
+            if (ObjectUtils.isNotEmpty(models)) {
+                models.stream().forEach(it -> {
+                    list.addAll(it.getChildren());
+                });
+            }
+        }
+        return ResultContent.buildSuccess(list);
+    }
+
     /**
      * 得到当前用户可以的 场景 组件信息
      *
      * @return
      */
-    public List<RoleSceneComTreeModel> getUserAllEnableScenes() {
+    public List<RoleSceneComponentModel> getUserAllEnableScenes() {
         // 得到当前用户所有的角色
         ResultContent<List<RoleSimpleModel>> content = roleServiceImpl.xcxGetCurrentRoles();
         if (content.isSuccess()) {
             List<RoleSimpleModel> roles = content.getContent();
             if (ObjectUtils.isNotEmpty(roles)) {
-                ResultContent<List<RoleSceneComTreeModel>> treeContent = tree(roles.stream().map(RoleSimpleModel::getId).collect(Collectors.toList()), DataState.Enable);
+                ResultContent<List<RoleSceneComponentModel>> treeContent = listByRoleIds(roles.stream().map(RoleSimpleModel::getId).collect(Collectors.toList()), DataState.Enable);
                 if (treeContent.isSuccess()) {
                     return treeContent.getContent();
                 }
@@ -333,7 +347,7 @@ public class RoleSceneInfoService extends SuperService {
         RoleSceneInfoModel model = new RoleSceneInfoModel();
         if (ObjectUtils.isNotEmpty(entity)) {
             BeanUtils.copyProperties(entity, model);
-            // 管理的应用信息
+            // 关联的应用信息
             model.setSceneInfo(sceneInfoService.toModel(entity.getSceneInfo()));
             // 关联的组件信息
             model.setSceneComponent(sceneInfoService.toComponentModel(entity.getComponent()));