智慧保安后台管理-外网项目备份
guoshilong
2023-12-14 e066640dbeef80748f63a05ec7a24646fe1816c3
打卡记录
7 files added
281 ■■■■■ changed files
src/main/java/org/springblade/modules/post/controller/CheckRecordController.java 112 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/post/entity/CheckRecord.java 24 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/post/mapper/CheckRecordMapper.java 29 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/post/mapper/CheckRecordMapper.xml 27 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/post/service/ICheckRecordService.java 29 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/post/service/impl/CheckRecordServiceImpl.java 39 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/post/vo/CheckRecordVO.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/org/springblade/modules/post/controller/CheckRecordController.java
New file
@@ -0,0 +1,112 @@
package org.springblade.modules.post.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.modules.post.entity.CheckRecord;
import org.springblade.modules.post.entity.PostFiling;
import org.springblade.modules.post.service.ICheckRecordService;
import org.springblade.modules.post.service.PostFilingService;
import org.springblade.modules.post.vo.CheckRecordVO;
import org.springblade.modules.post.vo.PostFilingVO;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
import java.util.Date;
/**
 * 控制器
 *
 * @author BladeX
 * @since 2021-07-12
 */
@RestController
@AllArgsConstructor
@RequestMapping("/checkRecord")
@Api(value = "", tags = "接口")
public class CheckRecordController extends BladeController {
    private final ICheckRecordService checkRecordService;
    /**
     * 详情
     */
    @GetMapping("/detail")
    @ApiOperationSupport(order = 1)
    @ApiOperation(value = "详情", notes = "传入postFiling")
    public R detail(CheckRecord postFiling) {
        CheckRecord detail = checkRecordService.getOne(Condition.getQueryWrapper(postFiling));
        return R.data(detail);
    }
    /**
     * 分页
     */
    @GetMapping("/list")
    @ApiOperationSupport(order = 2)
    @ApiOperation(value = "分页", notes = "传入postFiling")
    public R<IPage<CheckRecord>> list(CheckRecord postFiling, Query query) {
        IPage<CheckRecord> pages = checkRecordService.page(Condition.getPage(query), Condition.getQueryWrapper(postFiling));
        return R.data(pages);
    }
    /**
     * 自定义分页
     */
    @GetMapping("/page")
    @ApiOperationSupport(order = 3)
    @ApiOperation(value = "分页", notes = "传入postFiling")
    public R<IPage<CheckRecordVO>> page(CheckRecordVO checkRecordVO, Query query) {
        return R.data(checkRecordService.getPage(Condition.getPage(query), checkRecordVO));
    }
    /**
     * 新增
     */
    @PostMapping("/save")
    public R save(@Valid @RequestBody CheckRecord postFiling) {
        return R.status(checkRecordService.save(postFiling));
    }
    /**
     * 修改
     */
    @PostMapping("/update")
    @ApiOperationSupport(order = 5)
    @ApiOperation(value = "修改", notes = "传入postFiling")
    public R update(@Valid @RequestBody CheckRecord postFiling) {
        postFiling.setUpdateTime(new Date());
        postFiling.setUpdateUser(AuthUtil.getUserId());
        return R.status(checkRecordService.updateById(postFiling));
    }
    /**
     * 新增或修改
     */
    @PostMapping("/submit")
    @ApiOperationSupport(order = 6)
    @ApiOperation(value = "新增或修改", notes = "传入postFiling")
    public R submit(@Valid @RequestBody CheckRecord postFiling) {
        return R.status(checkRecordService.saveOrUpdate(postFiling));
    }
    /**
     * 删除
     */
    @PostMapping("/remove")
    @ApiOperationSupport(order = 8)
    @ApiOperation(value = "删除", notes = "传入ids")
    public R remove(@ApiParam(value = "主键集合", required = true) @RequestParam String ids) {
        return R.status(checkRecordService.removeByIds(Func.toLongList(ids)));
    }
}
src/main/java/org/springblade/modules/post/entity/CheckRecord.java
New file
@@ -0,0 +1,24 @@
package org.springblade.modules.post.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import org.springblade.core.mp.base.BaseEntity;
@Data
@TableName("sys_check_record")
public class CheckRecord extends BaseEntity {
    private String postId;
    private String checkTime;
    private String lon;
    private String lat;
    private String urls;
    private String description;
    private String mile;
}
src/main/java/org/springblade/modules/post/mapper/CheckRecordMapper.java
New file
@@ -0,0 +1,29 @@
package org.springblade.modules.post.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.post.entity.CheckRecord;
import org.springblade.modules.post.entity.PostFiling;
import org.springblade.modules.post.vo.CheckRecordVO;
import org.springblade.modules.post.vo.PostFilingVO;
import java.util.List;
/**
 *  Mapper 接口
 *
 * @author BladeX
 * @since 2021-07-12
 */
