Browse Source

fixed 商户订单核销功能完善

fushengqian 2 months ago
parent
commit
71ce0a3347

+ 25 - 0
fuint-application/src/main/java/com/fuint/common/param/OrderConfirmParam.java

@@ -0,0 +1,25 @@
+package com.fuint.common.param;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import java.io.Serializable;
+
+/**
+ * 订单核销请求参数
+ *
+ * Created by FSQ
+ * CopyRight https://www.fuint.cn
+ */
+@Data
+public class OrderConfirmParam implements Serializable {
+
+    @ApiModelProperty(value="核销码", name="code")
+    private String code;
+
+    @ApiModelProperty(value="订单ID", name="orderId")
+    private Integer orderId;
+
+    @ApiModelProperty(value="核销备注", name="remark")
+    private String remark;
+
+}

+ 0 - 6
fuint-application/src/main/java/com/fuint/module/merchantApi/controller/MerchantMemberController.java

@@ -83,9 +83,6 @@ public class MerchantMemberController extends BaseController {
         }
 
         UserInfo userInfo = TokenUtil.getUserInfoByToken(token);
-        if (userInfo == null) {
-            return getFailureResult(1001, "请先登录");
-        }
 
         MtUser mtUser = memberService.queryMemberById(userInfo.getId());
         MtStaff staffInfo = null;
@@ -179,9 +176,6 @@ public class MerchantMemberController extends BaseController {
     public ResponseObject info(HttpServletRequest request, @RequestBody MemberDetailParam memberParam) throws BusinessCheckException {
         String token = request.getHeader("Access-Token");
         UserInfo userInfo = TokenUtil.getUserInfoByToken(token);
-        if (userInfo == null) {
-            return getFailureResult(1001, "请先登录");
-        }
 
         MtStaff staffInfo = null;
         MtUser mtUser = memberService.queryMemberById(userInfo.getId());

+ 44 - 3
fuint-application/src/main/java/com/fuint/module/merchantApi/controller/MerchantOrderController.java

@@ -1,7 +1,10 @@
 package com.fuint.module.merchantApi.controller;
 
+import com.fuint.common.dto.OrderDto;
 import com.fuint.common.dto.UserInfo;
 import com.fuint.common.dto.UserOrderDto;
+import com.fuint.common.enums.YesOrNoEnum;
+import com.fuint.common.param.OrderConfirmParam;
 import com.fuint.common.param.OrderDetailParam;
 import com.fuint.common.param.OrderListParam;
 import com.fuint.common.service.MemberService;
@@ -21,6 +24,7 @@ import io.swagger.annotations.ApiOperation;
 import lombok.AllArgsConstructor;
 import org.springframework.web.bind.annotation.*;
 import javax.servlet.http.HttpServletRequest;
+import java.util.Date;
 
 /**
  * 订单类controller
@@ -120,12 +124,49 @@ public class MerchantOrderController extends BaseController {
             return getFailureResult(201, "订单已不存在");
         }
 
-        MtStaff staffInfo = staffService.queryStaffByUserId(mtUser.getId());
-        if (staffInfo == null || orderDto.getStoreInfo() == null || !staffInfo.getStoreId().equals(orderDto.getStoreInfo().getId())) {
-            return getFailureResult(201, "没有操作权限");
+        MtUser userInfo = memberService.queryMemberById(mtUser.getId());
+        MtStaff staffInfo = staffService.queryStaffByMobile(userInfo.getMobile());
+
+        if (staffInfo == null || (staffInfo.getStoreId() != null && staffInfo.getStoreId() > 0 && !staffInfo.getStoreId().equals(orderDto.getStoreInfo().getId()))) {
+            return getFailureResult(1004);
         }
 
         MtOrder orderInfo = orderService.cancelOrder(orderDto.getId(), "店员取消");
         return getSuccessResult(orderInfo);
     }
+
+    /**
+     * 核销订单
+     */
+    @ApiOperation(value = "核销订单")
+    @RequestMapping(value = "/confirm", method = RequestMethod.POST)
+    @CrossOrigin
+    public ResponseObject confirm(HttpServletRequest request, @RequestBody OrderConfirmParam param) throws BusinessCheckException {
+        String token = request.getHeader("Access-Token");
+        UserInfo mtUser = TokenUtil.getUserInfoByToken(token);
+
+        Integer orderId = param.getOrderId();
+
+        UserOrderDto orderInfo = orderService.getOrderById(orderId);
+        if (orderInfo == null) {
+            return getFailureResult(201, "订单已不存在");
+        }
+
+        MtUser userInfo = memberService.queryMemberById(mtUser.getId());
+        MtStaff staffInfo = staffService.queryStaffByMobile(userInfo.getMobile());
+        if (staffInfo == null || (staffInfo.getStoreId() != null && staffInfo.getStoreId() > 0 && !staffInfo.getStoreId().equals(orderInfo.getStoreInfo().getId()))) {
+            return getFailureResult(1004);
+        }
+
+        OrderDto orderDto = new OrderDto();
+        orderDto.setId(orderInfo.getId());
+        orderDto.setConfirmRemark(param.getRemark());
+        orderDto.setVerifyCode(param.getCode());
+        orderDto.setConfirmStatus(YesOrNoEnum.YES.getKey());
+        orderDto.setConfirmTime(new Date());
+
+        orderService.updateOrder(orderDto);
+
+        return getSuccessResult(true);
+    }
 }