wl
2022-09-30 35f6bd0e69018621c2293b96ddcde55b2bc58d36
结案 暂不处理 我的待办 功能实现
8个文件已修改
1个文件已添加
198 ■■■■■ 已修改文件
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java 49 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/DisposeRecordController.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/dto/casePool/IllegalBuildingParam.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/vo/MyBacklogVO.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ycl-platform/src/main/java/com/ycl/controller/caseHandler/BaseCaseController.java
@@ -2,6 +2,7 @@
import com.alibaba.druid.util.StringUtils;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ycl.api.CommonResult;
@@ -9,6 +10,7 @@
import com.ycl.dto.casePool.IllegalBuildingParam;
import com.ycl.dto.casePool.ViolationParam;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.DisposeRecord;
import com.ycl.service.caseHandler.IBaseCaseService;
import com.ycl.service.caseHandler.IDisposeRecordService;
import com.ycl.service.caseHandler.IIllegalBuildingService;
@@ -36,7 +38,7 @@
 * @since 2022-09-24
 */
@RestController
@RequestMapping("/base-case")
@RequestMapping("/base_case")
@Api(tags = "案件池")
public class BaseCaseController extends BaseController {
@@ -204,7 +206,7 @@
        return CommonResult.success(baseCaseService.baseCaseDetail(code));
    }
    @ApiOperation("人工路径案件图片展示")
    @ApiOperation(value = "人工路径案件图片展示")
    @GetMapping("/hand_work_case_images")
    @ApiImplicitParams({
            @ApiImplicitParam(name = "type", value = "01 违规,02 违建", dataType = "Integer")
@@ -213,13 +215,46 @@
        return CommonResult.success(baseCaseService.listCaseImages(id, type));
    }
    @ApiOperation("案件暂不处理")
    @PutMapping("/case_leave")
    public CommonResult updateCaseStatus(@RequestParam Integer caseId) {
        Integer leaveType = 8;
    /**
     * @return com.ycl.api.CommonResult
     * @Description case status update
     * @Param [caseId, status]
     **/
    @ApiOperation(value = "案件状态修改")
    @PutMapping("/case_status_update")
    @ApiImplicitParams({
            @ApiImplicitParam(value = "处理状态(0误报 1上报 2立案 3派遣 4处置 5核查 6结案7处理中8暂不处理)",name = "state")
    })
    public CommonResult updateCaseStatus(@RequestParam Integer caseId, @RequestParam Integer state) {
        return CommonResult.success(baseCaseService
                .update(new LambdaUpdateWrapper<BaseCase>()
                        .eq(BaseCase::getId, caseId)
                        .set(BaseCase::getState, leaveType)));
                        .set(BaseCase::getState, state)));
    }
    /**
     * @return com.ycl.api.CommonResult
     * @Description reset case
     * @Param [caseId]
     **/
    @ApiOperation(value = "暂不处置重新处置")
    @PutMapping("/reset")
    public CommonResult resetCase(@RequestParam Integer caseId) {
        Integer firstNum = 0;
        Integer state = iDisposeRecordService
                .list(new LambdaQueryWrapper<DisposeRecord>()
                        .eq(DisposeRecord::getBaseCaseId, caseId).
                        orderByDesc(DisposeRecord::getCreateTime)).get(firstNum).getState();
        return CommonResult.success(baseCaseService
                .update(new LambdaUpdateWrapper<BaseCase>()
                        .eq(BaseCase::getId, caseId)
                        .set(BaseCase::getState, state)));
    }
    @ApiOperation(value = "结案")
    @PutMapping("/end_case")
    public  CommonResult endCase(@RequestParam Integer caseId,@RequestParam String result){
        baseCaseService.endCase(caseId,result);
        return CommonResult.success("end case success~!");
    }
}
ycl-platform/src/main/java/com/ycl/controller/caseHandler/DispatchHandleController.java
@@ -85,6 +85,7 @@
            writ.setCreateUser(user.getUserId().intValue());
            iWritService.save(writ);
        }
        /// TODO: 2022/9/30 添加成功后修改案件专题 添加流程
        return CommonResult.success("add success");
    }
}
ycl-platform/src/main/java/com/ycl/controller/caseHandler/DisposeRecordController.java
@@ -1,9 +1,18 @@
package com.ycl.controller.caseHandler;
import com.ycl.api.CommonResult;
import com.ycl.bo.AdminUserDetails;
import com.ycl.controller.BaseController;
import com.ycl.service.caseHandler.IDisposeRecordService;
import com.ycl.vo.MyBacklogVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@@ -16,7 +25,23 @@
 * @since 2022-09-24
 */
@RestController
@RequestMapping("/dispose-record")
@RequestMapping("/my_backlog")
@Api(tags = "我的待办")
public class DisposeRecordController extends BaseController {
    @Autowired
    IDisposeRecordService iDisposeRecordService;
    /**
     * @return com.ycl.api.CommonResult
     * @Description query my task
     * @Param [caseId]
     **/
    @ApiOperation(value = "查询", response = MyBacklogVO.class)
    @GetMapping("/query")
    public CommonResult searchMyTask(@RequestParam Integer caseId) {
        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        return CommonResult.success(iDisposeRecordService.listMyTask(caseId, user.getUserId()));
    }
}
ycl-platform/src/main/java/com/ycl/dto/casePool/IllegalBuildingParam.java
@@ -6,6 +6,7 @@
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
@Data
@@ -16,7 +17,7 @@
     * 违建类别
     */
    @ApiModelProperty(value = "违建类别")
    @NotBlank(message = "不允许违建类别为空")
    @NotNull(message = "不允许违建类别为空")
    private Integer categoryId;
