lws há 3 anos atrás
pai
commit
034542d171
24 ficheiros alterados com 179 adições e 168 exclusões
  1. 0 33
      pom.xml
  2. 16 9
      src/main/java/com/metro/config/SaTokenConfigure.java
  3. 1 1
      src/main/java/com/metro/config/WebConfig.java
  4. 5 0
      src/main/java/com/metro/entity/po/Account.java
  5. 11 4
      src/main/java/com/metro/entity/po/PassreCords.java
  6. 8 1
      src/main/java/com/metro/entity/po/Police.java
  7. 0 1
      src/main/java/com/metro/entity/ro/Police/DetailPoliceReq.java
  8. 0 1
      src/main/java/com/metro/entity/ro/Police/InsertPoliceReq.java
  9. 1 1
      src/main/java/com/metro/entity/ro/Police/SelectPolicePageReq.java
  10. 2 0
      src/main/java/com/metro/entity/ro/Police/SelectPolicePageResp.java
  11. 0 6
      src/main/java/com/metro/entity/ro/Police/UpdatePoliceReq.java
  12. 0 1
      src/main/java/com/metro/entity/ro/account/DetailAccountReq.java
  13. 0 1
      src/main/java/com/metro/entity/ro/account/SelectAccountPageReq.java
  14. 1 3
      src/main/java/com/metro/entity/ro/account/SelectAccountPageResp.java
  15. 0 4
      src/main/java/com/metro/entity/ro/account/UpdateAccountReq.java
  16. 1 3
      src/main/java/com/metro/entity/ro/passrecords/SelectPassreCordsPageListResp.java
  17. 5 4
      src/main/java/com/metro/job/HealthCodeTask.java
  18. 48 0
      src/main/java/com/metro/job/RenheCodeTask.java
  19. 1 1
      src/main/java/com/metro/security/AdminInterceptor.java
  20. 24 31
      src/main/java/com/metro/service/impl/AccountServiceImpl.java
  21. 19 1
      src/main/java/com/metro/service/impl/PassreCordsServiceImpl.java
  22. 34 60
      src/main/java/com/metro/service/impl/PoliceServiceImpl.java
  23. 1 1
      src/main/java/com/metro/utils/FileUtils.java
  24. 1 1
      src/main/resources/application-dev.yml

+ 0 - 33
pom.xml

@@ -60,12 +60,6 @@
         </dependency>
 
 
-        <!-- parse DOM -->
-        <dependency>
-            <groupId>org.jsoup</groupId>
-            <artifactId>jsoup</artifactId>
-            <version>1.11.3</version>
-        </dependency>
 
         <dependency>
             <groupId>org.projectlombok</groupId>
@@ -306,33 +300,6 @@
             <version>1.4.0</version>
         </dependency>
 
-        <dependency>
-            <groupId>org.bytedeco</groupId>
-            <artifactId>javacv-platform</artifactId>
-            <version>${javacpp.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bytedeco</groupId>
-            <artifactId>javacv</artifactId>
-            <version>${javacpp.version}</version>
-        </dependency>
-        <!-- javacpp -->
-        <dependency>
-            <groupId>org.bytedeco</groupId>
-            <artifactId>javacpp</artifactId>
-            <version>${javacpp.version}</version>
-        </dependency>
-        <!-- ffmpeg -->
-        <dependency>
-            <groupId>org.bytedeco.javacpp-presets</groupId>
-            <artifactId>ffmpeg-platform</artifactId>
-            <version>${ffmpeg.version}-${javacpp.version}</version>
-        </dependency>
-        <dependency>
-            <groupId>org.bytedeco.javacpp-presets</groupId>
-            <artifactId>ffmpeg</artifactId>
-            <version>${ffmpeg.version}-${javacpp.version}</version>
-        </dependency>
         <dependency>
             <groupId>org.assertj</groupId>
             <artifactId>assertj-core</artifactId>

+ 16 - 9
src/main/java/com/metro/config/SaTokenConfigure.java

@@ -1,10 +1,15 @@
 package com.metro.config;
 
+import cn.dev33.satoken.interceptor.SaRouteInterceptor;
+import cn.dev33.satoken.router.SaRouterUtil;
+import cn.dev33.satoken.stp.StpUtil;
 import org.springframework.beans.factory.annotation.Configurable;
 import org.springframework.stereotype.Component;
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
 
+import java.util.Arrays;
+
 
 /**
  * <h3>SaTokenConfigure</h3>
@@ -28,24 +33,26 @@ public class SaTokenConfigure implements WebMvcConfigurer {
             "/webSocket",
             "/appUser/getUserInfo",
             "/static/**",
-            "/doc.html/**",
+            "/*.html/**",
             "/webjars/**",
             "/favicon.ico",
             "/error",
             "/sockjs-node/info",
             "/swagger-resources/**",
             "/callBack/**",
-            "/task/refreshAccessToken"
+            "/task/refreshAccessToken",
+            "/updateFile/**"
+
     };
 
-    // 注册sa-token的拦截器
+    /*// 注册sa-token的拦截器
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         // 注册路由拦截器,自定义验证规则
-//        registry.addInterceptor(new SaRouteInterceptor((request, response, handler) -> {
-//            // 登录验证 -- 排除多个路径
-//            SaRouterUtil.match(Arrays.asList("/**"),Arrays.asList(excludePatterns),
-//                    () -> StpUtil.checkLogin());
-//        })).addPathPatterns("/**");
-    }
+        registry.addInterceptor(new SaRouteInterceptor((request, response, handler) -> {
+            // 登录验证 -- 排除多个路径
+            SaRouterUtil.match(Arrays.asList("/**"),Arrays.asList(excludePatterns),
+                    () -> StpUtil.checkLogin());
+        })).addPathPatterns("/**");
+    }*/
 }