public interface CheckRecordMapper extends BaseMapper<CheckRecord> {
    /**
     * 自定义分页
     *
     * @param page
     * @param checkRecordVO
     * @return
     */
    List<CheckRecordVO> getPage(IPage page, @Param("vo") CheckRecordVO checkRecordVO);
}
src/main/java/org/springblade/modules/post/mapper/CheckRecordMapper.xml
New file
@@ -0,0 +1,27 @@
<?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.post.mapper.CheckRecordMapper">
    <!--自定义分页查询-->
    <select id="getPage" resultType="org.springblade.modules.post.vo.CheckRecordVO">
        SELECT scr.*,
               spf.name as postName,
               spf.type as postType,
               spf.duty_time as dutyTime,
               spf.layoff_time as layoffTime,
               bu.real_name as userName FROM sys_check_record scr
        LEFT JOIN sys_post_filing spf ON spf.id = scr.post_id
        LEFT JOIN blade_user bu ON bu.id = scr.create_user
        WHERE scr.is_deleted = 0
        <if test="vo.postType != null and vo.postType !='' ">
            AND spf.type = #{vo.postType}
        </if>
        <if test="vo.checkTime != null and vo.checkTime !='' ">
            AND   date_format(scr.check_time,'%Y-%m-%d') = #{vo.checkTime}
        </if>
    </select>
</mapper>
src/main/java/org/springblade/modules/post/service/ICheckRecordService.java
New file
@@ -0,0 +1,29 @@
package org.springblade.modules.post.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import org.springblade.core.mp.base.BaseService;
import org.springblade.modules.post.entity.CheckRecord;
import org.springblade.modules.post.entity.PostFiling;
import org.springblade.modules.post.vo.CheckRecordVO;
import org.springblade.modules.post.vo.PostFilingVO;
/**
 *  服务类
 *
 * @author BladeX
 * @since 2021-07-12
 */
public interface ICheckRecordService extends BaseService<CheckRecord> {
    /**
     * 自定义分页
     *
     * @param page
     * @param checkRecord
     * @return
     */
    IPage<CheckRecordVO> getPage(IPage<CheckRecordVO> page, CheckRecordVO checkRecord);
}
src/main/java/org/springblade/modules/post/service/impl/CheckRecordServiceImpl.java
New file
@@ -0,0 +1,39 @@
package org.springblade.modules.post.service.impl;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.modules.post.entity.CheckRecord;
import org.springblade.modules.post.entity.PostFiling;
import org.springblade.modules.post.mapper.CheckRecordMapper;
import org.springblade.modules.post.mapper.PostFilingMapper;
import org.springblade.modules.post.service.ICheckRecordService;
import org.springblade.modules.post.service.PostFilingService;
import org.springblade.modules.post.vo.CheckRecordVO;
import org.springblade.modules.post.vo.PostFilingVO;
import org.springframework.stereotype.Service;
import java.util.Collection;
/**
 *  服务实现类
 *
 * @author BladeX
 * @since 2021-07-12
 */
@Service
public class CheckRecordServiceImpl extends BaseServiceImpl<CheckRecordMapper, CheckRecord> implements ICheckRecordService {
    /**
     * 自定义分页
     *
     * @param page
     * @param checkRecordVO
     * @return
     */
    @Override
    public IPage<CheckRecordVO> getPage(IPage<CheckRecordVO> page, CheckRecordVO checkRecordVO) {
        return page.setRecords(baseMapper.getPage(page, checkRecordVO));
    }
}
src/main/java/org/springblade/modules/post/vo/CheckRecordVO.java
New file
@@ -0,0 +1,21 @@
package org.springblade.modules.post.vo;
import lombok.Data;
import org.springblade.modules.post.entity.CheckRecord;
@Data
public class CheckRecordVO extends CheckRecord {
    //打卡人
    private String userName;
    private String postName;
    private String postType;
    private String dutyTime;
    private String layoffTime;
}