瀏覽代碼

Merge remote-tracking branch 'origin/dev' into dev

# Conflicts:
#	alien-second/src/main/java/shop/alien/second/controller/RiskControlController.java
#	alien-second/src/main/java/shop/alien/second/service/RiskControlService.java
#	alien-second/src/main/java/shop/alien/second/service/impl/RiskControlServiceImpl.java
zjy 1 月之前
父節點
當前提交
140d64da50

+ 9 - 4
alien-second/src/main/java/shop/alien/second/controller/RiskControlController.java

@@ -1,10 +1,7 @@
 package shop.alien.second.controller;
 
 import lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RequestParam;
-import org.springframework.web.bind.annotation.RestController;
+import org.springframework.web.bind.annotation.*;
 import shop.alien.second.service.RiskControlService;
 
 @RestController
@@ -33,6 +30,14 @@ public class RiskControlController {
     }
 
     /**
+     * 发送封禁通知
+     */
+    @GetMapping("/sendNotice")
+    public void sendNotice(Integer userId) {
+        riskControlService.sendNotice(userId);
+    }
+
+    /**
      * 记录风控数据
      *
      * @param page     页码

+ 6 - 0
alien-second/src/main/java/shop/alien/second/service/RiskControlService.java

@@ -36,6 +36,11 @@ public interface RiskControlService extends IService<SecondRiskControlRecord> {
     List<SecondRiskControlRecord> getSameTypeRiskControlRecords(Integer ruleType, String businessId);
 
     /**
+     * 发送封禁通知
+     */
+    void sendNotice(Integer userId);
+
+    /**
      * 获取相同类型的风控数据
      *
      * @param page   页码
@@ -43,4 +48,5 @@ public interface RiskControlService extends IService<SecondRiskControlRecord> {
      * @return 查询风控列表
      */
     List<SecondRiskControlRecordVo> queryRiskControlRecords(Integer page, Integer size);
+
 }

+ 44 - 3
alien-second/src/main/java/shop/alien/second/service/impl/RiskControlServiceImpl.java

@@ -1,9 +1,7 @@
 package shop.alien.second.service.impl;
 
+import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
@@ -15,7 +13,13 @@ import shop.alien.entity.store.LifeClassManage;
 import shop.alien.entity.store.LifeUser;
 import shop.alien.entity.store.vo.LifeUserVo;
 import shop.alien.mapper.LifeUserMapper;
+import shop.alien.entity.store.LifeNotice;
+import shop.alien.entity.store.LifeUser;
+import shop.alien.entity.store.vo.WebSocketVo;
+import shop.alien.mapper.LifeNoticeMapper;
+import shop.alien.mapper.LifeUserMapper;
 import shop.alien.mapper.second.SecondRiskControlRecordMapper;
+import shop.alien.second.feign.AlienStoreFeign;
 import shop.alien.second.service.RiskControlService;
 import shop.alien.util.common.Constants;
 
@@ -34,6 +38,9 @@ import java.util.stream.Collectors;
 public class RiskControlServiceImpl extends ServiceImpl<SecondRiskControlRecordMapper, SecondRiskControlRecord> implements RiskControlService {
 
     private final SecondRiskControlRecordMapper secondRiskControlRecordMapper;
+    private final LifeNoticeMapper lifeNoticeMapper;
+    private final LifeUserMapper lifeUserMapper;
+    private final AlienStoreFeign alienStoreFeign;
 
     private final LifeUserMapper lifeUserMapper;
 
@@ -151,4 +158,38 @@ public class RiskControlServiceImpl extends ServiceImpl<SecondRiskControlRecordM
         }
     }
 
+
+    /**
+     * 发送封禁通知
+     */
+    public void sendNotice(Integer userId) {
+        LifeUser lifeUser = lifeUserMapper.selectById(userId);
+        if (lifeUser == null) return;
+
+        String phoneId = "user_" + lifeUser.getUserPhone();
+
+        // 给买家发送通知
+        LifeNotice lifeNotice = new LifeNotice();
+        lifeNotice.setSenderId("system");
+        lifeNotice.setReceiverId(phoneId);
+        lifeNotice.setBusinessId(userId);
+        lifeNotice.setTitle("账号违规处理");
+        lifeNotice.setNoticeType(1);
+        // 封装通知信息
+        JSONObject noticeMessage = new JSONObject();
+        noticeMessage.put("message", "账号违反平台规约进行封禁处理");
+        lifeNotice.setContext(noticeMessage.toJSONString());
+        lifeNoticeMapper.insert(lifeNotice);
+
+        // 给买家推送通知
+        WebSocketVo webSocketVo = new WebSocketVo();
+        webSocketVo.setSenderId("system");
+        webSocketVo.setReceiverId(phoneId);
+        webSocketVo.setCategory("notice");
+        webSocketVo.setNoticeType("1");
+        webSocketVo.setType("1");
+        webSocketVo.setText(JSONObject.from(lifeNotice).toJSONString());
+        alienStoreFeign.sendMsgToClientByPhoneId(phoneId, JSONObject.from(webSocketVo).toJSONString());
+    }
+
 }