+ 1 - 1
src/main/java/com/metro/config/WebConfig.java

@@ -11,7 +11,7 @@ public class WebConfig extends WebMvcConfigurerAdapter {
     @Override
     public void addInterceptors(InterceptorRegistry registry) {
         registry.addInterceptor(new AdminInterceptor())
-                .addPathPatterns("/**")
+                .addPathPatterns("/account/**,")
                 .excludePathPatterns("/swagger-resources/**", "/webjars/**", "/v2/**", "/swagger-ui.html/**","/swagger-ui.html/**");
 
     }

+ 5 - 0
src/main/java/com/metro/entity/po/Account.java

@@ -74,6 +74,11 @@ public class Account {
      */
     private String companyId;
 
+    /*
+    * 分局id
+    * */
+    private String branchId;
+
     /**
      * 创建时间
      */

+ 11 - 4
src/main/java/com/metro/entity/po/PassreCords.java

@@ -96,11 +96,12 @@ public class PassreCords {
      **/
     private String idPhoto;
 
-    /**
-     * 现场照片
-     **/
+    /*
+    * 临时照片
+    * */
+    private String img;
+
 
-    private String scenePhoto;
     /**
      * 身份证地区
      */
@@ -188,5 +189,11 @@ public class PassreCords {
     * */
     private String warning;
 
+    /*
+     * 警示负责民警
+     * */
+    private String peopleName;
+
+
 
 }

+ 8 - 1
src/main/java/com/metro/entity/po/Police.java

@@ -64,10 +64,16 @@ public class Police {
     private String policeId;
 
     /**
-     * 部门Id
+     * 公安Id
      */
     private String companyId;
 
+    /**
+     *分局id
+     */
+    private String branchId;
+
+
     /**
      * 创建时间
      */
@@ -101,4 +107,5 @@ public class Police {
      * */
     private Boolean status;
 
+
 }

+ 0 - 1
src/main/java/com/metro/entity/ro/Police/DetailPoliceReq.java

@@ -20,7 +20,6 @@ import java.io.Serializable;
 public class DetailPoliceReq  implements Serializable {
 
     @ApiModelProperty("id")
-    @NotNull(message = "id不能为空")
     private Integer id;
 
 }

+ 0 - 1
src/main/java/com/metro/entity/ro/Police/InsertPoliceReq.java

@@ -22,7 +22,6 @@ public class InsertPoliceReq implements Serializable {
     @NotEmpty(message = "账号不能为空")
     private String account;
 
-    @NotEmpty(message = "派出所名称不能为空")
     @ApiModelProperty(value = "派出所名称")
     private String branchName;
 

+ 1 - 1
src/main/java/com/metro/entity/ro/Police/SelectPolicePageReq.java

@@ -22,7 +22,7 @@ import java.io.Serializable;
 public class SelectPolicePageReq extends BaseEntity implements Serializable {
 
     @ApiModelProperty("派出所名称")
-    private String companyName;
+    private String account;
 
     @ApiModelProperty("姓名")
     private String userName;

+ 2 - 0
src/main/java/com/metro/entity/ro/Police/SelectPolicePageResp.java

@@ -44,4 +44,6 @@ public class SelectPolicePageResp implements Serializable {
     private String address;
 
 
+
+
 }

+ 0 - 6
src/main/java/com/metro/entity/ro/Police/UpdatePoliceReq.java

@@ -26,23 +26,17 @@ public class UpdatePoliceReq implements Serializable {
     @NotEmpty(message = "账号不能为空")
     private String account;
 
-    @NotEmpty(message = "派出所名称不能为空")
-    @ApiModelProperty(value = "派出所名称")
-    private String branchName;
 
     @NotEmpty(message = "管理员姓名不能为空")
     @ApiModelProperty(value = "管理员姓名")
     private String userName;
 
-    @NotEmpty(message = "派出所管理员手机号不能为空")
     @ApiModelProperty(value = "管理员手机号")
     private String phone;
 
-    @NotEmpty(message = "密码不能为空")
     @ApiModelProperty(value = "密码")
     private String password;
 
-    @NotEmpty(message = "详细地址不能为空")
     @ApiModelProperty(value = "详细地址")
     private String address;
 

+ 0 - 1
src/main/java/com/metro/entity/ro/account/DetailAccountReq.java

@@ -15,6 +15,5 @@ import java.io.Serializable;
 public class DetailAccountReq implements Serializable {
 
     @ApiModelProperty("主键")
-    @NotNull(message = "主键为必填项!")
     private Integer id;
 }

+ 0 - 1
src/main/java/com/metro/entity/ro/account/SelectAccountPageReq.java

@@ -40,5 +40,4 @@ public class SelectAccountPageReq extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "管理员等级")
     private Integer type;
 
-
 }

+ 1 - 3
src/main/java/com/metro/entity/ro/account/SelectAccountPageResp.java

@@ -70,9 +70,6 @@ public class SelectAccountPageResp implements Serializable {
     @ApiModelProperty(value = "修改人")
     private LocalDateTime updateId;
 
-    @ApiModelProperty(value = "是否删除")
-    private boolean isDelete;
-
     @ApiModelProperty(value = "账号状态码")
     private boolean status;
 
@@ -88,4 +85,5 @@ public class SelectAccountPageResp implements Serializable {
         return UserEnums.statusEnums.getStatusName(this.status);
     }
 
+
 }

+ 0 - 4
src/main/java/com/metro/entity/ro/account/UpdateAccountReq.java

@@ -21,15 +21,12 @@ import java.io.Serializable;
 public class UpdateAccountReq implements Serializable {
 
     @ApiModelProperty("主键")
-    @NotNull(message = "主键为必传参数")
     private Integer id;
 
     @ApiModelProperty(value = "账号名称")
-    @NotEmpty(message = "修改账号为必填参数")
     private String account;
 
     @ApiModelProperty(value = "管理员姓名")
-    @NotEmpty(message = "姓名不能为空")
     private String userName;
 
     @ApiModelProperty(value = "管理员手机号")
@@ -37,7 +34,6 @@ public class UpdateAccountReq implements Serializable {
     private String phone;
 
     @ApiModelProperty(value = "密码")
-    @NotEmpty(message = "密码不能为空")
     private String password;
 
     @ApiModelProperty(value = "部门Id")

+ 1 - 3
src/main/java/com/metro/entity/ro/passrecords/SelectPassreCordsPageListResp.java

@@ -31,8 +31,7 @@ public class SelectPassreCordsPageListResp implements Serializable {
     private String cardId;
 
     @ApiModelProperty(value = "现场照片")
-    private String scenePhoto;
-
+    private String img;
     @ApiModelProperty(value = "手机号")
     private String phone;
 
@@ -68,7 +67,6 @@ public class SelectPassreCordsPageListResp implements Serializable {
 
     @ApiModelProperty(value = "民警名")
     private String peopleName;
-    public String getPeopleName(){return "李时兴";}
 
     @ApiModelProperty(value = "创建时间")
     private LocalDateTime createTime;

+ 5 - 4
src/main/java/com/metro/job/HealthCodeTask.java

@@ -28,7 +28,7 @@ public class HealthCodeTask {
      * 健康码-新冠疫苗接种-核酸检测3合1接口
      * 健康码检测定时任务
      */
-    @Scheduled(cron = "0/5 * * * * ? ") // 间隔5秒执行*/
+    @Scheduled(cron = "0/5 * * * * ?")
     public void healthCode() {
 
         long begin = System.currentTimeMillis();
@@ -36,7 +36,7 @@ public class HealthCodeTask {
         String result = HttpClientUtil.httpPostSetConfig("http://115.236.38.205:8903/id/hvn", params);
         if (StringUtils.isEmpty(result)) {
             long timeValue = System.currentTimeMillis() - begin;
-            log.error("调用健康码-新冠疫苗接种-核酸检测3合1接口调用失败,总耗时: {} 毫秒",timeValue);
+            log.error("调用3合1接口调用失败,总耗时: {} 毫秒",timeValue);
             return;
         }
         JSONObject jsonObject = JSON.parseObject(result);
@@ -44,12 +44,13 @@ public class HealthCodeTask {
             long timeValue = System.currentTimeMillis() - begin;
         } else {
             long timeValue = System.currentTimeMillis() - begin;
-            log.error("调用健康码-新冠疫苗接种-核酸检测3合1接口失败!:返回结果为:{},总耗时:{} 毫秒", result,timeValue);
-            // TODO 如果需要记录到数库中需要建日志表,表字段参考返回值,将错误信息插入
+            log.error("调用核酸检测3合1接口失败!:返回结果为:{},总耗时:{} 毫秒", result,timeValue);
+
         }
 
 
 
     }
 
+
 }

+ 48 - 0
src/main/java/com/metro/job/RenheCodeTask.java

@@ -0,0 +1,48 @@
+package com.metro.job;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.metro.utils.HttpClientUtil;
+import lombok.extern.log4j.Log4j2;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.annotation.Scheduled;
+import org.springframework.stereotype.Component;
+
+/**
+ * @ClassName: RenheCodeTask
+ * @Description: TODO
+ * @Author: ZS
+ * @CreateName: lws
+ * @Date 2022/3/23 16:18
+ * ...
+ */
+@Component
+@EnableScheduling
+@Log4j2
+@Slf4j
+public class RenheCodeTask {
+
+    @Scheduled(cron = "0/5 * * * * ?")
+    public void boot(){
+        long begin = System.currentTimeMillis();
+        String params = "{\"idNumber\": \"410322199907309877\",\"token\":\"hh_token_51063b27-9fd8-420d-b7eb-e5600fe0dec9\"}";
+        String result = HttpClientUtil.httpPostSetConfig("https://renhe.hz-hanghui.com/health-code/hh/getHealthCode", params);
+        if (StringUtils.isEmpty(result)) {
+            long timeValue = System.currentTimeMillis() - begin;
+            log.error("调用仁和接口调用失败,总耗时: {} 毫秒",timeValue);
+            return;
+        }
+        JSONObject jsonObject = JSON.parseObject(result);
+        if (200==jsonObject.getInteger("code")) {
+            long timeValue = System.currentTimeMillis() - begin;
+        } else {
+            long timeValue = System.currentTimeMillis() - begin;
+            log.error("调用仁和失败!:返回结果为:{},总耗时:{} 毫秒", result,timeValue);
+        }
+
+
+
+    }
+}

+ 1 - 1
src/main/java/com/metro/security/AdminInterceptor.java

@@ -23,7 +23,7 @@ import java.lang.reflect.Method;
 
 
 /**
- * 管理员相关权限认拦截器
+ * 管理员相关权限认.do拦截器
  *
  * @author pwb
  * @create 2019/7/15

+ 24 - 31
src/main/java/com/metro/service/impl/AccountServiceImpl.java

@@ -11,6 +11,8 @@ import com.metro.entity.model.UserOperateModel;
 import com.metro.entity.po.Account;
 import com.metro.entity.po.Area;
 import com.metro.entity.po.Company;
+import com.metro.entity.po.Police;
+import com.metro.entity.ro.Police.DetailPoliceResp;
 import com.metro.entity.ro.account.*;
 import com.metro.exception.BusinessException;
 import com.metro.mapper.AccountsMapper;
@@ -79,10 +81,6 @@ public class AccountServiceImpl extends BaseService implements AccountService {
                 Join.join("-", areaMapper.selectList(new LambdaQueryWrapper<Area>().in(Area::getId, StringUtils.split(p.getDistrictSqe(), ","))).stream().map(Area::getName).collect(Collectors.toList()))
         ));
         return selectPage.convert(p -> MapperManager.mapper(p, SelectAccountPageResp.class, q -> {
-            if (getAccountInfo().getType() == 3 || getAccountInfo().getType() == 4) {
-                q.setCompanyId(companysMapper.selectById(p.getId()).getCompanyId());
-                q.setBranchId(p.getCompanyId());
-            }
             q.setAreaDesc(areaMap.get(p.getAreaId()));
         }));
     }
@@ -93,7 +91,10 @@ public class AccountServiceImpl extends BaseService implements AccountService {
         wrapper.like(StringUtils.isNotEmpty(req.getUserName()), Account::getUserName, req.getUserName());
         wrapper.eq(StringUtils.isNotEmpty(req.getPhone()), Account::getPhone, req.getPhone());
         wrapper.eq(Account::getIsDelete, UserConstant.NOT_DELETE);
-        wrapper.gt(Account::getType, getAccountInfo().getType());
+        if(getAccountInfo().getType()==2){
+            wrapper.gt(Account::getType, getAccountInfo().getType());
+        } else wrapper.eq(Account::getType, getAccountInfo().getType()+1);
+
         return wrapper;
     }
 
@@ -111,7 +112,7 @@ public class AccountServiceImpl extends BaseService implements AccountService {
         return new InsertAccountResp().setCount(accountsMapper.insert(MapperManager.mapper(req, Account.class, p -> {
             p.setPassword(MD5UtilNew.string2MD5(req.getPassword())).setCreateTime(LocalDateTime.now());
             Integer type = getAccountInfo().getType();
-            if (type == BigDecimal.ROUND_CEILING) p.setType(type);
+            if (type == BigDecimal.ROUND_CEILING) p.setType(req.getType());
             else p.setType(type + 1);
         })));
     }
@@ -149,6 +150,9 @@ public class AccountServiceImpl extends BaseService implements AccountService {
     @Override
     public DetailAccountResp detail(DetailAccountReq req) {
         Account account = accountsMapper.selectById(req.getId());
+        if(account.getAreaId() == null){
+            return MapperManager.mapper(account, DetailAccountResp.class);
+        }
         Area area = areaMapper.selectById(account.getAreaId());
         String[] split = area.getDistrictSqe().trim().split(",");
         String areaId = null;
@@ -156,23 +160,21 @@ public class AccountServiceImpl extends BaseService implements AccountService {
         String provinceId = null;
         List<String> strings = Arrays.asList(split);
         // .11.150.1275.
-        for (int i = 0; i < strings.size(); i++) {
-            if (i == 0) {
-                provinceId = strings.get(i);
-            } else if (i == 1) {
-                cityId = strings.get(i);
-            } else if (i == 2) {
-                areaId = strings.get(i);
+        if(strings !=null) {
+            for (int i = 0; i < strings.size(); i++) {
+                if (i == 0) {
+                    provinceId = strings.get(i);
+                } else if (i == 1) {
+                    cityId = strings.get(i);
+                } else if (i == 2) {
+                    areaId = strings.get(i);
+                }
             }
         }
         String finalAreaId = areaId;
         String finalCityId = cityId;
         String finalprovinceId = provinceId;
         return MapperManager.mapper(account, DetailAccountResp.class, p -> {
-            if (getAccountInfo().getType() == 3 || getAccountInfo().getType() == 4) {
-                p.setCompanyId(companysMapper.selectById(account.getId()).getCompanyId());
-                p.setBranchId(account.getCompanyId());
-            }
             p.setAreaId(finalAreaId);
             p.setCityId(finalCityId);
             p.setProvinceId(finalprovinceId);
@@ -187,14 +189,12 @@ public class AccountServiceImpl extends BaseService implements AccountService {
      */
     @Override
     public UpdateAccountResp update(UpdateAccountReq req) {
-        Integer id = getAccountInfo().getId();
-        return getUpdateAccountResp(req, accountsMapper, id);
+
+        return getUpdateAccountResp(req, accountsMapper, req.getId());
     }
 
     static UpdateAccountResp getUpdateAccountResp(UpdateAccountReq req, AccountsMapper accountsMapper, Integer id) {
         if (!StringUtil.isChinese(req.getUserName())) throw new BusinessException(UserConstant.NOT_CHINESE_USERNAME);
-        Account account = accountsMapper.selectOne(new LambdaQueryWrapper<Account>().eq(Account::getAccount, req.getAccount()).eq(Account::getIsDelete, UserConstant.NOT_DELETE));
-        if (ObjectUtil.isEmpty(account)) throw new BusinessException(account.getAccount() + "不存在!不能修改");
         return new UpdateAccountResp().setCount(accountsMapper.updateById(MapperManager.mapper(req, Account.class, p -> p.setPassword(MD5UtilNew.string2MD5(req.getPassword()))
                 .setUpdateTime(LocalDateTime.now()).setUpdateId(id))));
     }
@@ -267,19 +267,12 @@ public class AccountServiceImpl extends BaseService implements AccountService {
      */
     @Override
     public LoginAccountResp login(LoginAccountReq req) {
-        Account account = accountsMapper.selectOne(new LambdaQueryWrapper<Account>().eq(Account::getAccount, req.getAccount()).eq(Account::getIsDelete, UserConstant.NOT_DELETE));
+        Account account =  accountsMapper.selectOne(new LambdaQueryWrapper<Account>().eq(Account::getAccount, req.getAccount()).eq(Account::getIsDelete, UserConstant.NOT_DELETE));
         if (ObjectUtil.isEmpty(account)) throw new BusinessException("账号不存在!请先注册");
         if (!MD5UtilNew.string2MD5(req.getPassword()).equals(account.getPassword()))
-            throw new BusinessException("密码不对!请重新输入");
+            throw new BusinessException("密码错误!请重新输入");
         return MapperManager.mapper(account, LoginAccountResp.class, p -> {
             p.setToken(JWTUtils.sign(account.getId().toString(), account.getPassword(), DateUtils.addDays(new Date(), 1)));
-            if (account.getType() == 3 || account.getType() == 4) {
-                Company company = companysMapper.selectById(account.getCompanyId());
-                p.setCompanyId(ObjectUtil.isNotEmpty(company) ? company.getCompanyId() : null);
-                p.setBranchId(account.getCompanyId());
-            } else if (account.getType() == 2) {
-                p.setCompanyId(account.getCompanyId());
-            }
         });
     }
 
@@ -322,7 +315,7 @@ public class AccountServiceImpl extends BaseService implements AccountService {
                     BeanValidators.validateWithException(validator, user);
                     successNum++;
                     Account mapper = MapperManager.mapper(user, Account.class, p -> {
-                        p.setPassword(MD5UtilNew.string2MD5(user.getPassword())).setAreaId(getAccountInfo().getAreaId()).setType(Integer.valueOf(type)).setCreateTime(LocalDateTime.now());
+                        p.setPassword(MD5UtilNew.string2MD5(user.getPassword())).setType(Integer.valueOf(type)).setCreateTime(LocalDateTime.now());
                     });
                     accountsMapper.insert(mapper);
                     successMsg.append("<br/>" + successNum + "、账号 " + user.getAccount() + " 导入成功");

+ 19 - 1
src/main/java/com/metro/service/impl/PassreCordsServiceImpl.java

@@ -11,8 +11,10 @@ import com.metro.entity.ro.passrecords.*;
 import com.metro.mapper.CompanysMapper;
 import com.metro.mapper.PassreCordsMapper;
 import com.metro.service.PassreCordsService;
+import com.metro.service.base.BaseService;
 import com.metro.utils.MapperManager;
 import com.metro.utils.StringUtils;
+import lombok.extern.log4j.Log4j2;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.CollectionUtils;
@@ -32,7 +34,7 @@ import java.util.stream.Collectors;
  * ...
  */
 @Service
-public class PassreCordsServiceImpl implements PassreCordsService {
+public class PassreCordsServiceImpl extends BaseService implements PassreCordsService {
 
     @Autowired
     private PassreCordsMapper passreCordsMapper;
@@ -96,6 +98,22 @@ public class PassreCordsServiceImpl implements PassreCordsService {
     // page Wrapper
     private LambdaQueryWrapper<PassreCords> pageWrapper(SelectPassreCordsPageListReq req) {
         LambdaQueryWrapper<PassreCords> wrapper = new LambdaQueryWrapper<>();
+        if (getAccountInfo().getType() == 2) {
+           wrapper.eq(PassreCords::getCompanyId, getAccountInfo().getCompanyId());
+
+
+        }
+        if (getAccountInfo().getType() == 3) {
+            //显示该分局账号下的所有盘查记录 companyID = 记录companyID branchID = 记录branchId
+            wrapper.eq(PassreCords::getCompanyId, getAccountInfo().getCompanyId()).eq(PassreCords::getBranchId, getAccountInfo().getBranchId());
+        }
+        if (getAccountInfo().getType() == 4) {
+            //显示该民警产生的盘查记录 companyID = 记录companyID branchID = 记录branchId userName = peopleName
+            wrapper.eq(PassreCords::getCompanyId, getAccountInfo().getCompanyId()).
+                    eq(PassreCords::getBranchId, getAccountInfo().getBranchId()).
+                    eq(PassreCords::getPeopleName,getAccountInfo().getUserName());
+
+        }
         wrapper.eq(PassreCords::getIsDelete, UserConstant.NOT_DELETE);
         wrapper.eq(StringUtils.isNotEmpty(req.getXm()), PassreCords::getXm, req.getXm());
         wrapper.eq(StringUtils.isNotEmpty(req.getCardId()), PassreCords::getCardId, req.getCardId());

+ 34 - 60
src/main/java/com/metro/service/impl/PoliceServiceImpl.java

@@ -6,12 +6,10 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.metro.constant.UserConstant;
-import com.metro.entity.po.Account;
-import com.metro.entity.po.Area;
-import com.metro.entity.po.Company;
-import com.metro.entity.po.Police;
+import com.metro.entity.po.*;
 import com.metro.entity.ro.Police.*;
 import com.metro.entity.ro.account.*;
+import com.metro.entity.ro.passrecords.SelectPassreCordsPageListResp;
 import com.metro.exception.BusinessException;
 import com.metro.mapper.AccountsMapper;
 import com.metro.mapper.CompanysMapper;
@@ -34,6 +32,7 @@ import java.math.BigDecimal;
 import java.time.LocalDateTime;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import static com.metro.service.impl.AccountServiceImpl.getUpdateAccountResp;
 
@@ -54,41 +53,30 @@ public class PoliceServiceImpl extends BaseService implements PoliceService {
     private CompanysMapper companysMapper;
     @Autowired
     private AccountsMapper accountsMapper;
-
+    /*
+    * 派出所列表展示
+    * */
     @Override
     public IPage<SelectPolicePageResp> page(SelectPolicePageReq req) {
-        Page<Company> companyPage = companysMapper.selectPage(new Page<>(req.getPageNum(), req.getPageSize()), pageWrapper(req));
-        if (CollectionUtils.isEmpty(companyPage.getRecords())) return new Page<>();
+        IPage<SelectPolicePageResp> respPage = new Page<>(req.getPageNum(), req.getPageSize());
+        Page<Police> selectPage = mapper.selectPage(new Page<>(req.getPageNum(), req.getPageSize()), pageWrapper(req));
+        if (CollectionUtils.isEmpty(selectPage.getRecords())) return respPage;
+        Set<String> getCompanyId = selectPage.getRecords().stream().map(Police::getCompanyId).collect(Collectors.toSet());
+        return selectPage.convert(p -> MapperManager.mapper(p, SelectPolicePageResp.class));
 
-        List<Account> accounts = accountsMapper.selectList(new LambdaQueryWrapper<Account>()
-                .like(StringUtils.isNotEmpty(req.getAddress()), Account::getAddress, req.getAddress())
-                .like(StringUtils.isNotEmpty(req.getUserName()), Account::getUserName, req.getUserName())
-                .like(StringUtils.isNotEmpty(req.getPhone()), Account::getPhone, req.getPhone())
-                .in(Account::getCompanyId,
-                        companysMapper.selectList(new LambdaQueryWrapper<Company>()
-                                .in(Company::getCompanyId, companyPage.getRecords().stream().map(Company::getCompanyId).collect(Collectors.toSet())))
-                                .stream().map(Company::getId).collect(Collectors.toSet())
-                ));
-        if (CollectionUtils.isEmpty(accounts)) return new Page<>();
-        Map<String, Account> collect = accounts.stream().collect(Collectors.toMap(Account::getCompanyId, p -> p, (t1, t2) -> t1));
-        return companyPage.convert(p -> MapperManager.mapper(p, SelectPolicePageResp.class, q -> {
-            q.setCompanyName(p.getBranchName()).setId(p.getId());
-            if (!CollectionUtils.isEmpty(collect)) {
-                Account account = collect.get(p.getId() + "");
-                if (ObjectUtil.isNotEmpty(account)) {
-                    q.setCreateTime(account.getCreateTime()).setAccount(account.getAccount()).setAddress(account.getAddress()).setPhone(account.getPhone()).setUserName(account.getUserName());
-                }
-            }
-        }));
     }
 
+
     /*
      * 查询条件
      * */
-    private LambdaQueryWrapper<Company> pageWrapper(SelectPolicePageReq req) {
-        LambdaQueryWrapper<Company> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(Company::getCompanyId, getAccountInfo().getCompanyId());
-        wrapper.like(StringUtils.isNotEmpty(req.getCompanyName()), Company::getBranchName, req.getCompanyName());
+    private LambdaQueryWrapper<Police> pageWrapper(SelectPolicePageReq req) {
+        LambdaQueryWrapper<Police> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Police::getIsDelete, UserConstant.NOT_DELETE);
+        wrapper.like(com.metro.utils.StringUtils.isNotEmpty(req.getAddress()), Police::getAddress, req.getAddress());
+        wrapper.like(com.metro.utils.StringUtils.isNotEmpty(req.getUserName()), Police::getUserName, req.getUserName());
+        wrapper.like(com.metro.utils.StringUtils.isNotEmpty(req.getPhone()), Police::getPhone, req.getPhone());
+        wrapper.like(com.metro.utils.StringUtils.isNotEmpty(req.getAccount()),Police::getAccount,req.getAccount());
         return wrapper;
     }
 
@@ -117,33 +105,24 @@ public class PoliceServiceImpl extends BaseService implements PoliceService {
      * */
     @Override
     public DetailPoliceResp detail(DetailPoliceReq req) {
-        if (getAccountInfo().getType() != 2) throw new BusinessException("非分局管理员不能修改!");
-        Company selectOne = companysMapper.selectOne(new LambdaQueryWrapper<Company>().eq(Company::getId, req.getId()));
-        if (ObjectUtils.isEmpty(selectOne)) throw new BusinessException("未获取到派出所信息");
-        Police police = mapper.selectList(new LambdaQueryWrapper<Police>().eq(Police::getCompanyId, selectOne.getId()).eq(Police::getIsDelete, UserConstant.NOT_DELETE)).stream().findFirst().orElse(null);
-        return MapperManager.mapper(police, DetailPoliceResp.class, p -> p.setId(selectOne.getId()).setBranchName(ObjectUtil.isEmpty(selectOne.getBranchName()) ? null : selectOne.getBranchName()));
+        Police police = mapper.selectById(req.getId());
+        return MapperManager.mapper(police, DetailPoliceResp.class);
     }
 
-    /*
+    /**
      * 修改账号
-     * */
+     *
+     * @param req 主键
+     * @return 影响行数
+     */
     @Override
-    @Transactional
     public UpdatePoliceResp update(UpdatePoliceReq req) {
-        if (getAccountInfo().getType() != 2) throw new BusinessException("非分局管理员不能修改!");
-        Police account = mapper.selectOne(new LambdaQueryWrapper<Police>().eq(Police::getAccount, req.getAccount()).eq(Police::getIsDelete, UserConstant.NOT_DELETE));
-        if (ObjectUtil.isEmpty(account)) throw new BusinessException(req.getAccount() + "已经停用或者不存在!不能修改");
-        int insert = mapper.update(MapperManager.mapper(req, Police.class, p -> p.setPassword(MD5UtilNew.string2MD5(req.getPassword())).setUpdateTime(LocalDateTime.now())), new LambdaQueryWrapper<Police>().eq(Police::getAccount, account.getAccount())
-                .eq(Police::getIsDelete, UserConstant.NOT_DELETE));
-        if (insert == BigDecimal.ZERO.intValue()) throw new BusinessException("修改派出所管理员账号异常!");
-        Company selectOne = companysMapper.selectOne(new LambdaQueryWrapper<Company>().eq(Company::getId, req.getId()));
-        if (ObjectUtils.isEmpty(selectOne)) throw new BusinessException("没有该派出所");
-        List<Company> companies = companysMapper.selectList(new LambdaQueryWrapper<Company>().eq(Company::getCompanyId, selectOne.getCompanyId()));
-        long count = companies.stream().filter(p -> !p.getBranchName().equals(selectOne.getBranchName())).filter(p -> p.getBranchName().equals(req.getBranchName())).count();
-        if(count != BigDecimal.ZERO.longValue()) throw new BusinessException("派出所名称已经存在!请更改");
-        int insert1 = companysMapper.updateById(new Company().setBranchName(req.getBranchName()).setId(req.getId()));
-        if (insert1 == BigDecimal.ZERO.intValue()) throw new BusinessException("修改派出所失败!");
-        return new UpdatePoliceResp().setCount(insert + insert1);
+        Integer id = req.getId();
+        if (!StringUtil.isChinese(req.getUserName())) throw new BusinessException(UserConstant.NOT_CHINESE_USERNAME);
+        Account account = accountsMapper.selectOne(new LambdaQueryWrapper<Account>().eq(Account::getAccount, req.getAccount()).eq(Account::getIsDelete, UserConstant.NOT_DELETE));
+        return new UpdatePoliceResp().setCount(accountsMapper.updateById(MapperManager.mapper(req, Account.class, p -> p.setPassword(MD5UtilNew.string2MD5(req.getPassword()))
+                .setUpdateTime(LocalDateTime.now()).setUpdateId(id))));
+
     }
 
     /*
@@ -152,14 +131,9 @@ public class PoliceServiceImpl extends BaseService implements PoliceService {
     @Override
     @Transactional
     public DeleteAccountResp delete(DeleteAccountReq req) {
-        if (getAccountInfo().getType() != 2) throw new BusinessException("非分局管理员不能删除!");
-        Company selectOne = companysMapper.selectOne(new LambdaQueryWrapper<Company>().eq(Company::getId, req.getId()));
-        if (ObjectUtils.isEmpty(selectOne)) throw new BusinessException("未获取到派出所信息");
-        List<Police> police = mapper.selectList(new LambdaQueryWrapper<Police>().eq(Police::getId, selectOne.getId()).eq(Police::getIsDelete, UserConstant.NOT_DELETE));
-        if (CollectionUtils.isEmpty(police)) throw new BusinessException("派出所下有用户,不能删除");
-        return new DeleteAccountResp().setCount(companysMapper.deleteById(req.getId()));
+        return new DeleteAccountResp().setCount(accountsMapper.updateById(new Account().setId(req.getId())
+                .setIsDelete(UserConstant.DELETE).setUpdateTime(LocalDateTime.now())));
     }
-
     /**
      * 派出所下拉查询(分局、派出所)
      *

+ 1 - 1
src/main/java/com/metro/utils/FileUtils.java

@@ -63,7 +63,7 @@ public class FileUtils {
         }
         assert path != null;
         if (!path.exists()) path = new File("");
-        File upload = new File(path.getAbsolutePath(), "static/upload/");
+        File upload = new File(path.getAbsolutePath(), "../../uploadFile/upload/");
         if (!upload.exists()) upload.mkdirs();
         return upload.getAbsolutePath();
     }

+ 1 - 1
src/main/resources/application-dev.yml

@@ -2,7 +2,7 @@ spring:
   datasource:
     url: jdbc:mysql://61.243.3.209:8903/hxserver?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&useSSL=false&zeroDateTimeBehavior=convertToNull&allowMultiQueries=true&pinGlobalTxToPhysicalConnection=true&serverTimezone=UTC
     username: root
-    password: xingxing12345678
+    password: Root@1234
     driver-class-name: com.mysql.cj.jdbc.Driver
     type: com.alibaba.druid.pool.DruidDataSource
   redis: