Browse Source

1、警员中心新增警员照片上传,新增详情页面展示。在个人问题库展示警员照片;

2、修复用户管理/编辑用户异常的问题,以及去掉角色必填项校验;

3、黄赌情警台账功能;
main
wxc 1 year ago
parent
commit
0cc71e2640
  1. 3
      src/main/java/com/biutag/supervision/config/InterceptorConfig.java
  2. 19
      src/main/java/com/biutag/supervision/constants/enums/SpecialSupervisionEnum.java
  3. 52
      src/main/java/com/biutag/supervision/controller/PoliceAvatarController.java
  4. 49
      src/main/java/com/biutag/supervision/controller/UpdateController.java
  5. 49
      src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java
  6. 2
      src/main/java/com/biutag/supervision/flow/action/SecondLocalProcessingAction.java
  7. 4
      src/main/java/com/biutag/supervision/mapper/SupPoliceMapper.java
  8. 5
      src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java
  9. 51
      src/main/java/com/biutag/supervision/pojo/vo/NegativeHdjq.java
  10. 3
      src/main/java/com/biutag/supervision/service/BaseUserService.java
  11. 3
      src/main/java/com/biutag/supervision/service/NegativeQueryService.java
  12. 3
      src/main/java/com/biutag/supervision/service/NegativeWorkService.java
  13. 10
      src/test/java/com/biutag/supervision/StrUtil.java
  14. 13
      src/test/java/com/biutag/supervision/SupervisionApplicationTests.java

3
src/main/java/com/biutag/supervision/config/InterceptorConfig.java

@ -36,7 +36,8 @@ public class InterceptorConfig implements WebMvcConfigurer {
.excludePathPatterns("/file/stream/**", "/templates/**")
.excludePathPatterns("/datav/risk/**")
.excludePathPatterns("/score/**")
.excludePathPatterns("/updateInvolveProblem")
.excludePathPatterns("/policeUpdateAvatar")
.excludePathPatterns(List.of("/doc.html", "/webjars/**", "/favicon.ico", "/v3/api-docs/**"));
registry.addInterceptor(new ApiInterceptor())
.addPathPatterns("/api/jwdc/**");

19
src/main/java/com/biutag/supervision/constants/enums/SpecialSupervisionEnum.java

@ -0,0 +1,19 @@
package com.biutag.supervision.constants.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @author wxc
* @date 2024/12/24
*/
@Getter
@AllArgsConstructor
public enum SpecialSupervisionEnum {
// 黄赌警情
HDJQ("1");
private String value;
}

52
src/main/java/com/biutag/supervision/controller/PoliceAvatarController.java

@ -0,0 +1,52 @@
package com.biutag.supervision.controller;
import cn.hutool.core.io.FileUtil;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.biutag.supervision.mapper.SupPoliceMapper;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.SupPolice;
import com.biutag.supervision.service.FileService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;
/**
* @author wxc
* @date 2024/12/24
*/
@RequestMapping("policeUpdateAvatar")
@Slf4j
@RequiredArgsConstructor
@RestController
public class PoliceAvatarController {
private final FileService fileService;
private final SupPoliceMapper policeMapper;
@RequestMapping
public Result<String> update() throws FileNotFoundException {
List<File> files = FileUtil.loopFiles("/work/POLICE");
int i = 0;
for (File file : files) {
try {
String img = file.getPath().replace("/work/POLICE", "");
String filePath = fileService.upload(new FileInputStream(file), FileUtil.size(file), FileUtil.extName(file.getName()));
String idCode = "";
policeMapper.update(new LambdaUpdateWrapper<SupPolice>().eq(SupPolice::getIdCode, "idCode").set(SupPolice::getAvatarUrl, filePath));
log.info("{} 更新头像 {}", idCode, file.getName());
} catch (Exception e) {
log.error(e.getMessage(), e);
}
}
return Result.success();
}
}

49
src/main/java/com/biutag/supervision/controller/UpdateController.java

@ -1,49 +0,0 @@
package com.biutag.supervision.controller;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.biutag.supervision.pojo.entity.Negative;
import com.biutag.supervision.service.NegativeService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author wxc
* @date 2024/12/4
*/
@Slf4j
@RequiredArgsConstructor
@RestController
public class UpdateController {
private final NegativeService negativeService;
@RequestMapping("updateInvolveProblem")
public String update() {
List<Negative> list = negativeService.list(new LambdaUpdateWrapper<Negative>().isNotNull(Negative::getInvolveProblem));
int i = 0;
for (Negative negative : list) {
if (StrUtil.isBlank(negative.getInvolveProblem())) {
continue;
}
log.info("第{}条数据--------", i++);
try {
JSONArray jsonArray = JSON.parseArray(negative.getInvolveProblem());
String val = jsonArray.stream().map(item -> ((JSONObject) item).getString("dictValue")).collect(Collectors.joining(","));
System.out.println(val);
negativeService.update(new LambdaUpdateWrapper<Negative>().eq(Negative::getId, negative.getId()).set(Negative::getInvolveProblem, val));
} catch (Exception e) {
log.error("更新涉嫌问题异常:{}", e.getMessage(), e);
}
}
return "success";
}
}

49
src/main/java/com/biutag/supervision/controller/books/NegativeBookController.java

@ -0,0 +1,49 @@
package com.biutag.supervision.controller.books;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.biutag.supervision.constants.enums.ProblemSourcesEnum;
import com.biutag.supervision.constants.enums.SpecialSupervisionEnum;
import com.biutag.supervision.pojo.Result;
import com.biutag.supervision.pojo.entity.Negative;
import com.biutag.supervision.pojo.param.NegativeQueryParam;
import com.biutag.supervision.pojo.vo.NegativeHdjq;
import com.biutag.supervision.service.NegativeService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
* @author wxc
* @date 2024/12/24
*/
@Slf4j
@RequiredArgsConstructor
@RequestMapping("negative/books")
@RestController
public class NegativeBookController {
private final NegativeService negativeService;
@GetMapping("hdjq")
public Result<Page<NegativeHdjq>> page(NegativeQueryParam queryParam) {
LambdaQueryWrapper<Negative> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(Negative::getProblemSourcesCode, ProblemSourcesEnum.ZXDC.getValue())
.eq(Negative::getSpecialSupervision, SpecialSupervisionEnum.HDJQ.getValue())
.orderByAsc(Negative::getReportNumber)
.orderByAsc(Negative::getCrtTime);
Page<Negative> page = negativeService.page(Page.of(queryParam.getCurrent(), queryParam.getSize()), queryWrapper);
List<NegativeHdjq> list = page.getRecords().stream().map(item -> {
NegativeHdjq negativeHdjq = new NegativeHdjq();
BeanUtil.copyProperties(item, negativeHdjq);
return negativeHdjq;
}).toList();
return Result.success(new Page<NegativeHdjq>().setTotal(page.getTotal()).setRecords(list));
}
}

2
src/main/java/com/biutag/supervision/flow/action/SecondLocalProcessingAction.java

@ -33,7 +33,7 @@ public class SecondLocalProcessingAction implements Action {
if (HostLevelEnums.THREE.getValue().equals(negative.getHostLevel())) {
updateWrapper.set(Negative::getHostLevel, HostLevelEnums.SECOND.getValue());
}
negativeService.update();
negativeService.update(updateWrapper);
}
}