ycl-platform/src/main/java/com/ycl/service/caseHandler/IBaseCaseService.java
@@ -48,4 +48,6 @@
    BaseCaseDetail baseCaseDetail(String code);
    ArrayList<String> listCaseImages(Integer id, Integer type);
    void endCase(Integer caseId, String result);
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/IDisposeRecordService.java
@@ -1,7 +1,10 @@
package com.ycl.service.caseHandler;
import com.ycl.entity.caseHandler.DisposeRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ycl.entity.caseHandler.DisposeRecord;
import com.ycl.vo.MyBacklogVO;
import java.util.List;
/**
 * <p>
@@ -13,4 +16,5 @@
 */
public interface IDisposeRecordService extends IService<DisposeRecord> {
    List<MyBacklogVO> listMyTask(Integer caseId, Long userId);
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/BaseCaseServiceImpl.java
@@ -5,6 +5,7 @@
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.bo.AdminUserDetails;
import com.ycl.bo.casePool.CasePoolIllegalBuildingDO;
import com.ycl.bo.casePool.CasePoolViolationDO;
import com.ycl.dto.casePool.IllegalBuildingParam;
@@ -24,6 +25,7 @@
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@@ -81,6 +83,8 @@
    InvestigationMapper investigationMapper;
    @Resource
    WritMapper writMapper;
    @Resource
    DisposeRecordMapper disposeRecordMapper;
    @Resource
    WorkflowConfigStepMapper workflowConfigStepMapper;
@@ -283,4 +287,26 @@
        }
        return caseImages;
    }
    @Override
    public void endCase(Integer caseId, String result) {
        AdminUserDetails user = (AdminUserDetails) SecurityContextHolder.getContext().getAuthentication().getPrincipal();
        Integer endCaseState = 6;
        Integer state = 2;
        String endCaseName = "结案";
        BaseCase baseCase = new BaseCase();
        baseCase.setState(endCaseState);
        baseCase.setId(caseId);
        baseCaseMapper.updateById(baseCase);
        DisposeRecord disposeRecord = new DisposeRecord();
        disposeRecord.setBaseCaseId(caseId);
        disposeRecord.setWorkflowConfigStepId(workflowConfigStepMapper
                .selectOne(new LambdaQueryWrapper<WorkflowConfigStep>().eq(WorkflowConfigStep::getName, endCaseName))
                .getWorkflowConfigId());
        disposeRecord.setCreateUser(user.getUserId().intValue());
        disposeRecord.setResult(result);
        disposeRecord.setState(state);
        disposeRecord.setCreateTime(LocalDateTime.now());
        disposeRecordMapper.insert(disposeRecord);
    }
}
ycl-platform/src/main/java/com/ycl/service/caseHandler/impl/DisposeRecordServiceImpl.java
@@ -1,10 +1,19 @@
package com.ycl.service.caseHandler.impl;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.entity.caseHandler.BaseCase;
import com.ycl.entity.caseHandler.DisposeRecord;
import com.ycl.mapper.caseHandler.BaseCaseMapper;
import com.ycl.mapper.caseHandler.DisposeRecordMapper;
import com.ycl.service.caseHandler.IDisposeRecordService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ycl.vo.MyBacklogVO;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -17,4 +26,27 @@
@Service
public class DisposeRecordServiceImpl extends ServiceImpl<DisposeRecordMapper, DisposeRecord> implements IDisposeRecordService {
    @Resource
    BaseCaseMapper baseCaseMapper;
    @Resource
    DisposeRecordMapper disposeRecordMapper;
    @Override
    public List<MyBacklogVO> listMyTask(Integer caseId, Long userId) {
        return disposeRecordMapper.selectList(
                        new LambdaQueryWrapper<DisposeRecord>()
                                .eq(DisposeRecord::getHandlerId, userId.intValue())
                                .isNull(DisposeRecord::getEndTime))
                .stream()
                .map(item -> {
                    MyBacklogVO myBacklogVO = new MyBacklogVO();
                    BeanUtils.copyProperties(item, myBacklogVO);
                    BaseCase baseCase = baseCaseMapper.selectById(caseId);
                    myBacklogVO.setCategory(baseCase.getCategory());
                    myBacklogVO.setEventSource(baseCase.getEventSource());
                    myBacklogVO.setCode(baseCase.getCode());
                    return myBacklogVO;
                }).collect(Collectors.toList());
    }
}
ycl-platform/src/main/java/com/ycl/vo/MyBacklogVO.java
New file
@@ -0,0 +1,48 @@
package com.ycl.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
@Data
@ApiModel(value = "我的待办")
public class MyBacklogVO {
    /**
     * 事件编号
     */
    @ApiModelProperty(value = "事件编号")
    private String code;
    /**
     * 事件来源(1-视频 2-手动登记)
     */
    @ApiModelProperty(value = "事件来源(1-视频 2-手动登记)")
    private Integer eventSource;
    /**
     * 问题类别(1-违规 2-违建)
     */
    @ApiModelProperty(value = "问题类别(1-违规 2-违建)")
    private Integer category;
    /**
     * 环节名称
     */
    @ApiModelProperty(value = "环节名称")
    private String stepName;
    /**
     * 创建时间
     */
    @ApiModelProperty(value = "创建时间")
    private LocalDateTime createTime;
    /**
     * 剩余时间
     */
    @ApiModelProperty(value = "开始时间")
    private LocalDateTime limitTime;
}