Explorar o código

修改---合并【HuNan_20250330】分支上的后端代码

zhouhaijun hai 1 semana
pai
achega
43d9f80624

+ 7 - 7
src/main/java/com/bootdo/datas/controller/DataController.java

@@ -218,7 +218,7 @@ public class DataController {
         // 0:待审核 1:删除 2:已上报 3:通过审核 4:驳回
         data.setId(id);
         data.setDataStatus("3");
-        gyDataService.updateStatus(data);
+        gyDataService.updateStatus(data,"");
         return R.ok();
     }
 
@@ -257,7 +257,7 @@ public class DataController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,"");
                 }
             }
         }
@@ -274,13 +274,13 @@ public class DataController {
     @PostMapping("/rebut")
     @ResponseBody
     @RequiresPermissions("datas:data:rebut")
-    public R rebut(Long id) {
+    public R rebut(Long id,String opinion) {
         log.info("驳回  id:" + id);
         GyDataImportDTO data = new GyDataImportDTO();
         // 0:正常 1:删除 2:已上报 3:通过审核 4:驳回
         data.setId(id);
         data.setDataStatus("4");
-        gyDataService.updateStatus(data);
+        gyDataService.updateStatus(data,opinion);
         return R.ok();
     }
 
@@ -294,7 +294,7 @@ public class DataController {
     @PostMapping("/batchRebut")
     @ResponseBody
     @RequiresPermissions("datas:data:rebut")
-    public R batchRebut(@RequestParam("ids[]") Long[] ids) {
+    public R batchRebut(@RequestParam("ids[]") Long[] ids,@RequestParam("opinion")String opinion) {
         log.info("审核通过 备案主键 ids:" + ids);
         List<String> failedDataNames = new ArrayList<>();
         List<GyDataImportDTO> dataImportDTOList = new ArrayList<>();
@@ -319,7 +319,7 @@ public class DataController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,opinion);
                 }
             }
         }
@@ -421,7 +421,7 @@ public class DataController {
                 data.setId(id);
                 data.setSendVerify("3");
                 data.setNextVerifyDept(deptId);
-                gyDataService.updateStatus(data);
+                gyDataService.updateStatus(data,"");
             }
         }
         return R.ok();

+ 51 - 0
src/main/java/com/bootdo/datas/controller/DataEntryController.java

@@ -0,0 +1,51 @@
+package com.bootdo.datas.controller;
+
+
+import com.bootdo.common.annotation.Log;
+import com.bootdo.common.utils.PageUtils;
+import com.bootdo.common.utils.Query;
+import com.bootdo.datas.dto.GyDataImportDTO;
+import com.bootdo.datas.service.GyDataService;
+import com.google.common.collect.Lists;
+import org.apache.shiro.authz.annotation.RequiresPermissions;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.ResponseBody;
+
+import java.util.List;
+import java.util.Map;
+
+@Controller
+@RequestMapping("/datas/dataEntry")
+public class DataEntryController {
+    private static Logger log = LoggerFactory.getLogger(DataEntryController.class);
+
+
+    @Autowired
+    private GyDataService gyDataService;
+
+    @GetMapping()
+    @Log("访问数据条目")
+    @RequiresPermissions("datas:dataEntry:data")
+    String Data() {
+        return "datas/dataEntry/data";
+    }
+
+    @ResponseBody
+    @GetMapping("/list")
+    @RequiresPermissions("datas:dataEntry:data")
+    public PageUtils dataEntryList(@RequestParam Map<String, Object> map) {
+        // 查询列表数据
+        Query query = new Query(map);
+        query.put("dataStatusArrs", Lists.newArrayList(0,1,2,3,4));
+
+        List<GyDataImportDTO> dataList = gyDataService.dataEntryList(query);
+        int total = gyDataService.dataEntryCountTotal(query);
+        return new PageUtils(dataList, total);
+    }
+}

+ 7 - 7
src/main/java/com/bootdo/datas/controller/DataExpertController.java

@@ -133,7 +133,7 @@ public class DataExpertController {
         // 0:正常 1:删除 2:已上报 3:通过审核 4:驳回
         data.setId(id);
         data.setDataStatus("3");
-        gyDataService.updateStatus(data);
+        gyDataService.updateStatus(data,"");
         return R.ok();
     }
 
