智慧保安后台管理-外网项目备份
Administrator
2021-07-28 13ff42df5af879d315051e6a7b45ea77e18e4797
指令代码合并
2 files modified
8 files added
588 ■■■■■ changed files
src/main/java/org/springblade/modules/directive/controller/DirectiveController.java 170 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/directive/entity/Directive.java 65 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/directive/entity/DirectiveFile.java 46 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/directive/mapper/DirectiveMapper.java 54 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/directive/mapper/DirectiveMapper.xml 65 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/directive/service/DirectiveService.java 43 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/directive/service/impl/DirectiveServiceImpl.java 95 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/directive/vo/DirectiveVo.java 43 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java 6 ●●●●● patch | view | raw | blame | history
src/main/resources/application.yml 1 ●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/directive/controller/DirectiveController.java
New file
@@ -0,0 +1,170 @@
package org.springblade.modules.directive.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
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.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.springframework.web.bind.annotation.*;
/**
 * @author zhongrj
 * @time 2021-07-21
 * @desc 指令控制层
 */
@RestController
@AllArgsConstructor
@RequestMapping("/directive")
public class DirectiveController {
    private final DirectiveService directiveService;
    /**
     * 自定义分页
     * @param query page,size
     * @param directive 指令信息对象
     */
    @GetMapping("/page")
    public R<IPage<DirectiveVo>> page(DirectiveVo directive, Query query) {
        IPage<DirectiveVo> pages = directiveService.selectDirectivePage(Condition.getPage(query), directive);
        return R.data(pages);
    }
    /**
     * 新增
     * @param directive 指令信息对象
     */
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入directive")
    public R save(@RequestBody Directive directive) {
        return R.status(directiveService.save(directive));
    }
    /**
     * 指令信息新增,同时新增图片到指令文件表中
     * @param directive 指令信息对象
     */
    @PostMapping("/saveDirectiveAndFile")
    public R saveDirectiveAndFile(@RequestBody DirectiveVo directive) {
        //新增指令信息
        boolean save = directiveService.save(directive);
        boolean status = false;
        if (save){
            //新增图片
            if (null!=directive.getUrl() && directive.getUrl()!=""){
                String[] directiveUrl = directive.getUrl().split(",");
                for (String url : directiveUrl) {
                    DirectiveFile directiveFile = new DirectiveFile();
                    directiveFile.setType(1);
                    directiveFile.setDirectiveId(directive.getId());
                    directiveFile.setUrl(url);
                    status = directiveService.saveDirectiveFile(directiveFile);
                    if (!status){
                        R.status(false);
                    }
                }
            }
            return R.status(status);
        }
        //返回数据
        return R.status(status);
    }
    /**
     * 指令信息修改,同时新增图片到指令文件表中
     * @param directive 指令信息对象
     */
    @PostMapping("/updateDirectiveAndFile")
    public R updateDirectiveAndFile(@RequestBody DirectiveVo directive) {
        //新增指令信息
        boolean update = directiveService.updateById(directive);
        boolean status = false;
        if (update){
            //先删除图片
            int i = directiveService.deleleByDirectiveId(directive.getId());
            //新增图片
            if (null!=directive.getUrl() && directive.getUrl()!=""){
                String[] directiveUrl = directive.getUrl().split(",");
                for (String url : directiveUrl) {
                    DirectiveFile directiveFile = new DirectiveFile();
                    directiveFile.setType(1);
                    directiveFile.setDirectiveId(directive.getId());
                    directiveFile.setUrl(url);
                    status = directiveService.saveDirectiveFile(directiveFile);
                    if (!status){
                        R.status(false);
                    }
                }
            }
            return R.status(status);
        }
        //返回数据
        return R.status(status);
    }
    /**
     * 修改
     * @param directive 指令信息对象
     */
    @PostMapping("/update")
    public R update(@RequestBody Directive directive) {
        return R.status(directiveService.updateById(directive));
    }
    /**
     * 新增或修改
     * @param directive 指令信息对象
     */
    @PostMapping("/submit")
    public R submit(@RequestBody Directive directive) {
        return R.status(directiveService.saveOrUpdate(directive));
    }
    /**
     * 删除
     * @param ids 指令信息ids 数组
     */
    @PostMapping("/remove")
    public R remove(@ApiParam(value = "主键集合") @RequestParam String ids) {
        //图片也删除
        if (null!=ids && ids!=""){
            String[] directiveIds = ids.split(",");
            for (String directiveId : directiveIds) {
                directiveService.deleleByDirectiveId(Long.parseLong(directiveId));
            }
        }
        return R.status(directiveService.removeByIds(Func.toLongList(ids)));
    }
    /**
     * 详情
     * @param directive 指令信息对象
     */
    @GetMapping("/detail")
    @ApiOperation(value = "详情", notes = "传入directive")
    public R<Directive> detail(Directive directive) {
        Directive detail = directiveService.getOne(Condition.getQueryWrapper(directive));
        return R.data(detail);
    }
    /**
     * 自定义详情查询
     * @param directive 指令信息对象
     */
    @GetMapping("/details")
    @ApiOperation(value = "详情", notes = "传入directive")
    public R<DirectiveVo> details(Directive directive) {
        DirectiveVo detail = directiveService.selectDirectiveInfo(directive);
        return R.data(detail);
    }
}
src/main/java/org/springblade/modules/directive/entity/Directive.java
New file
@@ -0,0 +1,65 @@
package org.springblade.modules.directive.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.io.Serializable;
import java.util.Date;
/**
 * 指令实体类
 * @author zhongrj
 * @time 2021-07-21
 */
