张延森 преди 2 години
родител
ревизия
00ceaa6b75
променени са 25 файла, в които са добавени 399 реда и са изтрити 42 реда
  1. 3
    3
      src/main/java/com/yunzhi/nanyang/common/BaseController.java
  2. 14
    0
      src/main/java/com/yunzhi/nanyang/config/FilterConfig.java
  3. 64
    21
      src/main/java/com/yunzhi/nanyang/config/SaTokenConfigure.java
  4. 6
    3
      src/main/java/com/yunzhi/nanyang/controller/MobileController.java
  5. 14
    5
      src/main/java/com/yunzhi/nanyang/controller/ScreenDataController.java
  6. 3
    0
      src/main/java/com/yunzhi/nanyang/controller/SysUserController.java
  7. 4
    0
      src/main/java/com/yunzhi/nanyang/controller/TaOrderController.java
  8. 59
    0
      src/main/java/com/yunzhi/nanyang/controller/TaWorkMessageController.java
  9. 59
    0
      src/main/java/com/yunzhi/nanyang/entity/TaWorkMessage.java
  10. 3
    0
      src/main/java/com/yunzhi/nanyang/entity/TdMachineryType.java
  11. 5
    2
      src/main/java/com/yunzhi/nanyang/exception/GlobalExceptionHandler.java
  12. 4
    0
      src/main/java/com/yunzhi/nanyang/mapper/TaMachineryMapper.java
  13. 2
    0
      src/main/java/com/yunzhi/nanyang/mapper/TaPersonMapper.java
  14. 18
    0
      src/main/java/com/yunzhi/nanyang/mapper/TaWorkMessageMapper.java
  15. 2
    0
      src/main/java/com/yunzhi/nanyang/service/ITaPersonService.java
  16. 22
    0
      src/main/java/com/yunzhi/nanyang/service/ITaWorkMessageService.java
  17. 16
    0
      src/main/java/com/yunzhi/nanyang/service/impl/TaDispatchServiceImpl.java
  18. 1
    7
      src/main/java/com/yunzhi/nanyang/service/impl/TaMachineryServiceImpl.java
  19. 5
    0
      src/main/java/com/yunzhi/nanyang/service/impl/TaPersonServiceImpl.java
  20. 53
    0
      src/main/java/com/yunzhi/nanyang/service/impl/TaWorkMessageServiceImpl.java
  21. 13
    0
      src/main/resources/application.yml
  22. 2
    1
      src/main/resources/mapper/TaDispatchMapper.xml
  23. 16
    0
      src/main/resources/mapper/TaMachineryMapper.xml
  24. 6
    0
      src/main/resources/mapper/TaPersonMapper.xml
  25. 5
    0
      src/main/resources/mapper/TaWorkMessageMapper.xml

+ 3
- 3
src/main/java/com/yunzhi/nanyang/common/BaseController.java Целия файл