@@ -171,7 +171,7 @@ public class DataExpertController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,"");
                 }
             }
         }
@@ -188,13 +188,13 @@ public class DataExpertController {
     @PostMapping("/rebut")
     @ResponseBody
     @RequiresPermissions("datas:expertVerify:rebut")
-    public R rebut(Long id) {
+    public R rebut(Long id,String opinion) {
         log.info("驳回  id:" + id);
         GyDataImportDTO data = new GyDataImportDTO();
         // 0:正常 1:删除 2:已上报 3:通过审核 4:驳回
         data.setId(id);
         data.setDataStatus("4");
-        gyDataService.updateStatus(data);
+        gyDataService.updateStatus(data,opinion);
         return R.ok();
     }
 
@@ -208,7 +208,7 @@ public class DataExpertController {
     @PostMapping("/batchRebut")
     @ResponseBody
     @RequiresPermissions("datas:expertVerify:rebut")
-    public R batchRebut(@RequestParam("ids[]") Long[] ids) {
+    public R batchRebut(@RequestParam("ids[]") Long[] ids,@RequestParam("opinion")String opinion) {
         log.info("审核通过 备案主键 ids:" + ids);
         List<String> failedDataNames = new ArrayList<>();
         List<GyDataImportDTO> dataImportDTOList = new ArrayList<>();
@@ -233,7 +233,7 @@ public class DataExpertController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,opinion);
                 }
             }
         }
@@ -294,7 +294,7 @@ public class DataExpertController {
                 data.setDataStatus("2");
                 data.setSendVerify("3");
                 data.setNextVerifyDept(deptId);
-                gyDataService.updateStatus(data);
+                gyDataService.updateStatus(data,"");
             }
         }
         return R.ok();

+ 1 - 1
src/main/java/com/bootdo/datas/controller/DataSendProvinceController.java

@@ -91,7 +91,7 @@ public class DataSendProvinceController {
                 // 0:待审核 1:删除 2:审核中 3:通过审核 4:驳回
                 data.setDataStatus("0");
                 data.setAuditStage("2");
-                gyDataService.updateStatus(data);
+                gyDataService.updateStatus(data,"");
             }
         }
         return R.ok();

+ 4 - 4
src/main/java/com/bootdo/datas/controller/DataUnionController.java

@@ -146,7 +146,7 @@ public class DataUnionController {
         // 0:正常 1:删除 2:已上报 3:通过审核 4:驳回
         data.setId(id);
         data.setDataStatus("3");
-        gyDataService.updateStatus(data);
+        gyDataService.updateStatus(data,"");
         return R.ok();
     }
 
@@ -185,7 +185,7 @@ public class DataUnionController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,"");
                 }
             }
         }
@@ -209,7 +209,7 @@ public class DataUnionController {
         // 0:正常 1:删除 2:已上报 3:通过审核 4:驳回
         data.setId(id);
         data.setDataStatus("4");
-        gyDataService.updateStatus(data);
+        gyDataService.updateStatus(data,opinion);
         return R.ok();
     }
 
@@ -247,7 +247,7 @@ public class DataUnionController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,opinion);
                 }
             }
         }

+ 8 - 8
src/main/java/com/bootdo/datas/controller/DataVerifyController.java

@@ -122,7 +122,7 @@ public class DataVerifyController {
         // 0:正常 1:删除 2:已上报 3:通过审核 4:驳回
         data.setId(id);
         data.setDataStatus("3");
-        gyDataService.updateStatus(data);
+        gyDataService.updateStatus(data,"");
         return R.ok();
     }
 
@@ -160,7 +160,7 @@ public class DataVerifyController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,"");
                 }
             }
         }
