青羊经侦大队-数据平台
安瑾然
2022-07-21 a800938e10736b81762cd98e207600690d7044b5
commit
8个文件已修改
140 ■■■■ 已修改文件
src/main/java/com/example/jz/controller/CauseController.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/controller/ReportController.java 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/controller/UserController.java 70 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/dao/ReportDao.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/CauseService.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/ReportService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/service/impl/ReportServiceImpl.java 23 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/example/jz/controller/CauseController.java
@@ -132,5 +132,12 @@
        }
        return R.ok(causeService.addReportPeople(addReportDto));
    }
    @ApiOperation(httpMethod = "GET", value = "获取案件的id和名称列表")
    @GetMapping("/getCauseIdAndName")
    @ApiResponse(message = "执行成功", code = 200)
    public R getCauseIdAndName() {
        return R.ok(causeService.getCauseIdAndName());
    }
}
src/main/java/com/example/jz/controller/ReportController.java
@@ -72,7 +72,6 @@
    @PostMapping
    @ApiOperation(value = "报案")
    public R<Boolean> insert(@RequestBody AddReportDto addReportDto) {
        return R.ok(reportService.addReport(addReportDto));
    }
@@ -117,15 +116,6 @@
    @ApiResponse(message = "执行成功", code = 200)
    public void exportReport(@RequestParam(value = "id") Integer id, HttpServletResponse response) {
        reportService.exportReporter(id, response);
    }
    @ApiOperation(httpMethod = "POST", value = "案件台-报案人员-报案人员导入")
    @PostMapping("/upload")
    @ApiResponse(message = "执行成功", code = 200)
    @SneakyThrows
    public R upload(@RequestParam(value = "multipartFile") MultipartFile multipartFile) {
        reportService.loadFile(multipartFile);
        return R.ok();
    }
}
src/main/java/com/example/jz/controller/UserController.java
@@ -3,9 +3,16 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.api.ApiController;
import com.baomidou.mybatisplus.extension.api.R;
import com.baomidou.mybatisplus.extension.conditions.update.LambdaUpdateChainWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.example.jz.modle.entity.User;
import com.example.jz.service.UserService;
import com.example.jz.utils.Md5Utils;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@@ -15,17 +22,19 @@
/**
 * 用户表(User)表控制层
 *
 * @author makejava
 * @author 安瑾然
 * @since 2022-07-11 16:35:57
 */
