Просмотр исходного кода

二手商品点击发送时判断是否实名认证
二手商品点击发送时判断信用分<100时候弹出提示信用分不足

lutong 9 часов назад
Родитель
Сommit
2885c3a298

+ 4 - 0
alien-second/src/main/java/shop/alien/second/controller/SecondGoodsController.java

@@ -114,6 +114,10 @@ public class SecondGoodsController {
             }
             return R.success("保存商品为草稿成功");
         } else {
+            String validateMsg = secondGoodsService.validatePublishQualification(secondGoods.getUserId());
+            if (validateMsg != null) {
+                return R.fail(validateMsg);
+            }
             // 添加商品 0 创建
             if (!secondGoodsService.createBasicInfo(secondGoods,0)) {
                 return R.fail("添加二手商品失败");

+ 7 - 0
alien-second/src/main/java/shop/alien/second/service/SecondGoodsService.java

@@ -223,4 +223,11 @@ public interface SecondGoodsService extends IService<SecondGoods> {
      * @param goods 商品信息
      */
     void performPublishRiskCheck(SecondGoods goods);
+
+    /**
+     * 校验用户是否具备发布商品资格(实名认证 + 信用分≥100)
+     * @param userId 用户ID
+     * @return 校验不通过时返回错误信息,通过时返回 null
+     */
+    String validatePublishQualification(Integer userId);
 }

+ 26 - 0
alien-second/src/main/java/shop/alien/second/service/impl/SecondGoodsServiceImpl.java

@@ -597,6 +597,32 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
     }
 
     /**
+     * 校验用户是否具备发布商品资格
+     */
+    @Override
+    public String validatePublishQualification(Integer userId) {
+        if (userId == null) {
+            return "用户未登录,无法发布商品";
+        }
+        LifeUser user = lifeUserMapper.selectById(userId);
+        if (user == null) {
+            return "用户不存在";
+        }
+        if (StringUtils.isBlank(user.getRealName()) || StringUtils.isBlank(user.getIdCard())) {
+            return "请先完成实名认证后再发布商品";
+        }
+        LambdaQueryWrapper<SecondUserCredit> creditWrapper = new LambdaQueryWrapper<>();
+        creditWrapper.eq(SecondUserCredit::getUserId, userId)
+                .eq(SecondUserCredit::getDeleteFlag, 0);
+        SecondUserCredit userCredit = secondUserCreditMapper.selectOne(creditWrapper);
+        int userPoints = userCredit != null && userCredit.getUserPoints() != null ? userCredit.getUserPoints() : 0;
+        if (userPoints < 100) {
+            return "信用分不足100,无法发布商品";
+        }
+        return null;
+    }
+
+    /**
      * 保存商品为草稿状态
      * @param goods 商品实体
      * @return 是否成功保存