4
src/main/java/com/biutag/supervision/mapper/SupPoliceMapper.java

@ -10,9 +10,13 @@ import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List;
import java.util.Map;
public interface SupPoliceMapper extends BaseMapper<SupPolice> {
Page<PoliceModel> queryPage(@Param("page") Page<PoliceModel> page, @Param(Constants.WRAPPER) QueryWrapper<PoliceModel> queryWrapper);
@Select("select id_code from sup_police_avatar where img = #{img}")
String getPoliceAvatar(String img);
}

5
src/main/java/com/biutag/supervision/pojo/param/NegativeQueryParam.java

@ -36,7 +36,8 @@ public class NegativeQueryParam extends BasePage {
private String thingDesc;
private String problemSourcesCode;
// 问题来源
private List<String> problemSourcesCode;
private String businessTypeCode;
@ -73,4 +74,6 @@ public class NegativeQueryParam extends BasePage {
private List<String> handleResultCode = new ArrayList<>();
private String caseNumber;
}

51
src/main/java/com/biutag/supervision/pojo/vo/NegativeHdjq.java

@ -0,0 +1,51 @@
package com.biutag.supervision.pojo.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import java.time.LocalDateTime;
/**
* @author wxc
* @date 2024/12/24
*/
@Setter
@Getter
public class NegativeHdjq {
private String id;
private String involveDepartName;
// 涉及单位
private String involveDepartId;
// 办理单位
private String handleSecondDepartId;
private String handleSecondDepartName;
private String handleThreeDepartId;
private String handleThreeDepartName;
// 发现时间
@JsonFormat(pattern = "YYYY-MM-dd HH:mm")
private LocalDateTime discoveryTime;
// 涉及案件/警情编号
private String caseNumber;
// 通报期数
private String reportNumber;
// 创建单位层级 (默认为市局)
private Integer crtDepartLevel;
private String thingDesc;
// 办理状态
private String processingStatus;
}

3
src/main/java/com/biutag/supervision/service/BaseUserService.java

@ -116,6 +116,7 @@ public class BaseUserService extends ServiceImpl<BaseUserMapper, BaseUser> {
@DS("slave")
public boolean update(UserDto userDto) {
roleUserService.remove(new LambdaQueryWrapper<BaseRoleUser>().eq(BaseRoleUser::getUserId, userDto.getUserId()));
if (!userDto.getRoleIds().isEmpty()) {
roleUserService.saveBatch(userDto.getRoleIds().stream().map(roleId -> {
BaseRoleUser baseRoleUser = new BaseRoleUser();
@ -131,7 +132,7 @@ public class BaseUserService extends ServiceImpl<BaseUserMapper, BaseUser> {
.set(BaseUser::getNickName, userDto.getNickName())
.set(BaseUser::getEmail, userDto.getEmail())
.set(BaseUser::getMobile, userDto.getMobile())
.set(BaseUser::getUserName, userDto.getUserType())
.set(BaseUser::getUserName, userDto.getUserName())
.set(BaseUser::getUserDesc, userDto.getUserDesc())
.set(BaseUser::getUpdateTime, LocalDateTime.now());
return update(updateWrapper);

3
src/main/java/com/biutag/supervision/service/NegativeQueryService.java

@ -1,5 +1,6 @@
package com.biutag.supervision.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@ -55,7 +56,7 @@ public class NegativeQueryService {
.in(!param.getProcessingStatus().isEmpty(), Negative::getProcessingStatus, param.getProcessingStatus())
.eq(StrUtil.isNotBlank(param.getFlowKey()), Negative::getFlowKey, param.getFlowKey())
.like(StrUtil.isNotBlank(param.getThingDesc()), Negative::getThingDesc, param.getThingDesc())
.eq(StrUtil.isNotBlank(param.getProblemSourcesCode()), Negative::getProblemSourcesCode, param.getProblemSourcesCode())
.in(CollectionUtil.isNotEmpty(param.getProblemSourcesCode()), Negative::getProblemSourcesCode, param.getProblemSourcesCode())
.eq(StrUtil.isNotBlank(param.getBusinessTypeCode()), Negative::getBusinessTypeCode, param.getBusinessTypeCode())
.eq(StrUtil.isNotBlank(param.getCheckStatus()), Negative::getCheckStatus, param.getCheckStatus())
.eq(StrUtil.isNotBlank(param.getIsRectifyCode()), Negative::getIsRectifyCode, param.getIsRectifyCode())

3
src/main/java/com/biutag/supervision/service/NegativeWorkService.java

@ -1,5 +1,6 @@
package com.biutag.supervision.service;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@ -46,7 +47,7 @@ public class NegativeWorkService extends ServiceImpl<NegativeWorkMapper, Negativ
.and(StrUtil.isNotBlank(param.getOriginId()), (qw) -> {
qw.like("n.originId", param.getOriginId()).or().eq("n.id", param.getOriginId());
})
.eq(StrUtil.isNotBlank(param.getProblemSourcesCode()), "n.problemSourcesCode", param.getProblemSourcesCode())
.in(CollectionUtil.isNotEmpty(param.getProblemSourcesCode()), "n.problemSourcesCode", param.getProblemSourcesCode())
.eq(StrUtil.isNotBlank(param.getBusinessTypeCode()), "n.businessTypeCode", param.getBusinessTypeCode())
.like(StrUtil.isNotBlank(param.getThingDesc()), "n.thingDesc", param.getThingDesc())
.eq(StrUtil.isNotBlank(param.getInvolveDepartId()), "n.involveDepartId", param.getInvolveDepartId())

10
src/test/java/com/biutag/supervision/StrUtil.java

@ -1,18 +1,22 @@
package com.biutag.supervision;
import cn.hutool.core.io.FileUtil;
import org.junit.jupiter.api.Test;
import org.springframework.security.crypto.bcrypt.BCrypt;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import java.io.File;
import java.io.FileNotFoundException;
import java.util.List;
public class StrUtil {
@Test
public void testSubstr() throws FileNotFoundException {
BCryptPasswordEncoder encoder = new BCryptPasswordEncoder();
String encode = encoder.encode("123456");
System.out.println(BCrypt.checkpw("123456", encode));
List<File> files = FileUtil.loopFiles("D:\\deploy\\test2");
for (File file : files) {
System.out.println(file.getPath());
}
}
}

13
src/test/java/com/biutag/supervision/SupervisionApplicationTests.java

@ -2,6 +2,7 @@ package com.biutag.supervision;
import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
import com.biutag.supervision.constants.AppConstants;
import com.biutag.supervision.mapper.SupPoliceMapper;
import com.biutag.supervision.pojo.entity.SupDepart;
import com.biutag.supervision.service.SupDepartService;
import com.github.tobato.fastdfs.service.FastFileStorageClient;
@ -29,15 +30,13 @@ class SupervisionApplicationTests {
@Autowired
SupDepartService departService;
@Autowired
private SupPoliceMapper policeMapper;
@Test
void contextLoads() {
List<SupDepart> departs = departService.list();
departs.forEach(item -> {
String pathTrace = getPathTrace(item);
if (!pathTrace.equals(item.getPathTrace())) {
departService.update(new LambdaUpdateWrapper<SupDepart>().eq(SupDepart::getId, item.getId()).set(SupDepart::getPathTrace, pathTrace));
}
});
String policeAvatar = policeMapper.getPoliceAvatar("1830552573753421824");
System.out.println(policeAvatar);
}
public String getPathTrace(SupDepart depart) {

Loading…
Cancel
Save