@RestController
@RequestMapping("user")
@Api(tags = "用户管理")
public class UserController extends ApiController {
    /**
     * 服务对象
     */
    @Resource
    private UserService userService;
    @Autowired
    public void setUserService(UserService userService) {
        this.userService = userService;
    }
    /**
     * 分页查询所有数据
@@ -35,6 +44,7 @@
     * @return 所有数据
     */
    @GetMapping
    @ApiOperation("分页查询所有数据")
    public R selectAll(Page<User> page, User user) {
        return success(this.userService.page(page, new QueryWrapper<>(user)));
    }
@@ -46,19 +56,9 @@
     * @return 单条数据
     */
    @GetMapping("{id}")
    @ApiOperation("通过主键查询单条数据")
    public R selectOne(@PathVariable Serializable id) {
        return success(this.userService.getById(id));
    }
    /**
     * 新增数据
     *
     * @param user 实体对象
     * @return 新增结果
     */
    @PostMapping
    public R insert(@RequestBody User user) {
        return success(this.userService.save(user));
    }
    /**
@@ -68,8 +68,9 @@
     * @return 修改结果
     */
    @PutMapping
    @ApiOperation("修改用户数据")
    public R update(@RequestBody User user) {
        return success(this.userService.updateById(user));
        return success(userService.updateById(user));
    }
    /**
@@ -79,7 +80,42 @@
     * @return 删除结果
     */
    @DeleteMapping
    @ApiOperation("删除用户数据")
    public R delete(@RequestParam("idList") List<Long> idList) {
        return success(this.userService.removeByIds(idList));
    }
    /**
     * 添加管理员
     *
     * @param id       用户id
     * @param username 管理员用户名
     * @param password 管理员密码
     * @return
     */
    @PostMapping("/addAdmin/{id}")
    @ApiOperation("添加管理员")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "password", value = "密码", required = true, dataType = "String"),
            @ApiImplicitParam(name = "username", value = "用户名", required = true, dataType = "String")
    })
    public R addAdmin(@PathVariable Serializable id, String username, String password) {
        User user = userService.getById(id).setLoginUsername(username).setLoginPassword(Md5Utils.md5(password)).setRole(1);
        return success(userService.updateById(user));
    }
    /**
     * 重置管理员密码
     *
     * @param id 用户id
     * @return
     */
    @GetMapping("/resetPassword/{id}")
    @ApiOperation("重置管理员密码")
    public R resetPassword(@PathVariable Serializable id) {
        User user = userService.getById(id);
        // 重置初始密码为身份证后六位
        user.setLoginPassword(Md5Utils.md5(user.getUserIdcard().substring(user.getUserIdcard().length() - 6)));
        return success(userService.updateById(user));
    }
}
src/main/java/com/example/jz/dao/ReportDao.java
@@ -19,7 +19,7 @@
@Mapper
public interface ReportDao extends BaseMapper<Report> {
    Page<ReportListVo> getPage(Page<ReportListVo> page,@Param("reportDto") ReportParamDto reportParamDto);
    Page<ReportListVo> getPage(Page<ReportListVo> page,@Param("reportParamDto") ReportParamDto reportParamDto);
    ReportListVo getReportListVoById(Serializable id);
src/main/java/com/example/jz/service/CauseService.java
@@ -13,6 +13,7 @@
import org.springframework.web.multipart.MultipartFile;
import java.util.List;
import java.util.Map;
/**
 * 案件表(Cause)表服务接口
@@ -79,5 +80,7 @@
    void loadFile(MultipartFile multipartFile);
    Boolean addReportPeople(AddReportDto addReportDto);
    List<Map<String,String>> getCauseIdAndName();
}
src/main/java/com/example/jz/service/ReportService.java
@@ -6,6 +6,7 @@
import com.example.jz.modle.dto.ReportParamDto;
import com.example.jz.modle.entity.Report;
import com.example.jz.modle.vo.ReportListVo;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.Serializable;
src/main/java/com/example/jz/service/impl/CauseServiceImpl.java
@@ -26,9 +26,7 @@
import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
import java.util.stream.Collectors;
/**
@@ -158,7 +156,7 @@
    @Transactional(rollbackFor = BusinessException.class)
    public void loadFile(MultipartFile multipartFile) {
        ArrayList<CauseLoadDto> causeLoadDtos = new ArrayList<>();
        EasyExcel.read(multipartFile.getInputStream(),CauseLoadDto.class, new AnalysisEventListener<CauseLoadDto>() {
        EasyExcel.read(multipartFile.getInputStream(), CauseLoadDto.class, new AnalysisEventListener<CauseLoadDto>() {
                    @Override
                    public void invoke(CauseLoadDto data, AnalysisContext context) {
                        if (StringUtils.isNotBlank(data.getName())&&StringUtils.isNotBlank(data.getUserName())){
@@ -177,7 +175,7 @@
                a -> {
                    Cause cause = new Cause();
                    BeanUtils.copyProperties(a, cause);
                    if (StringUtils.isBlank(a.getStatus())){
                    if (StringUtils.isBlank(a.getStatus())) {
                        throw new BusinessException("状态不能为空");
                    }
                    if (a.getStatus().equals(CauseEnums.UNCHECKED.getMsg())) {
@@ -196,10 +194,10 @@
                        cause.setStatus(CauseEnums.HASBEENDROPPED.value());
                    }
                    cause.setCtime(new Date());
                    if (StringUtils.isBlank(a.getUserName())){
                    if (StringUtils.isBlank(a.getUserName())) {
                        throw new BusinessException("负责人不允许为空");
                    }
                    if (userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName()))==null){
                    if (userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())) == null) {
                        throw new BusinessException("负责人不存在");
                    }
                    Integer id = userDao.selectOne(new QueryWrapper<User>().eq("real_name", a.getUserName())).getId();
@@ -238,4 +236,16 @@
                .setCauseId(groupDao.selectOne(new QueryWrapper<Group>().eq("id", addReportDto.getGroupId())).getCauseId());
        return reportDao.insert(report) > 0;
    }
    @Override
    public List<Map<String, String>> getCauseIdAndName() {
        ArrayList<Map<String, String>> maps = new ArrayList<>();
        causeDao.selectList(null).stream().forEach(a -> {
            Map<String, String> map = new HashMap<>();
            map.put("id", a.getId().toString());
            map.put("name", a.getName());
            maps.add(map);
        });
        return maps;
    }
}
src/main/java/com/example/jz/service/impl/ReportServiceImpl.java
@@ -3,6 +3,7 @@
import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.metadata.data.ImageData;
import com.alibaba.excel.metadata.data.WriteCellData;
import com.alibaba.excel.support.ExcelTypeEnum;
import com.alibaba.excel.util.IoUtils;
import com.alibaba.excel.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -12,12 +13,19 @@
import com.example.jz.dao.*;
import com.example.jz.modle.dto.AddReportDto;
import com.example.jz.modle.dto.ReportParamDto;
import com.example.jz.modle.entity.Group;
import com.example.jz.modle.entity.GroupUser;
import com.example.jz.modle.entity.Report;
import com.example.jz.modle.entity.User;
import com.example.jz.modle.vo.ReportListVo;
import com.example.jz.dao.*;
import com.example.jz.modle.entity.*;
import com.example.jz.modle.vo.ExportExcelReportVo;
import com.example.jz.modle.vo.ReportListVo;
import com.example.jz.service.MinIOService;
import com.example.jz.service.ReportService;
import lombok.SneakyThrows;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@@ -28,9 +36,11 @@
import java.io.Serializable;
import java.net.URL;
import java.net.URLEncoder;
import java.nio.charset.StandardCharsets;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
@@ -168,15 +178,22 @@
                    .setModifyTime(new Date()).setUserRegtime(new Date()).setPic(addReportDto.getPic());
            userDao.insert(user);
        }
        // 添加人员进群组
        groupUserDao.insert(new GroupUser()
                .setGroupId(groupDao.selectOne(new QueryWrapper<Group>().eq("cause_id", addReportDto.getCauseId())).getId())
                .setUserId(user.getId()).setCtime(new Date())
                .setBanSpeech(0));
        // 添加报案信息
        Report report = new Report();
        BeanUtils.copyProperties(addReportDto, report);
        report
                .setUserId(user.getId())
                .setCtime(new Date())
                .setStatus(0)
                .setStatus(1)
                .setReportMethod("现场录入")
                .setIsCommission("0").setReportTime(new Date());
                .setIsCommission("0").setReportTime(new Date())
                .setCauseId(addReportDto.getCauseId());
        return reportDao.insert(report) > 0;
    }
}
}