青羊经侦大队-数据平台
wl
2022-07-13 993c6978ad57926a777e3837053e7b28da62ee93
工作台相关接口
1个文件已修改
5个文件已添加
302 ■■■■■ 已修改文件
src/main/java/com/example/jz/controller/WorkbenchController.java 77 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/modle/entity/Report.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/modle/vo/MessageVo.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/modle/vo/ReportVo.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/WorkbenchService.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/controller/WorkbenchController.java
New file
@@ -0,0 +1,77 @@
package com.example.jz.controller;
import com.example.jz.modle.R;
import com.example.jz.service.WorkbenchService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/user")
@Api(tags = "工作台")
public class WorkbenchController {
    @Autowired
    WorkbenchService workbenchService;
    @ApiOperation(httpMethod = "GET", value = "查询今日待审核人员")
    @GetMapping("/checkPendingNumber")
    @ApiResponse(message = "执行成功", code = 200)
    public R getCheckPendingUser() {
        return R.ok(workbenchService.getCheckPending());
    }
    @ApiOperation(httpMethod = "GET", value = "查询今日已审核人员")
    @GetMapping("/checkPendedNumber")
    @ApiResponse(message = "执行成功", code = 200)
    public R getCheckPendedUser() {
        return R.ok(workbenchService.getCheckPended());
    }
    @ApiOperation(httpMethod = "GET", value = "查询今日进群人数")
    @GetMapping("/intoGroupNumber")
    @ApiResponse(message = "执行成功", code = 200)
    public R getIntoGroupNumber() {
        return R.ok(workbenchService.getIntoGroupNumbers());
    }
    @ApiOperation(httpMethod = "GET", value = "新增案件数")
    @GetMapping("/newCase")
    @ApiResponse(message = "执行成功", code = 200)
    public R getNewCase() {
        return R.ok(workbenchService.getNewCase());
    }
    @ApiOperation(httpMethod = "GET", value = "案件总数")
    @GetMapping("/allCase")
    @ApiResponse(message = "执行成功", code = 200)
    public R getAllCase() {
        return R.ok(workbenchService.getAllCase());
    }
    @ApiOperation(httpMethod = "GET", value = "管理人员总数")
    @GetMapping("/allManager")
    @ApiResponse(message = "执行成功", code = 200)
    public R getAllManager() {
        return R.ok(workbenchService.getAllManager());
    }
    @ApiOperation(httpMethod = "GET", value = "待审核人员")
    @GetMapping("/checkPendingList")
    @ApiResponse(message = "执行成功", code = 200)
    public R getAllCheckPendingList() {
        return R.ok(workbenchService.getAllCheckPendingList());
    }
    @ApiOperation(httpMethod = "GET", value = "群组动态")
    @GetMapping("/groupMessage")
    @ApiResponse(message = "执行成功", code = 200)
    public R getGroupMessage() {
        return R.ok(workbenchService.getGroupMessage());
    }
}
src/main/java/com/example/jz/modle/entity/Report.java
@@ -40,7 +40,16 @@
    private Date cheatTime;
    //补充信息
    private String information;
    //案件id
    private Integer causeId;
    public Integer getCauseId() {
        return causeId;
    }
    public void setCauseId(Integer causeId) {
        this.causeId = causeId;
    }
    public Integer getId() {
        return id;
src/main/java/com/example/jz/modle/vo/MessageVo.java
New file
@@ -0,0 +1,29 @@
package com.example.jz.modle.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
@Data
@ApiModel(description = "群组动态",value = "MessageVo")
public class MessageVo {
    /**
     * 用户id
     */
    @ApiModelProperty(dataType = "String",value = "报案人名称")
    private String userName;
    @ApiModelProperty(dataType = "String",value = "群组名称")
    private String groupName;
    /**
     * 群id
     */
    @ApiModelProperty(dataType = "Integer",value = "群组id")
    private Integer groupId;
    @ApiModelProperty(dataType = "Date",value = "创建师讲")
    private Date ctime;
}
src/main/java/com/example/jz/modle/vo/ReportVo.java
New file
@@ -0,0 +1,27 @@
package com.example.jz.modle.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
 * (Cause)表实体类
 *
 * @author makejava
 * @since 2022-07-11 16:55:40
 */
@Data
@ApiModel(description = "待审核人员", value = "CauseVo")
public class ReportVo {
    //报案人
    @ApiModelProperty(value = "报案人",dataType = "String")
    private String reporterName;
    @ApiModelProperty(value = "报案人手机号",dataType = "String")
    //报案人手机号
    private String mobile;
    @ApiModelProperty(value = "报案人身份证号",dataType = "String")
    //报案人身份证号
    private String idcard;
}
src/main/java/com/example/jz/service/WorkbenchService.java
New file
@@ -0,0 +1,64 @@
package com.example.jz.service;
import com.example.jz.modle.vo.ReportVo;
import com.example.jz.modle.vo.MessageVo;
import java.util.List;
public interface WorkbenchService {
    /**
     * @return java.lang.Integer
     * @Description 今日待审核人员查询
     * @Param []
     **/
    Integer getCheckPending();
    /**
     * @return java.lang.Integer
     * @Description 今日已经审核人员查询
     * @Param []
     **/
    Integer getCheckPended();
    /**
     * @return java.lang.Integer
     * @Description 今日进群人数查询
     * @Param []
     **/
    Integer getIntoGroupNumbers();
    /**
     * @return java.lang.Integer
     * @Description 今日新增案件数
     * @Param []
     **/
    Integer getNewCase();
    /**
     * @return java.lang.Integer
     * @Description 查询全部案件
     * @Param []
     **/
    Integer getAllCase();
    /**
     * @return java.lang.Integer
     * @Description 获取全部管理员
     * @Param []
     **/
    Integer getAllManager();
    /**
     * @return java.util.List<com.example.jz.modle.vo.CauseVo>
     * @Description 获取最新五条待审核案件
     * @Param []
     **/
    List<ReportVo> getAllCheckPendingList();
    /**
     * @return java.util.List<com.example.jz.modle.vo.MessageVo>
     * @Description 获取群组最新五条消息
     * @Param []
     **/
    List<MessageVo> getGroupMessage();
}
src/main/java/com/example/jz/service/impl/WorkbenchServiceImpl.java
New file
@@ -0,0 +1,96 @@
package com.example.jz.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.jz.dao.*;
import com.example.jz.modle.entity.*;
import com.example.jz.modle.vo.ReportVo;
import com.example.jz.modle.vo.MessageVo;
import com.example.jz.service.WorkbenchService;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
@Service
public class WorkbenchServiceImpl implements WorkbenchService {
    @Resource
    ReportDao reportDao;
    @Resource
    CauseDao causeDao;
    @Resource
    UserDao userDao;
    @Resource
    GroupDao groupDao;
    @Resource
    GroupUserDao groupUserDao;
    @Resource
    MessageDao messageDao;
    @Override
    public Integer getCheckPending() {
        return reportDao.selectCount(new QueryWrapper<Report>().eq("status", 0).last("and TO_DAYS(ctime)=TO_DAYS(NOW())"));
    }
    @Override
    public Integer getCheckPended() {
        return reportDao.selectCount(new QueryWrapper<Report>().eq("status", 1).last("and TO_DAYS(ctime)=TO_DAYS(NOW())"));
    }
    @Override
    public Integer getIntoGroupNumbers() {
        return groupUserDao.selectCount(new QueryWrapper<GroupUser>().apply("TO_DAYS(ctime)=TO_DAYS(NOW())"));
    }
    @Override
    public Integer getNewCase() {
        return causeDao.selectCount(new QueryWrapper<Cause>().apply("TO_DAYS(ctime)=TO_DAYS(NOW())"));
    }
    @Override
    public Integer getAllCase() {
        return causeDao.selectCount(new QueryWrapper<>());
    }
    @Override
    public Integer getAllManager() {
        return userDao.selectCount(new QueryWrapper<User>().eq("role", 1));
    }
    @Override
    public List<ReportVo> getAllCheckPendingList() {
        List<Report> reports = reportDao.selectList(new QueryWrapper<Report>().eq("status", 0).orderByDesc("ctime").last("limit 5"));
        ArrayList<ReportVo> reportVos = new ArrayList<>();
        reports.forEach(a -> {
            User user = userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId()));
            ReportVo reportVo = new ReportVo();
            reportVo.setReporterName(user.getRealName());
            String regex = "(?<=[\\d]{3})\\d(?=[\\d]{4})";
            reportVo.setIdcard(user.getUserIdcard().replaceAll(regex, "*"));
            reportVo.setMobile(user.getUserMobile());
            reportVos.add(reportVo);
        });
        return reportVos;
    }
    @Override
    public List<MessageVo> getGroupMessage() {
        ArrayList<MessageVo> messageVos = new ArrayList<>();
        messageDao.selectList(new QueryWrapper<Message>().orderByDesc("ctime").last("limit 5"))
                .forEach(a -> {
                    MessageVo messageVo = new MessageVo();
                    messageVo.setGroupName(groupDao.selectOne(new QueryWrapper<Group>().eq("id", a.getGroupId())).getGroupName());
                    BeanUtils.copyProperties(a, messageVo);
                    messageVo.setUserName(userDao.selectOne(new QueryWrapper<User>().eq("id", a.getUserId())).getRealName());
                    messageVos.add(messageVo);
                });
        return messageVos;
    }
}