Bläddra i källkod

fix 工单隔离

zoujiajian 2 år sedan
förälder
incheckning
9045f3a075

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/entity/WorkOrder.java

@@ -50,6 +50,11 @@ public class WorkOrder extends BaseEntity{
 
 	private String remark;
 
+	/**
+	 * 店铺主键id
+	 */
+	private Long yhsId;
+
 	@Getter
 	public enum Type {
 		freeze("账号被封"),

+ 5 - 0
netflix-dao/src/main/java/com/cyksj/model/request/WorkOrderReq.java

@@ -28,4 +28,9 @@ public class WorkOrderReq {
 	private String content;
 
 	private String imgs;
+
+	/**
+	 * 店铺自定义id
+	 */
+	private String customId;
 }

+ 3 - 0
netflix-dao/src/main/java/com/cyksj/model/views/UserWorkOrderView.java

@@ -57,4 +57,7 @@ public class UserWorkOrderView {
 
 	@DbField("wo.customer_service_auth_id")
 	private String customerServiceAuthId;
+
+	@DbField("wo.yhs_id")
+	private Long yhsId;
 }

+ 4 - 0
netflix-service/src/main/java/com/cyksj/service/shop/impl/YhShopDistributeServiceImpl.java

@@ -51,6 +51,10 @@ public class YhShopDistributeServiceImpl implements YhShopDistributeService {
 			log.info("订单orderId:{}店铺yhs_id:{}对应的店铺不存在", order.getId(), order.getYhsId());
 			return;
 		}
+		if (order.getUserId().equals(yhShop.getUserId())) {
+			log.info("店主:{}自购订单orderId:{}不产生提成", order.getYhsId(), order.getId());
+			return;
+		}
 		Long shopUserId = yhShop.getUserId();
 		YhShopDistributeWaitingSendPoints distributeWaitingSendPoints = new YhShopDistributeWaitingSendPoints();
 		distributeWaitingSendPoints.setOrderId(order.getId());

+ 7 - 0
netflix-service/src/main/java/com/cyksj/service/user/impl/WorkOrderFrontServiceImpl.java

@@ -15,6 +15,7 @@ import com.cyksj.model.entity.WorkOrderChatHistory;
 import com.cyksj.model.request.WorkOrderReq;
 import com.cyksj.model.views.CmsUserVO;
 import com.cyksj.model.views.GroupRelationDetailView;
+import com.cyksj.service.shop.YhShopFrontService;
 import com.cyksj.service.user.UserBindRelationService;
 import com.cyksj.service.user.UserService;
 import com.cyksj.service.user.WorkOrderFrontService;
@@ -51,6 +52,8 @@ public class WorkOrderFrontServiceImpl implements WorkOrderFrontService {
 
 	private final UserBindRelationService userBindRelationService;
 
+	private final YhShopFrontService yhShopFrontService;
+
 	@Override
 	@Transactional(rollbackFor = Throwable.class)
 	public void submitWorkOrder(WorkOrderReq workOrderReq) {
@@ -108,6 +111,10 @@ public class WorkOrderFrontServiceImpl implements WorkOrderFrontService {
 		if (workOrder.getType() == WorkOrder.Type.other) {
 			workOrder.setContent(workOrder.getContent());
 		}
+		if (StrUtil.isNotBlank(workOrderReq.getCustomId())) {
+			Long yhsId = yhShopFrontService.getYhsIdByCustomId(workOrderReq.getCustomId());
+			workOrder.setYhsId(yhsId);
+		}
 		workOrderMapper.insert(workOrder);
 	}
 

+ 6 - 1
netflix-web/src/main/java/com/cyksj/web/controller/user/UserController.java

@@ -22,6 +22,7 @@ import com.cyksj.model.views.*;
 import com.cyksj.service.corp.CropChatService;
 import com.cyksj.service.exchange.ExchangeCodeService;
 import com.cyksj.service.order.UserRealOrderBenefitsService;
+import com.cyksj.service.shop.YhShopFrontService;
 import com.cyksj.service.user.UserBindRelationService;
 import com.cyksj.service.user.UserService;
 import com.cyksj.service.user.WorkOrderFrontService;
@@ -69,6 +70,8 @@ public class UserController {
 
     private final UserBindRelationService userBindRelationService;
 
+    private final YhShopFrontService yhShopFrontService;
+
     @GetMapping(value = "/wx/whoami")
     public Result<UserWhoami> whoami() {
         long userId = StpUserUtil.getLoginIdAsLong();
@@ -171,10 +174,12 @@ public class UserController {
      * 用户工单历史列表
      */
     @GetMapping("/workOrder/get")
-    public Result<SearchResult<UserWorkOrderView>> getWorkOrder() {
+    public Result<SearchResult<UserWorkOrderView>> getWorkOrder(String customId) {
+        Long yhsId = yhShopFrontService.getYhsIdByCustomId(customId);
         long userId = StpUserUtil.getLoginIdAsLong();
         SearchResult<UserWorkOrderView> search = beanSearcher.search(UserWorkOrderView.class, MapUtils.flatBuilder(request.getParameterMap())
                 .field(UserWorkOrderView::getUserId, userId)
+                .field(UserWorkOrderView::getYhsId, yhsId)
                 .orderBy(UserWorkOrderView::getCreatedTime).desc()
                 .build());
         return GatewayResponse.SUCCESS.newBuilder().toResult(search);