@@ -177,14 +177,14 @@ public class DataVerifyController {
     @PostMapping("/rebut")
     @ResponseBody
     @RequiresPermissions("datas:dataVerify:rebut")
-    public R rebut(Long id) {
+    public R rebut(Long id,String opinion) {
         log.info("驳回  id:" + id);
         GyDataImportDTO data = new GyDataImportDTO();
         // 0:正常 1:删除 2:已上报 3:通过审核 4:驳回
         data.setId(id);
         data.setDataStatus("4");
         data.setAuditStage("1");
-        gyDataService.updateStatus(data);
+        gyDataService.updateStatus(data,opinion);
         return R.ok();
     }
 
@@ -198,7 +198,7 @@ public class DataVerifyController {
     @PostMapping("/batchRebut")
     @ResponseBody
     @RequiresPermissions("datas:dataVerify:rebut")
-    public R batchRebut(@RequestParam("ids[]") Long[] ids) {
+    public R batchRebut(@RequestParam("ids[]") Long[] ids,@RequestParam("opinion")String opinion) {
         log.info("审核驳回 备案主键 ids:" + ids);
         List<String> failedDataNames = new ArrayList<>();
         List<GyDataImportDTO> dataImportDTOList = new ArrayList<>();
@@ -222,7 +222,7 @@ public class DataVerifyController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,opinion);
                 }
             }
         }
@@ -312,7 +312,7 @@ public class DataVerifyController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,"");
                 }
             }
         }
@@ -357,7 +357,7 @@ public class DataVerifyController {
         } else {
             if(dataImportDTOList.size() > 0){
                 for(GyDataImportDTO importDTO : dataImportDTOList){
-                    gyDataService.updateStatus(importDTO);
+                    gyDataService.updateStatus(importDTO,"");
                 }
             }
         }

+ 1 - 1
src/main/java/com/bootdo/datas/controller/GyDataImportController.java

@@ -216,7 +216,7 @@ public class GyDataImportController {
                 // 0:待审核 1:删除 2:审核中 3:通过审核 4:驳回 5:联合审批 6:终审
                 data.setDataStatus("2");
                 data.setRoleId(roleId);
-                gyDataService.updateStatus(data);
+                gyDataService.updateStatus(data,"");
             }
         }
         return R.ok();

+ 3 - 0
src/main/java/com/bootdo/datas/dto/ExamineLogDTO.java

@@ -33,4 +33,7 @@ public class ExamineLogDTO {
 
 	// 创建时间
 	private Date gmtCreate;
+
+	// 驳回意见
+	private String opinion;
 }

+ 5 - 1
src/main/java/com/bootdo/datas/service/GyDataService.java