@@ -15,13 +15,13 @@ import java.util.List;
15 15
 public class BaseController {
16 16
 
17 17
     @Autowired
18
-    ISysUserService iSysUserService;
18
+    protected ISysUserService iSysUserService;
19 19
 
20 20
     @Autowired
21
-    ITaPersonService iTaPersonService;
21
+    protected ITaPersonService iTaPersonService;
22 22
 
23 23
     @Autowired
24
-    ISysUserDataScopeService iSysUserDataScopeService;
24
+    protected ISysUserDataScopeService iSysUserDataScopeService;
25 25
 
26 26
     public String getLoginId() {
27 27
         return StpUtil.getLoginIdAsString();

+ 14
- 0
src/main/java/com/yunzhi/nanyang/config/FilterConfig.java Целия файл

@@ -0,0 +1,14 @@
1
+package com.yunzhi.nanyang.config;
2
+
3
+import lombok.Data;
4
+import org.springframework.boot.context.properties.ConfigurationProperties;
5
+import org.springframework.stereotype.Component;
6
+
7
+import java.util.List;
8
+
9
+@Data
10
+@Component
11
+@ConfigurationProperties(prefix = "yz.filter")
12
+public class FilterConfig {
13
+    List<String> annList;
14
+}

+ 64
- 21
src/main/java/com/yunzhi/nanyang/config/SaTokenConfigure.java Целия файл

@@ -1,8 +1,17 @@
1 1
 package com.yunzhi.nanyang.config;
2 2
 
3
+import cn.dev33.satoken.context.SaHolder;
4
+import cn.dev33.satoken.exception.NotLoginException;
5
+import cn.dev33.satoken.filter.SaServletFilter;
3 6
 import cn.dev33.satoken.interceptor.SaRouteInterceptor;
4 7
 import cn.dev33.satoken.jwt.StpLogicJwtForStateless;
8
+import cn.dev33.satoken.router.SaHttpMethod;
9
+import cn.dev33.satoken.router.SaRouter;
5 10
 import cn.dev33.satoken.stp.StpLogic;
11
+import cn.dev33.satoken.stp.StpUtil;
12
+import com.alibaba.fastjson.JSONObject;
13
+import com.yunzhi.nanyang.common.ResponseBean;
14
+import org.springframework.beans.factory.annotation.Autowired;
6 15
 import org.springframework.context.annotation.Bean;
7 16
 import org.springframework.context.annotation.Configuration;
8 17
 import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
@@ -12,29 +21,63 @@ import java.util.ArrayList;
12 21
 import java.util.List;
13 22
 
14 23
 @Configuration
15
-public class SaTokenConfigure implements WebMvcConfigurer {
16
-    // 注册拦截器
17
-    @Override
18
-    public void addInterceptors(InterceptorRegistry registry) {
19
-
20
-        List<String> anonList = new ArrayList<>();
21
-        anonList.add("/swagger-ui/**");
22
-        anonList.add("/swagger-resources/**");
23
-        anonList.add("/v2/**");
24
-        anonList.add("/wxpay/notify/**");
25
-        anonList.add("/alipay/notify/**");
26
-        anonList.add("/**/sms-captcha");
27
-        anonList.add("/**/**/sms-captcha");
28
-        anonList.add("/**/preload");
29
-        anonList.add("/**/login");
30
-        anonList.add("/**/**/login");
31
-
32
-        // 注册Sa-Token的路由拦截器
33
-        registry.addInterceptor(new SaRouteInterceptor())
34
-                .addPathPatterns("/**")
35
-                .excludePathPatterns(anonList.toArray(new String[0]));
24
+public class SaTokenConfigure {
25
+//public class SaTokenConfigure implements WebMvcConfigurer {
26
+
27
+    @Autowired
28
+    FilterConfig filterConfig;
29
+
30
+    @Bean
31
+    public SaServletFilter getSaServletFilter() {
32
+        SaServletFilter saServletFilter = new SaServletFilter();
33
+        saServletFilter.addInclude("/**");
34
+        saServletFilter.addExclude(filterConfig.getAnnList().toArray(new String[0]));
35
+        saServletFilter.setAuth(auth -> {
36
+            // OPTIONS 请求不校验, 主要是为了解决跨域问题
37
+            SaRouter.notMatch(SaHttpMethod.OPTIONS).check(r -> StpUtil.checkLogin());
38
+        });
39
+
40
+        saServletFilter.setError(err -> {
41
+            SaHolder.getResponse().setHeader("Content-Type", "application/json;charset=UTF-8");
42
+            SaHolder.getResponse().setStatus(200);
43
+
44
+            ResponseBean responseBean = new ResponseBean<>();
45
+            responseBean.setMessage(err.getMessage());
46
+            if (err instanceof NotLoginException) {
47
+                responseBean.setCode(ResponseBean.ERROR_AUTH_FAIL);
48
+            } else {
49
+                responseBean.setCode(ResponseBean.ERROR_UNAVAILABLE);
50
+            }
51
+
52
+            String jsonStr = JSONObject.toJSONString(responseBean);
53
+            return jsonStr;
54
+        });
55
+
56
+        return saServletFilter;
36 57
     }
37 58
 
59
+//    // 注册拦截器
60
+//    @Override
61
+//    public void addInterceptors(InterceptorRegistry registry) {
62
+//
63
+//        List<String> anonList = new ArrayList<>();
64
+//        anonList.add("/swagger-ui/**");
65
+//        anonList.add("/swagger-resources/**");
66
+//        anonList.add("/v2/**");
67
+//        anonList.add("/wxpay/notify/**");
68
+//        anonList.add("/alipay/notify/**");
69
+//        anonList.add("/**/sms-captcha");
70
+//        anonList.add("/**/**/sms-captcha");
71
+//        anonList.add("/**/preload");
72
+//        anonList.add("/**/login");
73
+//        anonList.add("/**/**/login");
74
+//
75
+//        // 注册Sa-Token的路由拦截器
76
+//        registry.addInterceptor(new SaRouteInterceptor())
77
+//                .addPathPatterns("/**")
78
+//                .excludePathPatterns(anonList.toArray(new String[0]));
79
+//    }
80
+
38 81
 
39 82
 
40 83
     // Sa-Token 整合 jwt (Style模式)

+ 6
- 3
src/main/java/com/yunzhi/nanyang/controller/MobileController.java Целия файл

@@ -55,9 +55,12 @@ public class MobileController extends BaseController {
55 55
             return ResponseBean.error("验证码不正确或者已过期");
56 56
         }
57 57
 
58
-        SysUser sysUser = iSysUserService.getExistBy("phone", phone, false, true);
59
-        if (null == sysUser) {
60
-            return ResponseBean.error("未找到对应手机号的农机手信息");
58
+        // 如果是农机手
59
+        if (Constants.CLIENT_WORKER.equals(clientId)) {
60
+            SysUser sysUser = iSysUserService.getExistBy("phone", phone, false, true);
61
+            if (null == sysUser) {
62
+                return ResponseBean.error("未找到对应手机号的农机手信息");
63
+            }
61 64
         }
62 65
 
63 66
         TaPerson taPerson = iTaPersonService.getByPhone(clientId, phone);

+ 14
- 5
src/main/java/com/yunzhi/nanyang/controller/ScreenDataController.java Целия файл

@@ -6,11 +6,9 @@ import com.yunzhi.nanyang.common.Constants;
6 6
 import com.yunzhi.nanyang.common.ResponseBean;
7 7
 import com.yunzhi.nanyang.entity.TaMachinery;
8 8
 import com.yunzhi.nanyang.entity.TaOrg;
9
+import com.yunzhi.nanyang.entity.TaWorkMessage;
9 10
 import com.yunzhi.nanyang.entity.TdMachineryType;
10
-import com.yunzhi.nanyang.service.ITaMachineryService;
11
-import com.yunzhi.nanyang.service.ITaOrderService;
12
-import com.yunzhi.nanyang.service.ITaOrgService;
13
-import com.yunzhi.nanyang.service.ITdMachineryTypeService;
11
+import com.yunzhi.nanyang.service.*;
14 12
 import com.yunzhi.nanyang.vo.ChartParam;
15 13
 import io.swagger.annotations.Api;
16 14
 import io.swagger.annotations.ApiOperation;
@@ -42,6 +40,9 @@ public class ScreenDataController extends BaseController {
42 40
     @Autowired
43 41
     ITaOrgService iTaOrgService;
44 42
 
43
+    @Autowired
44
+    ITaWorkMessageService iTaWorkMessageService;
45
+
45 46
 
46 47
     @GetMapping("/basic")
47 48
     @ApiOperation(value="基本数据统计", notes = "基本数据统计", httpMethod = "GET", response = ResponseBean.class)
@@ -105,8 +106,16 @@ public class ScreenDataController extends BaseController {
105 106
 
106 107
     @GetMapping("/machinery/all")
107 108
     @ApiOperation(value="依据类型查询农机", notes = "依据类型查询农机", httpMethod = "GET", response = ResponseBean.class)
108
-    public ResponseBean getMachineryOfType(@ApiParam("农机类型") @RequestParam("typeId") String typeId) throws Exception {
109
+    public ResponseBean getMachineryOfType(@ApiParam("农机类型") @RequestParam(value = "typeId", required = false) String typeId) throws Exception {
109 110
         List<TaMachinery> result = iTaMachineryService.listByTypeWithLoc(typeId);
110 111
         return ResponseBean.success(result);
111 112
     }
113
+
114
+    @GetMapping("/message")
115
+    @ApiOperation(value="获取消息通知", notes = "获取消息通知", httpMethod = "GET", response = ResponseBean.class)
116
+    public ResponseBean getMessage(@ApiParam("数据条数") @RequestParam(value = "limit", defaultValue = "20") Integer limit,
117
+                                   @ApiParam(value = "消息类型, appoint 预约消息, accept 作业消息", allowableValues = "appoint,accept") @RequestParam(value = "messageType", required = false) String messageType) throws Exception {
118
+        List<TaWorkMessage> result = iTaWorkMessageService.listByType(messageType, limit);
119
+        return ResponseBean.success(result);
120
+    }
112 121
 }

+ 3
- 0
src/main/java/com/yunzhi/nanyang/controller/SysUserController.java Целия файл

@@ -156,6 +156,9 @@ public class SysUserController extends BaseController {
156 156
             iTaOrgService.updateNum(sysUser.getOrgId(), "worker_num", -1);
157 157
             iSysLoginService.removeLogicByUser(id);
158 158
 
159
+            // 解绑人员
160
+            iTaPersonService.unBindUser(id);
161
+
159 162
             return ResponseBean.success("success");
160 163
         }else {
161 164
             return ResponseBean.error("删除失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);

+ 4
- 0
src/main/java/com/yunzhi/nanyang/controller/TaOrderController.java Целия файл

@@ -59,6 +59,9 @@ public class TaOrderController extends BaseController {
59 59
     @Autowired
60 60
     public ITaDispatchService iTaDispatchService;
61 61
 
62
+    @Autowired
63
+    public ITaWorkMessageService iTaWorkMessageService;
64
+
62 65
     /**
63 66
      * 分页查询列表
64 67
      * @param pageNum
@@ -172,6 +175,7 @@ public class TaOrderController extends BaseController {
172 175
         }
173 176
 
174 177
         if (iTaOrderService.save(taOrder)){
178
+            iTaWorkMessageService.appoints(taOrder, taPerson);
175 179
             return ResponseBean.success(taOrder);
176 180
         }else {
177 181
             return ResponseBean.error("保存失败, 请重试", ResponseBean.ERROR_UNAVAILABLE);

+ 59
- 0
src/main/java/com/yunzhi/nanyang/controller/TaWorkMessageController.java Целия файл

@@ -0,0 +1,59 @@
1
+package com.yunzhi.nanyang.controller;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.yunzhi.nanyang.common.BaseController;
7
+import com.yunzhi.nanyang.common.ResponseBean;
8
+import com.yunzhi.nanyang.common.StringUtils;
9
+import com.yunzhi.nanyang.entity.TaMessage;
10
+import com.yunzhi.nanyang.entity.TaWorkMessage;
11
+import com.yunzhi.nanyang.service.ITaWorkMessageService;
12
+import io.swagger.annotations.Api;
13
+import io.swagger.annotations.ApiOperation;
14
+import io.swagger.annotations.ApiParam;
15
+import org.slf4j.Logger;
16
+import org.slf4j.LoggerFactory;
17
+import org.springframework.beans.factory.annotation.Autowired;
18
+import org.springframework.web.bind.annotation.*;
19
+
20
+/**
21
+ * <p>
22
+    * 作业消息表 前端控制器
23
+    * </p>
24
+ *
25
+ * @author yansen
26
+ * @since 2022-03-08
27
+ */
28
+
29
+@Api(tags = "作业消息表")
30
+@RestController
31
+@RequestMapping("/")
32
+public class TaWorkMessageController extends BaseController {
33
+
34
+    private final Logger logger = LoggerFactory.getLogger(TaWorkMessageController.class);
35
+
36
+    @Autowired
37
+    ITaWorkMessageService iTaWorkMessageService;
38
+
39
+    /**
40
+     * 分页查询列表
41
+     * @param pageNum
42
+     * @param pageSize
43
+     * @return
44
+     */
45
+    @RequestMapping(value="/admin/work-message",method= RequestMethod.GET)
46
+    @ApiOperation(value="列表", notes = "列表", httpMethod = "GET", response = ResponseBean.class)
47
+    public ResponseBean getList(@ApiParam("页码") @RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum,
48
+                                @ApiParam("单页数据量") @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize,
49
+                                @ApiParam("消息类型") @RequestParam(value ="messageType", required = false) String messageType) throws Exception{
50
+
51
+        IPage<TaWorkMessage> pg = new Page<>(pageNum, pageSize);
52
+        QueryWrapper<TaWorkMessage> queryWrapper = new QueryWrapper<>();
53
+        queryWrapper.eq(StringUtils.isEmpty(messageType), "message_type", messageType);
54
+        queryWrapper.orderByDesc("create_date");
55
+
56
+        IPage<TaWorkMessage> result = iTaWorkMessageService.page(pg, queryWrapper);
57
+        return ResponseBean.success(result);
58
+    }
59
+}

+ 59
- 0
src/main/java/com/yunzhi/nanyang/entity/TaWorkMessage.java Целия файл

@@ -0,0 +1,59 @@
1
+package com.yunzhi.nanyang.entity;
2
+
3
+import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableId;
5
+import io.swagger.annotations.ApiModel;
6
+import io.swagger.annotations.ApiModelProperty;
7
+import lombok.Data;
8
+import lombok.EqualsAndHashCode;
9
+import lombok.experimental.Accessors;
10
+
11
+import java.io.Serializable;
12
+import java.time.LocalDateTime;
13
+
14
+/**
15
+ * <p>
16
+ * 作业消息
17
+ * </p>
18
+ *
19
+ * @author yansen
20
+ * @since 2022-03-08
21
+ */
22
+@Data
23
+@EqualsAndHashCode(callSuper = false)
24
+@Accessors(chain = true)
25
+@ApiModel(value="TaWorkMessage对象", description="作业消息")
26
+public class TaWorkMessage implements Serializable {
27
+
28
+    private static final long serialVersionUID = 1L;
29
+
30
+    @ApiModelProperty(value = "消息id")
31
+    @TableId(value = "message_id", type = IdType.AUTO)
32
+    private Integer messageId;
33
+
34
+    @ApiModelProperty(value = "消息类型")
35
+    private String messageType;
36
+
37
+    @ApiModelProperty(value = "预约人")
38
+    private String appointPerson;
39
+
40
+    @ApiModelProperty(value = "预约时间")
41
+    private LocalDateTime appointTime;
42
+
43
+    @ApiModelProperty(value = "预约机型")
44
+    private String appointMachineryType;
45
+
46
+    @ApiModelProperty(value = "接单人")
47
+    private String acceptPerson;
48
+
49
+    @ApiModelProperty(value = "接单时间")
50
+    private LocalDateTime acceptTime;
51
+
52
+    @ApiModelProperty(value = "距离")
53
+    private Integer distance;
54
+
55
+    @ApiModelProperty(value = "创建时间")
56
+    private LocalDateTime createDate;
57
+
58
+
59
+}

+ 3
- 0
src/main/java/com/yunzhi/nanyang/entity/TdMachineryType.java Целия файл

@@ -33,6 +33,9 @@ public class TdMachineryType implements Serializable {
33 33
     @ApiModelProperty(value = "类型名")
34 34
     private String name;
35 35
 
36
+    @ApiModelProperty(value = "纳入大屏统计")
37
+    private Integer screenStatis;
38
+
36 39
     @ApiModelProperty(value = "状态")
37 40
     private Integer status;
38 41
 

+ 5
- 2
src/main/java/com/yunzhi/nanyang/exception/GlobalExceptionHandler.java Целия файл

@@ -1,5 +1,6 @@
1 1
 package com.yunzhi.nanyang.exception;
2 2
 
3
+import cn.dev33.satoken.exception.NotLoginException;
3 4
 import cn.dev33.satoken.exception.SaTokenException;
4 5
 import com.yunzhi.nanyang.common.ResponseBean;
5 6
 import lombok.extern.slf4j.Slf4j;
@@ -16,8 +17,10 @@ public class GlobalExceptionHandler {
16 17
     public ResponseBean handleException(Exception e){
17 18
         e.printStackTrace();
18 19
 
19
-        if (e instanceof SaTokenException) {
20
-            return ResponseBean.error("暂无权限进行当前操作", ResponseBean.ERROR_UNAUTHORIZED);
20
+        if (e instanceof NotLoginException) {
21
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_AUTH_FAIL);
22
+        } else if (e instanceof SaTokenException) {
23
+            return ResponseBean.error(e.getMessage(), ResponseBean.ERROR_UNAUTHORIZED);
21 24
         }
22 25
 
23 26
         String err = e.getMessage();

+ 4
- 0
src/main/java/com/yunzhi/nanyang/mapper/TaMachineryMapper.java Целия файл

@@ -10,6 +10,8 @@ import org.apache.ibatis.annotations.Param;
10 10
 import org.apache.ibatis.annotations.Select;
11 11
 import org.apache.ibatis.annotations.Update;
12 12
 
13
+import java.util.List;
14
+
13 15
 /**
14 16
  * <p>
15 17
  * 农机表 Mapper 接口
@@ -47,4 +49,6 @@ public interface TaMachineryMapper extends BaseMapper<TaMachinery> {
47 49
 
48 50
     @Select("SELECT 'machinery' as `name`, count(*) as `value` FROM ta_machinery WHERE `status` > -1")
49 51
     ChartParam statisTotal();
52
+
53
+    List<TaMachinery> listByTypeWithLoc(@Param("typeId") String typeId);
50 54
 }

+ 2
- 0
src/main/java/com/yunzhi/nanyang/mapper/TaPersonMapper.java Целия файл

@@ -32,4 +32,6 @@ public interface TaPersonMapper extends BaseMapper<TaPerson> {
32 32
     TaPerson getByPhone(@Param("clientId") String clientId,@Param("phone")  String phone);
33 33
 
34 34
     IPage<TaPerson> getPageBy(IPage<TaPerson> pg, @Param("identity") String identity, @Param("nickName") String nickName, @Param("phone") String phone);
35
+
36
+    int unBindUser(String userId);
35 37
 }

+ 18
- 0
src/main/java/com/yunzhi/nanyang/mapper/TaWorkMessageMapper.java Целия файл

@@ -0,0 +1,18 @@
1
+package com.yunzhi.nanyang.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.yunzhi.nanyang.entity.TaWorkMessage;
5
+import org.apache.ibatis.annotations.Mapper;
6
+
7
+/**
8
+ * <p>
9
+ * 作业消息 Mapper 接口
10
+ * </p>
11
+ *
12
+ * @author yansen
13
+ * @since 2022-03-08
14
+ */
15
+@Mapper
16
+public interface TaWorkMessageMapper extends BaseMapper<TaWorkMessage> {
17
+
18
+}

+ 2
- 0
src/main/java/com/yunzhi/nanyang/service/ITaPersonService.java Целия файл

@@ -24,4 +24,6 @@ public interface ITaPersonService extends IBaseService<TaPerson> {
24 24
     TaPerson getByPhone(String clientId, String phone);
25 25
 
26 26
     IPage<TaPerson> getPageBy(IPage<TaPerson> pg, String identity, String nickName, String phone);
27
+
28
+    boolean unBindUser(String userId) throws Exception;
27 29
 }

+ 22
- 0
src/main/java/com/yunzhi/nanyang/service/ITaWorkMessageService.java Целия файл

@@ -0,0 +1,22 @@
1
+package com.yunzhi.nanyang.service;
2
+
3
+import com.yunzhi.nanyang.entity.TaOrder;
4
+import com.yunzhi.nanyang.entity.TaPerson;
5
+import com.yunzhi.nanyang.entity.TaWorkMessage;
6
+
7
+import java.util.List;
8
+
9
+/**
10
+ * <p>
11
+ * 作业消息 服务类
12
+ * </p>
13
+ *
14
+ * @author yansen
15
+ * @since 2022-03-08
16
+ */
17
+public interface ITaWorkMessageService extends IBaseService<TaWorkMessage> {
18
+
19
+    void appoints(TaOrder taOrder, TaPerson taPerson);
20
+
21
+    List<TaWorkMessage> listByType(String messageType, Integer limit);
22
+}

+ 16
- 0
src/main/java/com/yunzhi/nanyang/service/impl/TaDispatchServiceImpl.java Целия файл

@@ -5,9 +5,11 @@ import com.yunzhi.nanyang.common.Constants;
5 5
 import com.yunzhi.nanyang.entity.TaDispatch;
6 6
 import com.yunzhi.nanyang.entity.TaOrder;
7 7
 import com.yunzhi.nanyang.entity.TaWorkJob;
8
+import com.yunzhi.nanyang.entity.TaWorkMessage;
8 9
 import com.yunzhi.nanyang.mapper.TaDispatchMapper;
9 10
 import com.yunzhi.nanyang.mapper.TaOrderMapper;
10 11
 import com.yunzhi.nanyang.mapper.TaWorkJobMapper;
12
+import com.yunzhi.nanyang.mapper.TaWorkMessageMapper;
11 13
 import com.yunzhi.nanyang.service.ITaDispatchService;
12 14
 import org.springframework.beans.factory.annotation.Autowired;
13 15
 import org.springframework.stereotype.Service;
@@ -32,6 +34,9 @@ public class TaDispatchServiceImpl extends BaseServiceImpl<TaDispatchMapper, TaD
32 34
     @Autowired
33 35
     TaOrderMapper taOrderMapper;
34 36
 
37
+    @Autowired
38
+    TaWorkMessageMapper taWorkMessageMapper;
39
+
35 40
     @Override
36 41
     public IPage<TaOrder> getPageBy(IPage<TaOrder> pg, String orgId, String typeId, String machineryId, LocalDateTime start, LocalDateTime end, String phone, String status, Boolean isWarn) {
37 42
         return baseMapper.getPageBy(pg, orgId, typeId, machineryId, start, end, phone, status, isWarn);
@@ -68,6 +73,17 @@ public class TaDispatchServiceImpl extends BaseServiceImpl<TaDispatchMapper, TaD
68 73
             throw new Exception("更新订单状态失败");
69 74
         }
70 75
 
76
+        try {
77
+            // 生成消息
78
+            TaWorkMessage message = new TaWorkMessage();
79
+            message.setMessageType("accept");
80
+            message.setAcceptPerson(taWorkJob.getWorkerName());
81
+            message.setAcceptTime(taWorkJob.getCreateDate());
82
+            taWorkMessageMapper.insert(message);
83
+        } catch (Exception e) {
84
+            e.printStackTrace();
85
+        }
86
+
71 87
         return taWorkJob;
72 88
     }
73 89
 }

+ 1
- 7
src/main/java/com/yunzhi/nanyang/service/impl/TaMachineryServiceImpl.java Целия файл

@@ -147,13 +147,7 @@ public class TaMachineryServiceImpl extends BaseServiceImpl<TaMachineryMapper, T
147 147
 
148 148
     @Override
149 149
     public List<TaMachinery> listByTypeWithLoc(String typeId) {
150
-        QueryWrapper<TaMachinery> queryWrapper = new QueryWrapper<>();
151
-        queryWrapper.eq("type_id", typeId);
152
-//        queryWrapper.eq("online_status", 1);
153
-        queryWrapper.isNotNull("location");
154
-        queryWrapper.gt("status", Constants.STATUS_DELETE);
155
-
156
-        return list(queryWrapper);
150
+        return baseMapper.listByTypeWithLoc(typeId);
157 151
     }
158 152
 
159 153
     private void saveImages(TaMachinery taMachinery) {

+ 5
- 0
src/main/java/com/yunzhi/nanyang/service/impl/TaPersonServiceImpl.java Целия файл

@@ -67,4 +67,9 @@ public class TaPersonServiceImpl extends BaseServiceImpl<TaPersonMapper, TaPerso
67 67
     public IPage<TaPerson> getPageBy(IPage<TaPerson> pg, String identity, String nickName, String phone) {
68 68
         return baseMapper.getPageBy(pg, identity, nickName, phone);
69 69
     }
70
+
71
+    @Override
72
+    public boolean unBindUser(String userId) throws Exception {
73
+        return baseMapper.unBindUser(userId) > 0;
74
+    }
70 75
 }

+ 53
- 0
src/main/java/com/yunzhi/nanyang/service/impl/TaWorkMessageServiceImpl.java Целия файл

@@ -0,0 +1,53 @@
1
+package com.yunzhi.nanyang.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.yunzhi.nanyang.common.DateUtils;
5
+import com.yunzhi.nanyang.common.StringUtils;
6
+import com.yunzhi.nanyang.entity.*;
7
+import com.yunzhi.nanyang.mapper.TaWorkMessageMapper;
8
+import com.yunzhi.nanyang.service.ITaWorkMessageService;
9
+import lombok.extern.slf4j.Slf4j;
10
+import org.springframework.scheduling.annotation.Async;
11
+import org.springframework.stereotype.Service;
12
+
13
+import java.time.LocalDateTime;
14
+import java.util.List;
15
+
16
+
17
+/**
18
+ * <p>
19
+ * 作业消息 服务实现类
20
+ * </p>
21
+ *
22
+ * @author yansen
23
+ * @since 2022-03-08
24
+ */
25
+@Slf4j
26
+@Service
27
+public class TaWorkMessageServiceImpl extends BaseServiceImpl<TaWorkMessageMapper, TaWorkMessage> implements ITaWorkMessageService {
28
+
29
+    @Async
30
+    @Override
31
+    public void appoints(TaOrder taOrder, TaPerson taPerson) {
32
+        try {
33
+            TaWorkMessage message = new TaWorkMessage();
34
+            message.setMessageType("appoint");
35
+            message.setAppointPerson(StringUtils.ifNull(taPerson.getNickName(), taPerson.getPhone()));
36
+            message.setAppointTime(DateUtils.now());
37
+            message.setAppointMachineryType(taOrder.getTypeName());
38
+            save(message);
39
+        } catch (Exception e) {
40
+            e.printStackTrace();
41
+        }
42
+    }
43
+
44
+    @Override
45
+    public List<TaWorkMessage> listByType(String messageType, Integer limit) {
46
+        QueryWrapper<TaWorkMessage> queryWrapper = new QueryWrapper<>();
47
+        queryWrapper.eq(!StringUtils.isEmpty(messageType), "message_type", messageType);
48
+        queryWrapper.orderByDesc("create_date");
49
+        queryWrapper.last("limit " + limit);
50
+
51
+        return list(queryWrapper);
52
+    }
53
+}

+ 13
- 0
src/main/resources/application.yml Целия файл

@@ -55,6 +55,19 @@ yz:
55 55
   amap:
56 56
     url: https://restapi.amap.com
57 57
     key: 3be0a9567a794d2690d378476f057a6f
58
+  filter:
59
+    annList:
60
+      - "/swagger-ui/**"
61
+      - "/swagger-resources/**"
62
+      - "/v2/**"
63
+      - "/wxpay/notify/**"
64
+      - "/alipay/notify/**"
65
+      - "/**/sms-captcha"
66
+      - "/**/**/sms-captcha"
67
+      - "/**/preload"
68
+      - "/**/login"
69
+      - "/**/**/login"
70
+
58 71
 
59 72
 ###
60 73
 aliyun:

+ 2
- 1
src/main/resources/mapper/TaDispatchMapper.xml Целия файл

@@ -28,7 +28,8 @@
28 28
             INNER JOIN ta_person m ON t.person_id = m.person_id
29 29
             INNER JOIN ta_org n ON t.org_id = n.org_id
30 30
         WHERE
31
-            t.work_status &lt; 3
31
+            t.`status` &gt; -1
32
+            AND t.work_status &lt; 3
32 33
           <if test="orgId != null and orgId != ''">
33 34
             AND t.org_id = #{orgId}
34 35
           </if>

+ 16
- 0
src/main/resources/mapper/TaMachineryMapper.xml Целия файл

@@ -90,4 +90,20 @@
90 90
         ORDER BY
91 91
             t.create_date DESC
92 92
     </select>
93
+    <select id="listByTypeWithLoc" resultType="com.yunzhi.nanyang.entity.TaMachinery">
94
+        SELECT
95
+            t.*,
96
+            m.`name` as org_name
97
+        FROM
98
+            ta_machinery t
99
+            INNER JOIN ta_org m ON m.org_id = t.org_id
100
+            INNER JOIN td_machinery_type n ON n.type_id = t.type_id AND n.screen_statis = 1
101
+        WHERE
102
+            t.`status` &gt; -1
103
+        <if test="typeId != null and typeId != ''">
104
+            AND t.type_id = #{typeId}
105
+        </if>
106
+--             AND t.online_status = 1
107
+            AND t.location IS NOT NULL
108
+    </select>
93 109
 </mapper>

+ 6
- 0
src/main/resources/mapper/TaPersonMapper.xml Целия файл

@@ -1,6 +1,12 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.yunzhi.nanyang.mapper.TaPersonMapper">
4
+    <update id="unBindUser">
5
+        UPDATE ta_person t
6
+        SET t.user_id = NULL
7
+        WHERE
8
+            t.user_id = #{userId}
9
+    </update>
4 10
 
5 11
     <select id="getPageBy" resultType="com.yunzhi.nanyang.entity.TaPerson">
6 12
         SELECT

+ 5
- 0
src/main/resources/mapper/TaWorkMessageMapper.xml Целия файл

@@ -0,0 +1,5 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.yunzhi.nanyang.mapper.TaWorkMessageMapper">
4
+
5
+</mapper>