Ver código fonte

优化举报接口

zhangchen 3 semanas atrás
pai
commit
cd9043a63b

+ 28 - 0
alien-lawyer/src/main/java/shop/alien/lawyer/controller/LawyerUserViolationController.java

@@ -7,9 +7,11 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.*;
 import shop.alien.entity.result.R;
 import shop.alien.entity.store.LawyerUserViolation;
+import shop.alien.entity.store.StoreDictionary;
 import shop.alien.entity.store.dto.LawyerUserViolationDto;
 import shop.alien.lawyer.service.LawyerUserViolationService;
 
+import java.util.List;
 import java.util.Map;
 
 
@@ -141,5 +143,31 @@ public class LawyerUserViolationController {
     public LawyerUserViolationDto byIdNotice(@RequestParam(defaultValue = "10") int id) {
         return lawyerUserViolationService.byIdNotice(id);
     }
+
+    /**
+     * 获取举报原因列表
+     * <p>
+     * 用于获取所有可用的律师违规举报原因选项,供前端下拉选择使用
+     * </p>
+     *
+     * @return 统一响应结果,包含举报原因字典列表
+     * @author system
+     * @since 2025-01-XX
+     */
+    @ApiOperation(value = "获取举报原因", notes = "获取所有可用的律师违规举报原因选项列表")
+    @ApiOperationSupport(order = 8)
+    @GetMapping("/getViolationReason")
+    public R<List<StoreDictionary>> getViolationReason() {
+        log.info("获取举报原因列表请求");
+        try {
+            List<StoreDictionary> violationReasonList = lawyerUserViolationService.getViolationReason();
+            log.info("获取举报原因列表成功,共{}条记录", violationReasonList.size());
+            return R.data(violationReasonList);
+        } catch (Exception e) {
+            log.error("获取举报原因列表异常,异常信息:{}", e.getMessage(), e);
+            return R.fail("获取举报原因列表失败,请稍后重试");
+        }
+    }
+
 }
 

+ 14 - 0
alien-lawyer/src/main/java/shop/alien/lawyer/service/LawyerUserViolationService.java

@@ -3,10 +3,12 @@ package shop.alien.lawyer.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
 import shop.alien.entity.store.LawyerUserViolation;
+import shop.alien.entity.store.StoreDictionary;
 import shop.alien.entity.store.UserLoginInfo;
 import shop.alien.entity.store.dto.LawyerUserViolationDto;
 
 import java.io.IOException;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -42,5 +44,17 @@ public interface LawyerUserViolationService extends IService<LawyerUserViolation
     String exportExcel(String nickName, String phone, String processingStatus) throws IOException;
 
     String level(UserLoginInfo userLoginInfo);
+
+    /**
+     * 获取举报原因列表
+     * <p>
+     * 查询所有未删除的律师违规举报原因字典数据
+     * </p>
+     *
+     * @return 举报原因字典列表,如果查询失败或没有数据则返回空列表
+     * @author system
+     * @since 2025-01-XX
+     */
+    List<StoreDictionary> getViolationReason();
 }
 

+ 30 - 0
alien-lawyer/src/main/java/shop/alien/lawyer/service/impl/LawyerUserViolationServiceImpl.java

@@ -54,6 +54,8 @@ public class LawyerUserViolationServiceImpl extends ServiceImpl<LawyerUserViolat
 
     private final WebSocketProcess webSocketProcess;
 
+    private final StoreDictionaryMapper storeDictionaryMapper;
+
     /**
      * 用户举报处理
      * <p>
@@ -743,5 +745,33 @@ public class LawyerUserViolationServiceImpl extends ServiceImpl<LawyerUserViolat
         if (count >= 3) return "B";
         return "A";
     }
+
+    /**
+     * 获取举报原因列表
+     * <p>
+     * 查询所有未删除的律师违规举报原因字典数据,按类型名称过滤
+     * </p>
+     *
+     * @return 举报原因字典列表,如果查询失败或没有数据则返回空列表
+     * @author system
+     * @since 2025-01-XX
+     */
+    @Override
+    public List<StoreDictionary> getViolationReason() {
+        log.info("开始查询举报原因列表");
+        try {
+            LambdaQueryWrapper<StoreDictionary> queryWrapper = new LambdaQueryWrapper<>();
+            queryWrapper.eq(StoreDictionary::getDeleteFlag, 0)
+                    .eq(StoreDictionary::getTypeName, "lawyerViolationReason")
+                    .orderByAsc(StoreDictionary::getId);
+
+            List<StoreDictionary> violationReasonList = storeDictionaryMapper.selectList(queryWrapper);
+            log.info("查询举报原因列表成功,共{}条记录", violationReasonList.size());
+            return violationReasonList != null ? violationReasonList : new ArrayList<>();
+        } catch (Exception e) {
+            log.error("查询举报原因列表异常,异常信息:{}", e.getMessage(), e);
+            throw new RuntimeException("查询举报原因列表失败:" + e.getMessage(), e);
+        }
+    }
 }