Kaynağa Gözat

refactor(controller): 优化LifeUserDynamicsController代码结构

- 统一代码缩进与空格格式,提升可读性
- 删除冗余的AI审核相关测试方法
- 规范条件判断与参数校验的书写方式
- 调整方法参数对齐方式,增强一致性
- 移除无用的import语句及注释内容
Lhaibo 2 hafta önce
ebeveyn
işleme
9a92fd6fe8

+ 33 - 224
alien-store/src/main/java/shop/alien/store/controller/LifeUserDynamicsController.java

@@ -15,6 +15,7 @@ import org.springframework.http.HttpEntity;
 import org.springframework.http.HttpHeaders;
 import org.springframework.http.MediaType;
 import org.springframework.http.ResponseEntity;
+import org.springframework.http.client.ClientHttpRequestInterceptor;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.LinkedMultiValueMap;
 import org.springframework.util.MultiValueMap;
@@ -123,32 +124,32 @@ public class LifeUserDynamicsController {
             List<String> imgServicesList = Lists.newArrayList();
             imgServicesList.add(ImageReviewServiceEnum.TONALITY_IMPROVE.getService());
             imgServicesList.add(ImageReviewServiceEnum.AIGC_CHECK.getService());
-            ImageModerationResultVO response = imageModerationUtil.productPublishCheck(lifeUserDynamics.getImagePath(),imgServicesList);
+            ImageModerationResultVO response = imageModerationUtil.productPublishCheck(lifeUserDynamics.getImagePath(), imgServicesList);
             if ("high".equals(response.getRiskLevel())) {
                 return R.data(3);
             }
             lifeUserDynamics.setUpdatedTime(new Date());
             int cnt = 0;
-            if(lifeUserDynamics.getType().equals("4")){
+            if (lifeUserDynamics.getType().equals("4")) {
                 cnt = lifeUserDynamicsService.addOrUpdateStore(lifeUserDynamics);
-                if(cnt > 0){
-                        LifeUserExpertOrder lifeUserExpertOrder = lifeUserExpertOrderMapper.selectById(lifeUserDynamics.getBusinessId());
-                        if(lifeUserExpertOrder !=null){
-                            //达人发布动态 订单状态变为履约中
-                            lifeUserExpertOrder.setStatus(4);
-                            lifeUserExpertOrderMapper.updateById(lifeUserExpertOrder);
-                        }
-
-                        //达人作品同步增加一条达人动态记录
-                        LifeUserExpertWorks lifeUserExpertWorks = new LifeUserExpertWorks();
-                        lifeUserExpertWorks.setExpertId(lifeUserDynamics.getExpertId());
-                        lifeUserExpertWorks.setOrderId(lifeUserDynamics.getBusinessId());
-                        lifeUserExpertWorks.setWorksUrl(lifeUserDynamics.getImagePath());
-                        lifeUserExpertWorks.setIntroduction(lifeUserDynamics.getContext());
-                        lifeUserExpertWorks.setDynamicsId(lifeUserDynamics.getId());
-                        lifeUserExpertWorksMapper.insert(lifeUserExpertWorks);
+                if (cnt > 0) {
+                    LifeUserExpertOrder lifeUserExpertOrder = lifeUserExpertOrderMapper.selectById(lifeUserDynamics.getBusinessId());
+                    if (lifeUserExpertOrder != null) {
+                        //达人发布动态 订单状态变为履约中
+                        lifeUserExpertOrder.setStatus(4);
+                        lifeUserExpertOrderMapper.updateById(lifeUserExpertOrder);
+                    }
+
+                    //达人作品同步增加一条达人动态记录
+                    LifeUserExpertWorks lifeUserExpertWorks = new LifeUserExpertWorks();
+                    lifeUserExpertWorks.setExpertId(lifeUserDynamics.getExpertId());
+                    lifeUserExpertWorks.setOrderId(lifeUserDynamics.getBusinessId());
+                    lifeUserExpertWorks.setWorksUrl(lifeUserDynamics.getImagePath());
+                    lifeUserExpertWorks.setIntroduction(lifeUserDynamics.getContext());
+                    lifeUserExpertWorks.setDynamicsId(lifeUserDynamics.getId());
+                    lifeUserExpertWorksMapper.insert(lifeUserExpertWorks);
                 }
-            }else{
+            } else {
                 cnt = lifeUserDynamicsService.addOrUpdateStore(lifeUserDynamics);
             }
             if (cnt == 0) {
@@ -168,15 +169,15 @@ public class LifeUserDynamicsController {
         log.info("LifeUserDynamicsController.deleteDynamicsById?id={}", id);
         try {
             LifeUserDynamics lifeUserDynamics = lifeUserDynamicsService.getDynamicsById(id);
-            if(lifeUserDynamics !=null && lifeUserDynamics.getExpertId() !=null){
+            if (lifeUserDynamics != null && lifeUserDynamics.getExpertId() != null) {
                 boolean flag = lifeUserDynamicsService.deleteDynamicsById(id);
                 //同步删除达人作品表关联记录
-                if(flag){
+                if (flag) {
                     lifeUserExpertWorksMapper.delete(new LambdaQueryWrapper<LifeUserExpertWorks>()
-                            .eq(LifeUserExpertWorks :: getDynamicsId, lifeUserDynamics.getId()));
+                            .eq(LifeUserExpertWorks::getDynamicsId, lifeUserDynamics.getId()));
                 }
                 return R.success("删除成功");
-            }else{
+            } else {
                 lifeUserDynamicsService.deleteDynamicsById(id);
                 return R.success("删除成功");
             }
@@ -211,7 +212,7 @@ public class LifeUserDynamicsController {
     @PostMapping("addLiulanShu")
     public R addLiulanCount(String id) {
         log.info("LifeUserDynamicsController.addLiulanShu?id={}", id);
-        if (lifeUserDynamicsService.addLiulanCount(id) == 0){
+        if (lifeUserDynamicsService.addLiulanCount(id) == 0) {
             return R.fail("操作失败");
         }
         return R.success("操作成功");
@@ -224,8 +225,8 @@ public class LifeUserDynamicsController {
             @ApiImplicitParam(name = "phoneId", value = "用户唯一标识", dataType = "String", paramType = "query")})
     @GetMapping("/getUserDraftDynamics")
     public R<IPage<LifeUserDynamics>> getUserDraftDynamics(@RequestParam(defaultValue = "1") Integer page,
-                                                        @RequestParam(defaultValue = "10") Integer size,
-                                                        @RequestParam(required = false) String phoneId) {
+                                                           @RequestParam(defaultValue = "10") Integer size,
+                                                           @RequestParam(required = false) String phoneId) {
         log.info("LifeUserDynamicsController.getUserDraftDynamics?page={}&size={}&phoneId={}", page, size, phoneId);
         List<LifeUserDynamics> stores = lifeUserDynamicsService.getUserDraftDynamics(phoneId);
         return R.data(ListToPage.setPage(stores, page, size));
@@ -252,7 +253,7 @@ public class LifeUserDynamicsController {
                                                         @RequestParam(defaultValue = "10") Integer size,
                                                         @RequestParam(required = false) String userName,
                                                         @RequestParam(required = false) String userType,
-                                                        @RequestParam(defaultValue = "0",required = false) Integer dynamicsType,
+                                                        @RequestParam(defaultValue = "0", required = false) Integer dynamicsType,
                                                         @RequestParam(required = false) String releaseStartTime,
                                                         @RequestParam(required = false) String releaseEndTime) {
         log.info("LifeUserDynamicsController.getDynamicsList?page={}&size={}&nickName={}&userType={}&dynamicsType={}", page, size, userName, userType, dynamicsType);
@@ -266,7 +267,7 @@ public class LifeUserDynamicsController {
     @PostMapping("setTopStatus")
     public R setTopStatus(@RequestBody() LifeUserDynamicsVo lifeUserDynamicsVo) {
         log.info("LifeUserDynamicsController.setTopStatus?id={},topStatus={}", lifeUserDynamicsVo.getId(), lifeUserDynamicsVo.getTopStatus());
-        if (lifeUserDynamicsService.setTopStatus(lifeUserDynamicsVo) == 0){
+        if (lifeUserDynamicsService.setTopStatus(lifeUserDynamicsVo) == 0) {
             return R.fail("操作失败");
         }
         return R.success("操作成功");
@@ -277,7 +278,7 @@ public class LifeUserDynamicsController {
     @PostMapping("setEnableStatus")
     public R setEnableStatus(@RequestBody() LifeUserDynamicsVo lifeUserDynamicsVo) {
         log.info("LifeUserDynamicsController.setEnableStatus?id={},topStatus={}", lifeUserDynamicsVo.getId(), lifeUserDynamicsVo.getEnableStatus());
-        if (lifeUserDynamicsService.enableStatus(lifeUserDynamicsVo) == 0){
+        if (lifeUserDynamicsService.enableStatus(lifeUserDynamicsVo) == 0) {
             return R.fail("操作失败");
         }
         return R.success("操作成功");
@@ -327,12 +328,13 @@ public class LifeUserDynamicsController {
     @ApiOperationSupport(order = 8)
     @PostMapping("/addUserStoreBrowseNumber")
     public R addUserStoreBrowseNumber(@RequestBody LifeBrowseRecord lifeBrowseRecord) {
-        log.info("LifeUserDynamicsController.addUserStoreBrowseNumber?lifeBrowseRecord={}",lifeBrowseRecord.toString());
+        log.info("LifeUserDynamicsController.addUserStoreBrowseNumber?lifeBrowseRecord={}", lifeBrowseRecord.toString());
         return R.data(lifeUserDynamicsService.addUserStoreBrowseNumber(lifeBrowseRecord));
     }
 
     /**
      * 动态被转发次数+1
+     *
      * @param id 动态id
      * @return 操作结果
      */
@@ -341,202 +343,9 @@ public class LifeUserDynamicsController {
     @GetMapping("addTransferCount")
     public R addTransferCount(String id) {
         log.info("LifeUserDynamicsController.addTransferCount?id={}", id);
-        if (lifeUserDynamicsService.addTransferCount(id) == 0){
+        if (lifeUserDynamicsService.addTransferCount(id) == 0) {
             return R.fail("操作失败");
         }
         return R.success("操作成功");
     }
-
-    @GetMapping("/testAI")
-    public R testAI() {
-        List<LifeUserDynamics> lifeUserDynamics = lifeUserDynamicsMapper.selectList(new LambdaQueryWrapper<LifeUserDynamics>()
-                .eq(LifeUserDynamics::getCheckFlag, 0).eq(LifeUserDynamics::getDeleteFlag, 0));
-
-        // 常见图片后缀(可按需添加,如 .heic、.svg 等)
-        HashSet<String> IMAGE_SUFFIXES = new HashSet<>(Arrays.asList(
-                "jpg", "jpeg", "png", "gif", "bmp", "webp", "heic", "svg", "tiff"
-        ));
-        // 常见视频后缀(可按需添加,如 .avi、.flv 等)
-        HashSet<String> VIDEO_SUFFIXES = new HashSet<>(Arrays.asList(
-                "mp4", "mov", "mkv", "avi", "flv", "wmv", "mpeg", "mpg", "webm"
-        ));
-        RestTemplate restTemplate = new RestTemplate();
-
-        for (LifeUserDynamics lifeUserDynamic : lifeUserDynamics) {
-            String imagePath = lifeUserDynamic.getImagePath();
-
-            List<String> imageList = new ArrayList<>();
-            List<String> videoList = new ArrayList<>();
-            // 按分隔符拆分路径数组(处理连续分隔符如 ",," 产生的空字符串)
-            String[] allPaths = imagePath.split(",");
-            for (String path : allPaths) {
-                // 去除路径前后空格(避免 " a.jpg " 这类情况)
-                String trimmedPath = path.trim();
-                if (trimmedPath.isEmpty()) {
-                    continue; // 跳过空路径
-                }
-                // 获取文件后缀(忽略大小写)
-                // 找到最后一个 "." 的位置
-                int lastDotIndex = trimmedPath.lastIndexOf('.');
-                // 截取后缀(从 "." 后一位到结尾)
-                String suffix = trimmedPath.substring(lastDotIndex + 1);
-                // 分类添加到对应列表
-                if (IMAGE_SUFFIXES.contains(suffix)) {
-                    imageList.add(trimmedPath);
-                } else if (VIDEO_SUFFIXES.contains(suffix)) {
-                    videoList.add(trimmedPath);
-                }
-                try {
-                    log.info("登录Ai服务获取token..." + "http://192.168.2.250:9000/ai/user-auth-core/api/v1/auth/login");
-                    MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
-                    formData.add("username", "UdUser");
-                    formData.add("password", "123456");
-
-                    HttpHeaders headers = new HttpHeaders();
-                    headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-                    HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formData, headers);
-                    ResponseEntity<String> postForEntity = null;
-                    try {
-                        log.info("请求Ai服务登录接口===================>");
-                        postForEntity = restTemplate.postForEntity("http://192.168.2.250:9000/ai/user-auth-core/api/v1/auth/login", requestEntity, String.class);
-                    } catch (Exception e) {
-                        log.error("请求AI服务登录接口失败", e);
-                    }
-
-                    if (postForEntity != null && postForEntity.getStatusCodeValue() == 200) {
-                        log.info("请求Ai服务登录成功 postForEntity.getBody()\t" + postForEntity.getBody());
-                        String responseBody = postForEntity.getBody();
-                        JSONObject jsonObject = JSONObject.parseObject(responseBody);
-                        if (jsonObject != null) {
-                            JSONObject dataJson = jsonObject.getJSONObject("data");
-                            String accessToken = dataJson.getString("access_token");
-
-                            HttpHeaders aiHeaders = new HttpHeaders();
-                            aiHeaders.setContentType(MediaType.APPLICATION_JSON);
-                            aiHeaders.set("Authorization", "Bearer " + accessToken);
-
-                            Map<String, Object> jsonBody = new HashMap<>();
-                            jsonBody.put("text", lifeUserDynamic.getContext());
-                            jsonBody.put("imgUrl", imageList);
-                            jsonBody.put("video", videoList);
-
-                            HttpEntity<Map<String, Object>> request = new HttpEntity<>(jsonBody, aiHeaders);
-                            ResponseEntity<String> response = null;
-                            try {
-                                response = restTemplate.postForEntity("http://192.168.2.250:9000/ai/auto-review/api/v1/multimodal_audit_task/submit", request, String.class);
-                                if (response.getStatusCodeValue() != 200) {
-                                    log.error("AI内容审核接口调用失败 http状态:" + response.getStatusCode());
-                                }
-                                JSONObject responseNode = JSONObject.parseObject(response.getBody());
-                                if (responseNode == null) {
-                                    log.error("AI接口调用失败,响应内容为空");
-                                }
-                                Integer code = null;
-                                if (responseNode != null) {
-                                    code = responseNode.getInteger("code");
-                                    if(code==200) {
-                                        JSONObject dataNode = JSONObject.from(responseNode.get("data"));
-                                        LifeUserDynamics dynamics = new LifeUserDynamics();
-                                        dynamics.setId(lifeUserDynamic.getId());
-                                        dynamics.setCheckFlag(1);
-                                        dynamics.setAiTaskId(dataNode.get("task_id").toString());
-                                        lifeUserDynamicsMapper.updateById(dynamics);
-                                        log.info("动态审核成功,AI返回内容: {}", response.getBody());
-                                    }
-                                }else {
-                                    log.error("AI接口调用失败,错误码: " + code);
-                                }
-                            } catch (Exception e) {
-                                log.error("调用AI内容审核接口失败", e);
-                            }
-                        }
-                    }
-                } catch (RuntimeException ex) {
-                    return R.fail("动态内容审核任务执行失败:" + ex.getMessage());
-                }
-            }
-        }
-        return R.success("动态内容审核任务执行成功");
-    }
-
-    @GetMapping("/testAIGet")
-    public R testAIGet() {
-        List<LifeUserDynamics> lifeUserDynamics = lifeUserDynamicsMapper.selectList(new LambdaQueryWrapper<LifeUserDynamics>()
-                .eq(LifeUserDynamics::getCheckFlag, 1).eq(LifeUserDynamics::getDeleteFlag, 0));
-        RestTemplate restTemplate = new RestTemplate();
-        for (LifeUserDynamics lifeUserDynamic : lifeUserDynamics) {
-            try {
-                MultiValueMap<String, String> formData = new LinkedMultiValueMap<>();
-                formData.add("username", "UdUser");
-                formData.add("password", "123456");
-
-                HttpHeaders headers = new HttpHeaders();
-                headers.setContentType(MediaType.APPLICATION_FORM_URLENCODED);
-                HttpEntity<MultiValueMap<String, String>> requestEntity = new HttpEntity<>(formData, headers);
-                ResponseEntity<String> postForEntity = null;
-                try {
-                    log.info("请求Ai服务登录接口===================>");
-                    postForEntity = restTemplate.postForEntity("http://192.168.2.250:9000/ai/user-auth-core/api/v1/auth/login", requestEntity, String.class);
-                } catch (Exception e) {
-                    log.error("请求AI服务登录接口失败", e);
-                }
-
-                if (postForEntity != null && postForEntity.getStatusCodeValue() == 200) {
-                    log.info("请求Ai服务登录成功 postForEntity.getBody()\t" + postForEntity.getBody());
-                    String responseBody = postForEntity.getBody();
-                    JSONObject jsonObject = JSONObject.parseObject(responseBody);
-                    if (jsonObject != null) {
-                        JSONObject dataJson = jsonObject.getJSONObject("data");
-                        String accessToken = dataJson.getString("access_token");
-
-                        HttpHeaders aiHeaders = new HttpHeaders();
-                        aiHeaders.setContentType(MediaType.APPLICATION_JSON);
-                        aiHeaders.set("Authorization", "Bearer " + accessToken);
-
-                        Map<String, Object> jsonBody = new HashMap<>();
-                        jsonBody.put("task_id", lifeUserDynamic.getAiTaskId());
-
-                        HttpEntity<Map<String, Object>> request = new HttpEntity<>(jsonBody, aiHeaders);
-                        ResponseEntity<String> response = null;
-                        try {
-                            response = restTemplate.getForEntity("http://192.168.2.250:9000/ai/auto-review/api/v1/multimodal_audit_task/getResult?task_id="+lifeUserDynamic.getAiTaskId(), String.class);
-                            if (response.getStatusCodeValue() != 200) {
-                                log.error("AI内容审核结果获取接口调用失败 http状态:" + response.getStatusCode());
-                            }
-                            JSONObject responseNode = JSONObject.parseObject(response.getBody());
-                            if (responseNode == null) {
-                                log.error("AI接口调用失败,响应内容为空");
-                            }
-                            Integer code = null;
-                            if (responseNode != null) {
-                                code = responseNode.getInteger("code");
-                                if(code==200) {
-                                    JSONObject dataNode = JSONObject.from(responseNode.get("data"));
-
-                                    if (!(boolean) dataNode.get("is_compliant")) {
-                                        LifeUserDynamics dynamics = new LifeUserDynamics();
-                                        dynamics.setId(lifeUserDynamic.getId());
-                                        dynamics.setCheckFlag(2);
-                                        dynamics.setEnableStatus(1);
-                                        dynamics.setReason(String.valueOf(dataNode.get("failure_reason")));
-                                        lifeUserDynamicsMapper.updateById(dynamics);
-                                    }
-                                    log.info("动态审核结果获取成功,AI返回内容: {}", response.getBody());
-//                                    XxlJobHelper.handleSuccess("动态内容审核任务结果获取执行成功");
-                                } else {
-                                    log.error("AI接口调用失败,错误码: " + code);
-                                }
-                            }
-                        } catch (Exception e) {
-                            log.error("调用AI内容审核结果获取接口失败", e);
-                        }
-                    }
-                }
-            } catch (RuntimeException ex) {
-//                XxlJobHelper.handleFail("动态内容审核任务结果获取执行失败:" + ex.getMessage());
-                return R.fail("动态内容审核任务结果获取执行失败:" + ex.getMessage());
-            }
-        }
-        return R.success("动态内容审核任务结果获取执行成功");
-    }
 }