| src/main/java/org/springblade/modules/directive/controller/DirectiveController.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/directive/entity/Directive.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/directive/mapper/DirectiveMapper.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/directive/mapper/DirectiveMapper.xml | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/directive/service/DirectiveService.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/directive/service/impl/DirectiveServiceImpl.java | ●●●●● patch | view | raw | blame | history | |
| src/main/java/org/springblade/modules/directive/vo/DirectiveVo.java | ●●●●● patch | view | raw | blame | history |
src/main/java/org/springblade/modules/directive/controller/DirectiveController.java
New file @@ -0,0 +1,115 @@ 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.service.DirectiveService; import org.springblade.modules.directive.vo.DirectiveVo; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.List; /** * @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("/saveDirectiveAndLocus") public R saveDirectiveAndLocus(@RequestBody Directive directive) { //先查询是否已有指令信息,如果有,则更新,没有则插入 DirectiveVo directiveVo = directiveService.selectDirectiveInfo(directive); boolean status = false; //返回数据 return R.status(false); } /** * 修改 * @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) { 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 Long sendDirectiveId; /** * 接收人ids 可以是多个 */ @TableField("receive_directive_ids") private Long 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/mapper/DirectiveMapper.java
New file @@ -0,0 +1,33 @@ 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.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); } src/main/java/org/springblade/modules/directive/mapper/DirectiveMapper.xml
New file @@ -0,0 +1,42 @@ <?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.user_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 >= #{directive.startTime} </if> <if test="directive.endTime!=null and directive.endTime!=''"> and sl.send_time <= #{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> </mapper> src/main/java/org/springblade/modules/directive/service/DirectiveService.java
New file @@ -0,0 +1,31 @@ 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.vo.DirectiveVo; import java.util.List; /** * @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); } src/main/java/org/springblade/modules/directive/service/impl/DirectiveServiceImpl.java
New file @@ -0,0 +1,59 @@ 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.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(","); } record.setReceiveName(builder.toString().substring(0, builder.toString().length() - 1)); } return directiveVoIPage; } /** * 详情 * @param directive 指令信息对象 */ @Override public DirectiveVo selectDirectiveInfo(Directive directive) { return baseMapper.selectDirectiveInfo(directive); } } 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; }