@@ -31,7 +31,7 @@ public interface GyDataService {
 
     int countTotal4Del(Map<String, Object> map);
 
-    void updateStatus(GyDataImportDTO data);
+    void updateStatus(GyDataImportDTO data,String opinion);
 
     void addExpertOpinion(ExpertOpinionDO expertOpinionDO);
 
@@ -51,4 +51,8 @@ public interface GyDataService {
     void encryptExports(HttpServletResponse responses, String idValue) throws Exception;
 
     int countAaAssData(Long id);
+
+    List<GyDataImportDTO> dataEntryList(Map<String, Object> map);
+
+    int dataEntryCountTotal(Map<String, Object> map);
 }

+ 91 - 0
src/main/java/com/bootdo/datas/service/MessageHuNanService.java

@@ -0,0 +1,91 @@
+package com.bootdo.datas.service;
+
+
+import com.bootdo.common.exception.BDException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import java.io.BufferedReader;
+import java.io.DataOutputStream;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.HttpURLConnection;
+import java.net.URL;
+import java.net.URLEncoder;
+
+/**
+ * @author zhouhj
+ */
+@Service
+public class MessageHuNanService {
+    private static final Logger logger = LoggerFactory.getLogger(MessageHuNanService.class);
+
+    @Value("${hunan_message_gateway.url:#{null}}")
+    private String gateWayUrl;
+
+    @Value("${hunan_message_gateway.spcode:#{null}}")
+    private String gatewaySpCode;
+
+    @Value("${hunan_message_gateway.loginname:#{null}}")
+    private String gatewayLoginName;
+
+    @Value("${hunan_message_gateway.password:#{null}}")
+    private String gatewayPassword;
+
+    @Value("${hunan_message_gateway.f:#{null}}")
+    private String riskF;
+
+
+    /**
+     * 安全风险评估审核驳回通知
+     * @param phoneNumbers 手机字符串,多个使用逗号分隔
+     * @param dataName 数据项名称
+     */
+    public void sendMessage(String phoneNumbers, String dataName) throws BDException {
+        String MessageContent = "【湖南数据安全服务平台】现有涉及贵单位的重要数据和核心数据目录备案审核被驳回信息同步给您," +
+                "被驳回数据项名称是:"+dataName+",请尽快登录系统进行处理。";
+        String templateId = "your_template_id";
+        long currentTimeMillis = System.currentTimeMillis();
+        String SerialNumber = String.valueOf(currentTimeMillis);
+        try {
+            URL obj = new URL(gateWayUrl);
+            HttpURLConnection con = (HttpURLConnection) obj.openConnection();
+            con.setRequestMethod("POST");
+            con.setRequestProperty("Content-Type", "application/x-www-form-urlencoded; charset=GB2312");
+            con.setDoOutput(true);
+
+            String postParams = "SpCode=" + URLEncoder.encode(gatewaySpCode, "GB2312") +
+                    "&LoginName=" + URLEncoder.encode(gatewayLoginName, "GB2312") +
+                    "&Password=" + URLEncoder.encode(gatewayPassword, "GB2312") +
+                    "&MessageContent=" + URLEncoder.encode(MessageContent, "GB2312") +
+                    "&UserNumber=" + URLEncoder.encode(phoneNumbers, "GB2312") +
+                    "&templateId=" + URLEncoder.encode(templateId, "GB2312") +
+                    "&SerialNumber=" + URLEncoder.encode(SerialNumber, "GB2312") +
+                    "&f=" + URLEncoder.encode(riskF, "GB2312");
+
+            DataOutputStream wr = new DataOutputStream(con.getOutputStream());
+            wr.writeBytes(postParams);
+            wr.flush();
+            wr.close();
+
+            int responseCode = con.getResponseCode();
+            if (responseCode == HttpURLConnection.HTTP_OK) {
+                BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream(), "GB2312"));
+                String inputLine;
+                StringBuilder response = new StringBuilder();
+                while ((inputLine = in.readLine()) != null) {
+                    response.append(inputLine);
+                }
+                in.close();
+                logger.info("请求成功,响应内容:");
+                logger.info(response.toString());
+            } else {
+                logger.info("请求失败,状态码:" + responseCode);
+            }
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+}

+ 19 - 7
src/main/java/com/bootdo/datas/service/impl/GyDataServiceImpl.java

@@ -11,6 +11,7 @@ import com.bootdo.datas.dto.ExamineLogDTO;
 import com.bootdo.datas.dto.GyDataImportDTO;
 import com.bootdo.datas.service.ExamineLogService;
 import com.bootdo.datas.service.GyDataService;
+import com.bootdo.datas.service.MessageHuNanService;
 import com.bootdo.datas.service.MessageService;
 import com.bootdo.datas.tools.ExcelUtils;
 import com.bootdo.datas.tools.gm.FileCryptTool;
@@ -62,7 +63,7 @@ public class GyDataServiceImpl implements GyDataService {
     @Autowired
     private RoleService roleService;
     @Autowired
-    private MessageService messageService;
+    private MessageHuNanService messageHuNanService;
 
     private static Logger log = LoggerFactory.getLogger(GyDataServiceImpl.class);
 
@@ -549,7 +550,7 @@ public class GyDataServiceImpl implements GyDataService {
     }
 
     @Override
-    public void updateStatus(GyDataImportDTO data) {
+    public void updateStatus(GyDataImportDTO data,String opinion) {
         int effect = gyDataDao.updateStatus(data);
 
         if ("2".equalsIgnoreCase(data.getDataStatus()) && effect > 0) {
@@ -581,26 +582,27 @@ public class GyDataServiceImpl implements GyDataService {
                 dto.setUniqueKey(String.valueOf(data.getId()));
                 dto.setDataType("DI_OPER");
                 dto.setMessage("数据已被(" + roleDO.getRoleName() + ")审核驳回, 请核对");
+                dto.setOpinion(opinion);
                 examineLogService.save(dto);
             }
-            if("四川省".equals(this.sysProvince)){
+            if("湖南".equals(this.sysProvince)){
                 //通过数据id,查询数据信息
                 GyDataImportDTO importDTO = gyDataDao.get(data.getId());
                 if(Objects.nonNull(importDTO)){
-                    log.info("=====================发送短信了===数据信息查询==="+importDTO.toString());
                     //发送短息
-                    if("1".equals(importDTO.getAuditStage())){
+                    if("2".equals(importDTO.getAuditStage())){
+                        log.info("=====================发送短信了===数据信息查询==="+importDTO.toString());
                         //审核阶段:   1:市级,2:省级
                         GyUnitDO gyUnitDO = gyUnitDao.getGyUnitByCreditCode(importDTO.getGyUnitId());
                         log.info("=====================发送短信了===企业信息查询==="+gyUnitDO.toString());
                         if(Objects.nonNull(gyUnitDO)){
                             try {
                                 log.info("=====================发送短信了===start==="+gyUnitDO.toString());
-                                messageService.importance(gyUnitDO.getDataSecurityWay()+","+gyUnitDO.getMobilePhone(),
+                                messageHuNanService.sendMessage(gyUnitDO.getDataSecurityWay()+","+gyUnitDO.getMobilePhone(),
                                         importDTO.getDataName());
                                 log.info("=====================发送短信了===end==="+gyUnitDO.toString());
                             } catch (Exception e) {
-                                log.error("=============messageService.importance=======error======="+e.getMessage());
+                                log.error("=============messageHuNanService.sendMessage=======error======="+e.getMessage());
                                 e.printStackTrace();
                             }
                         }else {
@@ -779,6 +781,16 @@ public class GyDataServiceImpl implements GyDataService {
         return gyDataDao.countAaAssData(id);
     }
 
+    @Override
+    public List<GyDataImportDTO> dataEntryList(Map<String, Object> map) {
+          return gyDataDao.list(map);
+    }
+
+    @Override
+    public int dataEntryCountTotal(Map<String, Object> map) {
+        return gyDataDao.countTotal(map);
+    }
+
     /**
      * @Description: MultipartFile转file
      * @Author: wangp

+ 8 - 0
src/main/resources/application-dev.yml

@@ -103,3 +103,11 @@ message_gateway:
   appName: 风险报送系统
   catalog_record.templateId: 2232445
   risk_assessment.templateId: 2232446
+
+#湖南短信网关
+hunan_message_gateway:
+  url: https://api.ums86.com:9600/sms/Api/Send.do
+  spcode: 269167
+  loginname: hn_cyy
+  password: c5718b84559b4bb0f5dad97a222f3714
+  f: 1

+ 9 - 0
src/main/resources/application-prod.yml

@@ -117,3 +117,12 @@ message_gateway:
   appName: 风险报送系统
   catalog_record.templateId: 2232445
   risk_assessment.templateId: 2232446
+
+
+#湖南短信网关
+hunan_message_gateway:
+  url: https://api.ums86.com:9600/sms/Api/Send.do
+  spcode: 269167
+  loginname: hn_cyy
+  password: c5718b84559b4bb0f5dad97a222f3714
+  f: 1

+ 9 - 0
src/main/resources/application-test.yml

@@ -103,3 +103,12 @@ message_gateway:
   appName: 风险报送系统
   catalog_record.templateId: 2232445
   risk_assessment.templateId: 2232446
+
+
+#湖南短信网关
+hunan_message_gateway:
+  url: https://api.ums86.com:9600/sms/Api/Send.do
+  spcode: 269167
+  loginname: hn_cyy
+  password: c5718b84559b4bb0f5dad97a222f3714
+  f: 1

+ 3 - 3
src/main/resources/application.yml

@@ -21,9 +21,9 @@ spring:
 #    开发环境
 #  active: dev
 #    测试环境
-#   active: test
+   active: test
 #    #生产环境
-    active: prod
+#    active: prod
   servlet:
     multipart:
       max-file-size: 30Mb
@@ -52,7 +52,7 @@ mybatis:
 #部署类别 1市级单独部署 2省级单独部署 3省市一体部署
 deployType: 3
 #系统省份,不能为空
-sysProvince: 四川
+sysProvince: 湖南
 #系统地市,当deployType=1时,此处要填上地级市,比如 成都市;当deployType为2、3时要为空
 sysCity:
 

+ 3 - 2
src/main/resources/mybatis/datas/ExamineLogMapper.xml

@@ -22,12 +22,13 @@
     </select>
 
     <insert id="save">
-        insert into examine_log (data_type, unique_key, message, user_id_create)
+        insert into examine_log (data_type, unique_key, message, user_id_create,opinion)
         values (
             #{dto.dataType},
             #{dto.uniqueKey},
             #{dto.message},
-            #{dto.userIdCreate}
+            #{dto.userIdCreate},
+            #{dto.opinion}
         )
     </insert>