@Data
@TableName("sys_directive")
public class Directive implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 指令主键id
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 类型
     */
    @TableField("type")
    private Integer type;
    /**
     * 发送人 id
     */
    @TableField("send_directive_id")
    private String sendDirectiveId;
    /**
     * 接收人ids  可以是多个
     */
    @TableField("receive_directive_ids")
    private String receiveDirectiveIds;
    /**
     * 发送指令时间
     */
    @TableField("send_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date sendTime;
    /**
     * 指令内容
     */
    private String content;
}
src/main/java/org/springblade/modules/directive/entity/DirectiveFile.java
New file
@@ -0,0 +1,46 @@
package org.springblade.modules.directive.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import java.io.Serializable;
/**
 * 指令文件实体类
 * @author zhongrj
 * @time 2021-07-22
 */
@Data
@TableName("sys_directive_file")
public class DirectiveFile implements Serializable {
    private static final long serialVersionUID = 1L;
    /**
     * 指令文件主键id
     */
    @TableId(value = "id",type = IdType.AUTO)
    private Long id;
    /**
     * 类型  1:图片  2:视频
     */
    @TableField("type")
    private Integer type;
    /**
     * 指令id
     */
    @TableField("directive_id")
    private Long directiveId;
    /**
     * url 路径
     */
    private String url;
}
src/main/java/org/springblade/modules/directive/mapper/DirectiveMapper.java
New file
@@ -0,0 +1,54 @@
package org.springblade.modules.directive.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.apache.ibatis.annotations.Param;
import org.springblade.modules.directive.entity.Directive;
import org.springblade.modules.directive.entity.DirectiveFile;
import org.springblade.modules.directive.vo.DirectiveVo;
import java.util.List;
/**
 * 指令Mapper 接口
 * @author zhongrj
 */
