From f0a9a41697a8568e8b3bd3436c450e68b3298916 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 27 二月 2025 11:39:18 +0800
Subject: [PATCH] 修改日志

---
 springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintFlowServiceImpl.java |   59 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 57 insertions(+), 2 deletions(-)

diff --git a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintFlowServiceImpl.java b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintFlowServiceImpl.java
index c2bbbcc..a11c5bb 100644
--- a/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintFlowServiceImpl.java
+++ b/springcloud_k8s_panzhihuazhihuishequ/service_sangeshenbian/src/main/java/com/panzhihua/sangeshenbian/service/impl/ComplaintFlowServiceImpl.java
@@ -1,10 +1,23 @@
 package com.panzhihua.sangeshenbian.service.impl;
 
-import com.panzhihua.sangeshenbian.entity.ComplaintFlow;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.netflix.servo.monitor.LongGauge;
+import com.panzhihua.common.exceptions.ServiceException;
+import com.panzhihua.common.model.vos.LoginUserInfoVO;
+import com.panzhihua.common.model.vos.R;
+import com.panzhihua.common.service.user.UserService;
+import com.panzhihua.sangeshenbian.enums.ReportTypeEnum;
+import com.panzhihua.sangeshenbian.model.entity.*;
 import com.panzhihua.sangeshenbian.dao.ComplaintFlowMapper;
-import com.panzhihua.sangeshenbian.service.IComplaintFlowService;
+import com.panzhihua.sangeshenbian.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.context.annotation.Lazy;
 import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.Date;
 
 /**
  * <p>
@@ -15,6 +28,48 @@
  * @since 2025-02-22
  */
 @Service
+@RequiredArgsConstructor(onConstructor_ = {@Lazy})
 public class ComplaintFlowServiceImpl extends ServiceImpl<ComplaintFlowMapper, ComplaintFlow> implements IComplaintFlowService {
+    private final IComplaintService complaintService;
+    private final IBcRegionService bcRegionService;
+    private final IComStreetService comStreetService;
+    private final IComActService comActService;
+    private final UserService userService;
 
+    @Override
+    public void createFlow(Long complaintId , Long superiorId, Integer reportType, Integer type, Long userId) {
+
+
+        String name = getFlowName(reportType, superiorId);
+
+        ComplaintFlow complaintFlow = new ComplaintFlow();
+        complaintFlow.setComplaintId(complaintId);
+        complaintFlow.setLevel(reportType);
+        complaintFlow.setName(name);
+        complaintFlow.setCreateTime(new Date(System.currentTimeMillis()));
+        complaintFlow.setType(type);
+        save(complaintFlow);
+    }
+
+    private String getFlowName(Integer reportType, Long superiorId) {
+        String name;
+        if (reportType == ReportTypeEnum.COMMUNITY.getCode()) {
+            ComAct byId = comActService.getById(superiorId);
+            name = byId.getName();
+        }else if (reportType == ReportTypeEnum.STREET.getCode()) {
+            ComStreet comStreet = comStreetService.getById(superiorId);
+            name = comStreet.getName();
+        }  else if (reportType == ReportTypeEnum.CITY.getCode() || reportType == ReportTypeEnum.DISTRICT.getCode()){
+            BcRegion bcRegion = bcRegionService.getOne(new LambdaQueryWrapper<BcRegion>()
+                    .eq(BcRegion::getRegionCode, superiorId));
+            name = bcRegion.getRegionName();
+        } else {
+            R<LoginUserInfoVO> userR = userService.getUserInfoByUserId(String.valueOf(superiorId));
+            if (R.isOk(userR)) {
+                throw new ServiceException("获取用户信息失败");
+            }
+            name =  userR.getData().getNickName();
+        }
+        return name;
+    }
 }

--
Gitblit v1.7.1