智慧保安后台管理-外网项目备份
src/main/java/org/springblade/modules/directive/controller/DirectiveController.java
@@ -4,15 +4,22 @@
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.common.config.FtpConfig;
import org.springblade.common.utils.arg;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.FTP.FtpUtil;
import org.springblade.modules.directive.entity.Directive;
import org.springblade.modules.directive.entity.DirectiveFile;
import org.springblade.modules.directive.service.DirectiveService;
import org.springblade.modules.directive.vo.DirectiveVo;
import org.springblade.modules.system.service.MyAsyncService;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * @author zhongrj
@@ -25,10 +32,12 @@
public class DirectiveController {
   private final DirectiveService directiveService;
   private final MyAsyncService myAsyncService;
   /**
    * 自定义分页
    * @param query page,size
    *
    * @param query     page,size
    * @param directive 指令信息对象
    */
   @GetMapping("/page")
@@ -39,6 +48,7 @@
   /**
    * 新增
    *
    * @param directive 指令信息对象
    */
   @PostMapping("/save")
@@ -50,25 +60,51 @@
   /**
    * 指令信息新增,同时新增图片到指令文件表中
    *
    * @param directive 指令信息对象
    */
   @PostMapping("/saveDirectiveAndFile")
   public R saveDirectiveAndFile(@RequestBody DirectiveVo directive) {
   public R saveDirectiveAndFile(@RequestBody DirectiveVo directive) throws Exception {
      //新增指令信息
      boolean save = directiveService.save(directive);
      boolean status = false;
      if (save){
      directive.setSendTime(new Date());
      status = directiveService.save(directive);
      if (status){
         //数据同步
         String s1 =
            "insert into sys_directive(id,type,send_directive_id,receive_directive_ids,send_time,content) " +
               "values(" + "'" + directive.getId() + "'" + "," +
               "'" + directive.getType() + "'" + "," +
               "'" + directive.getSendDirectiveId() + "'" + "," +
               "'" + directive.getReceiveDirectiveIds() + "'" + "," +
               "'" + directive.getSendTime() + "'" + "," +
               "'" + directive.getContent() + "'" + ")";
         //FtpUtil.sqlFileUpload(s1);
         myAsyncService.dataSync(s1);
      }
      if (status) {
         //新增图片
         if (null!=directive.getUrl() && directive.getUrl()!=""){
         if (null != directive.getUrl() && directive.getUrl() != "") {
            String[] directiveUrl = directive.getUrl().split(",");
            for (String url : directiveUrl) {
               String s = url.substring(26, url.length());
               //内网url
               String urls = FtpConfig.ip + s;
               DirectiveFile directiveFile = new DirectiveFile();
               directiveFile.setType(1);
               directiveFile.setDirectiveId(directive.getId());
               directiveFile.setUrl(url);
               status = directiveService.saveDirectiveFile(directiveFile);
               if (!status){
                  R.status(false);
               String s2 =
                  "insert into sys_directive_file(id,type,directive_id,url) " +
                     "values(" + "'" + directiveFile.getId() + "'" + "," +
                     "'" + directiveFile.getType() + "'" + "," +
                     "'" + directiveFile.getDirectiveId() + "'" + "," +
                     "'" + urls+ "'"+ ")";
               //FtpUtil.sqlFileUpload(s2);
               myAsyncService.dataSync(s2);
               if (!status) {
                  return R.status(false);
               }
            }
         }
@@ -81,26 +117,48 @@
   /**
    * 指令信息修改,同时新增图片到指令文件表中
    *
    * @param directive 指令信息对象
    */
   @PostMapping("/updateDirectiveAndFile")
   public R updateDirectiveAndFile(@RequestBody DirectiveVo directive) {
   public R updateDirectiveAndFile(@RequestBody DirectiveVo directive) throws Exception {
      //新增指令信息
      boolean update = directiveService.updateById(directive);
      if (update) {
         //内网同步
         String s1 = "update sys_directive set type = " + "'" + directive.getType() + "'" +
            ",send_directive_id = " + "'" + directive.getSendDirectiveId() + "'" +
            ",receive_directive_ids = " + "'" + directive.getReceiveDirectiveIds() + "'" +
            ",send_time = " + "'" + directive.getSendTime() + "'" +
            ",content = " + "'" + directive.getContent() + "'" +
            " " + "where id = " + "'" + directive.getId() + "'";
         //FtpUtil.sqlFileUpload(s1);
         myAsyncService.dataSync(s1);
      }
      boolean status = false;
      if (update){
      if (update) {
         //先删除图片
         int i = directiveService.deleleByDirectiveId(directive.getId());
         //新增图片
         if (null!=directive.getUrl() && directive.getUrl()!=""){
         if (null != directive.getUrl() && directive.getUrl() != "") {
            String[] directiveUrl = directive.getUrl().split(",");
            for (String url : directiveUrl) {
               String s = url.substring(26, url.length());
               String urls = FtpConfig.ip + s;
               DirectiveFile directiveFile = new DirectiveFile();
               directiveFile.setType(1);
               directiveFile.setDirectiveId(directive.getId());
               directiveFile.setUrl(url);
               status = directiveService.saveDirectiveFile(directiveFile);
               if (!status){
               String s2 =
                  "insert into sys_directive_file(id,type,directive_id,url) " +
                     "values(" + "'" + directiveFile.getId() + "'" + "," +
                     "'" + directiveFile.getType() + "'" + "," +
                     "'" + directiveFile.getDirectiveId() + "'" + "," +
                     "'" + urls + "'"+ ")";
               //FtpUtil.sqlFileUpload(s2);
               myAsyncService.dataSync(s2);
               if (!status) {
                  R.status(false);
               }
            }
@@ -113,6 +171,7 @@
   /**
    * 修改
    *
    * @param directive 指令信息对象
    */
   @PostMapping("/update")
@@ -122,6 +181,7 @@
   /**
    * 新增或修改
    *
    * @param directive 指令信息对象
    */
   @PostMapping("/submit")
@@ -131,22 +191,26 @@
   /**
    * 删除
    *
    * @param ids 指令信息ids 数组
    */
   @PostMapping("/remove")
   public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
      //图片也删除
      if (null!=ids && ids!=""){
      if (null != ids && ids != "") {
         String[] directiveIds = ids.split(",");
         for (String directiveId : directiveIds) {
            directiveService.deleleByDirectiveId(Long.parseLong(directiveId));
         }
      }
      //内网删除
      //arg.sendPostRemoveByIds(arg.url+"/directive/remove",ids);
      return R.status(directiveService.removeByIds(Func.toLongList(ids)));
   }
   /**
    * 详情
    *
    * @param directive 指令信息对象
    */
   @GetMapping("/detail")
@@ -159,6 +223,7 @@
   /**
    * 自定义详情查询
    *
    * @param directive 指令信息对象
    */
   @GetMapping("/details")