public interface DirectiveMapper extends BaseMapper<Directive> {
    /**
     * 自定义分页
     *
     * @param page   分页
     * @param directive 实体
     * @return
     */
    List<DirectiveVo> selectDirectivePage(IPage page, @Param("directive") DirectiveVo directive);
    /**
     * 详情
     * @param directive 指令信息对象
     * @return
     */
    DirectiveVo selectDirectiveInfo(@Param("directive") Directive directive);
    /**
     * 查询指令图片信息集合
     * @param id 指令id
     * @return
     */
    List<DirectiveFile> getDirectiveFileList(Long id);
    /**
     * 插入图片
     * @param directiveFile
     * @return
     */
    int saveDirectiveFile(@Param("directiveFile") DirectiveFile directiveFile);
    /**
     * 删除图片
     * @param id 指令id
     * @return
     */
    int deleteByDirectiveId(@Param("id") Long id);
}
src/main/java/org/springblade/modules/directive/mapper/DirectiveMapper.xml
New file
@@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="org.springblade.modules.directive.mapper.DirectiveMapper">
    <!--指令分页信息-->
    <select id="selectDirectivePage" resultType="org.springblade.modules.directive.vo.DirectiveVo">
        SELECT
            sd.*,
            bu.real_name sendName
        FROM
            sys_directive sd
        left join
            blade_user bu
        on
            bu.id = sd.send_directive_id
        where
        1=1
        <if test="directive.type!=null and directive.type!=''">
            and sll.type = #{directive.type}
        </if>
        <if test="directive.startTime!=null and directive.startTime!=''">
            and sl.send_time &gt;= #{directive.startTime}
        </if>
        <if test="directive.endTime!=null and directive.endTime!=''">
            and sl.send_time &lt;= #{directive.endTime}
        </if>
    </select>
    <!--指令详情信息-->
    <select id="selectDirectiveInfo" resultType="org.springblade.modules.directive.vo.DirectiveVo">
        SELECT
            *
        FROM
            sys_directive
        WHERE
            1=1
        <if test="directive.id!=null">
            and id = #{directive.id}
        </if>
    </select>
    <!--查询指令图片信息集合-->
    <select id="getDirectiveFileList" resultType="org.springblade.modules.directive.entity.DirectiveFile">
        select * from sys_directive_file
        where 1=1
        <if test="id!=null and id!=''">
            and directive_id = #{id}
        </if>
    </select>
    <!--插入图片-->
    <insert id="saveDirectiveFile">
        insert into
            sys_directive_file
        (type,directive_id,url)
            value
        (#{directiveFile.type},#{directiveFile.directiveId},#{directiveFile.url})
    </insert>
    <!--删除图片-->
    <delete id="deleteByDirectiveId">
        delete from sys_directive_file where directive_id = #{id}
    </delete>
</mapper>
src/main/java/org/springblade/modules/directive/service/DirectiveService.java
New file
@@ -0,0 +1,43 @@
package org.springblade.modules.directive.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.modules.directive.entity.Directive;
import org.springblade.modules.directive.entity.DirectiveFile;
import org.springblade.modules.directive.vo.DirectiveVo;
/**
 * @author zhongrj
 */
public interface DirectiveService extends IService<Directive> {
    /**
     * 指令详情
     * @param directive 指令信息对象
     * @return
     */
    DirectiveVo selectDirectiveInfo(Directive directive);
    /**
     * 指令分页信息
     * @param page
     * @param directive 指令信息对象
     * @return
     */
    IPage<DirectiveVo> selectDirectivePage(IPage<DirectiveVo> page, DirectiveVo directive);
    /**
     * 插入图片
     * @param directiveFile
     * @return
     */
    boolean saveDirectiveFile(DirectiveFile directiveFile);
    /**
     * 删除图片
     * @param id 指令id
     * @return
     */
    int deleleByDirectiveId(Long id);
}
src/main/java/org/springblade/modules/directive/service/impl/DirectiveServiceImpl.java
New file
@@ -0,0 +1,95 @@
package org.springblade.modules.directive.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import lombok.AllArgsConstructor;
import org.springblade.modules.directive.entity.Directive;
import org.springblade.modules.directive.entity.DirectiveFile;
import org.springblade.modules.directive.mapper.DirectiveMapper;
import org.springblade.modules.directive.service.DirectiveService;
import org.springblade.modules.directive.vo.DirectiveVo;
import org.springblade.modules.system.entity.User;
import org.springblade.modules.system.service.IUserService;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * 指令服务实现类
 * @author zhongrj
 */
@Service
@AllArgsConstructor
public class DirectiveServiceImpl extends ServiceImpl<DirectiveMapper, Directive> implements DirectiveService {
    private final IUserService userService;
    /**
     * 指令分页信息
     * @param page
     * @param directive 指令信息对象
     * @return
     */
    @Override
    public IPage<DirectiveVo> selectDirectivePage(IPage<DirectiveVo> page, DirectiveVo directive) {
        IPage<DirectiveVo> directiveVoIPage = page.setRecords(baseMapper.selectDirectivePage(page, directive));
        //去除接收人ids,查询出接收人名字
        List<DirectiveVo> records = directiveVoIPage.getRecords();
        for (DirectiveVo record : records) {
            String[] receiveDirectiveIds = record.getReceiveDirectiveIds().toString().split(",");
            StringBuilder builder = new StringBuilder();
            for (String receiveDirectiveId : receiveDirectiveIds) {
                User user = userService.getById(receiveDirectiveId);
                builder.append(user.getRealName()).append(",");
            }
            //查询图片
            List<DirectiveFile> directiveFiles = baseMapper.getDirectiveFileList(record.getId());
            if (directiveFiles.size()>0){
                StringBuilder builderFile = new StringBuilder();
                for (DirectiveFile directiveFile : directiveFiles) {
                    builderFile.append(directiveFile.getUrl()).append(",");
                }
                String urls = builderFile.toString();
                record.setUrl(urls.substring(0, urls.length() - 1));
            }
            record.setReceiveName(builder.toString().substring(0, builder.toString().length() - 1));
        }
        return directiveVoIPage;
    }
    /**
     * 详情
     * @param directive 指令信息对象
     */
    @Override
    public DirectiveVo selectDirectiveInfo(Directive directive) {
        return baseMapper.selectDirectiveInfo(directive);
    }
    /**
     * 插入图片
     * @param directiveFile
     * @return
     */
    @Override
    public boolean saveDirectiveFile(DirectiveFile directiveFile) {
        int i = baseMapper.saveDirectiveFile(directiveFile);
        if (i>0){
            return true;
        }
        return false;
    }
    /**
     * 删除图片
     * @param id 指令id
     * @return
     */
    @Override
    public int deleleByDirectiveId(Long id) {
        return baseMapper.deleteByDirectiveId(id);
    }
}
src/main/java/org/springblade/modules/directive/vo/DirectiveVo.java
New file
@@ -0,0 +1,43 @@
package org.springblade.modules.directive.vo;
import lombok.Data;
import org.springblade.modules.directive.entity.Directive;
import java.io.Serializable;
/**
 * @author zhongrj
 * @since 2021-07-21
 */
@Data
public class DirectiveVo extends Directive implements Serializable {
    /**
     * 开始时间
     */
    private String startTime;
    /**
     * 结束时间
     */
    private String endTime;
    /**
     * 图片url,多张图片url以逗号隔开
     */
    private String url;
    /**
     * 发送人姓名
     */
    private String sendName;
    /**
     * 接收人姓名,多个以逗号隔开
     */
    private String receiveName;
}
src/main/java/org/springblade/modules/training/controller/TrainingRegistrationController.java
@@ -45,7 +45,8 @@
     */
    @PostMapping("/save")
    @ApiOperation(value = "新增", notes = "传入trainingRegistration")
    public R save(@RequestBody TrainingRegistration trainingRegistration) {
    public R save(@RequestBody TrainingRegistration trainingRegistration) throws Exception {
        arg.test01(arg.url+"/trainingRegistration/save",trainingRegistration);
        return R.status(trainingRegistrationService.save(trainingRegistration));
    }
@@ -54,7 +55,8 @@
     * @param trainingRegistration 报名培训信息对象
     */
    @PostMapping("/update")
    public R update(@RequestBody TrainingRegistration trainingRegistration) {
    public R update(@RequestBody TrainingRegistration trainingRegistration) throws Exception {
        arg.test01(arg.url+"/trainingRegistration/update",trainingRegistration);
        return R.status(trainingRegistrationService.updateById(trainingRegistration));
    }
src/main/resources/application.yml
@@ -208,6 +208,7 @@
      - /apply/**
      - /trainExam/**
      - /blade-desk/**
      - /directive/**
    #授权认证配置
    auth:
      - method: ALL