Forráskód Böngészése

重新改写App端的登录,并实现guid

bmmx 1 éve
szülő
commit
4be5129979
30 módosított fájl, 313 hozzáadás és 117 törlés
  1. 2 2
      src/main/java/com/om/config/WebMvcConfiguration.java
  2. 4 3
      src/main/java/com/om/controller/user/APPDistributorController.java
  3. 4 3
      src/main/java/com/om/controller/user/APPManualController.java
  4. 9 2
      src/main/java/com/om/controller/user/APPRepairController.java
  5. 5 3
      src/main/java/com/om/controller/user/APPWxscController.java
  6. 8 13
      src/main/java/com/om/controller/user/UserController.java
  7. 3 1
      src/main/java/com/om/entity/dto/APPRepairQueryPageDTO.java
  8. 3 1
      src/main/java/com/om/entity/dto/APPReportCreateDTO.java
  9. 19 0
      src/main/java/com/om/entity/dto/AppBaseDTO.java
  10. 23 0
      src/main/java/com/om/entity/dto/AppUserUpdatePwdDTO.java
  11. 14 0
      src/main/java/com/om/entity/dto/AppWxscDTO.java
  12. 4 1
      src/main/java/com/om/entity/dto/AppWxscQueryPageDTO.java
  13. 14 0
      src/main/java/com/om/entity/dto/GuidDTO.java
  14. 3 0
      src/main/java/com/om/entity/dto/UserLoginDTO.java
  15. 3 0
      src/main/java/com/om/entity/po/User.java
  16. 4 1
      src/main/java/com/om/entity/vo/APpDistributorVO.java
  17. 2 2
      src/main/java/com/om/entity/vo/UserLoginVO.java
  18. 1 1
      src/main/java/com/om/interceptor/JwtTokenUserInterceptor.java
  19. 2 1
      src/main/java/com/om/service/IDistributorService.java
  20. 2 1
      src/main/java/com/om/service/IManualService.java
  21. 2 1
      src/main/java/com/om/service/IRepairService.java
  22. 5 3
      src/main/java/com/om/service/IUserService.java
  23. 3 1
      src/main/java/com/om/service/IWxscService.java
  24. 14 8
      src/main/java/com/om/service/impl/DistributorServiceImpl.java
  25. 14 2
      src/main/java/com/om/service/impl/ManualServiceImpl.java
  26. 22 8
      src/main/java/com/om/service/impl/RepairServiceImpl.java
  27. 83 53
      src/main/java/com/om/service/impl/UserServiceImpl.java
  28. 7 2
      src/main/java/com/om/service/impl/WxscServiceImpl.java
  29. 34 4
      src/main/java/com/om/utils/JwtUtils.java
  30. 0 0
      src/main/resources/mapper/GuidRequired.xml

+ 2 - 2
src/main/java/com/om/config/WebMvcConfiguration.java

@@ -39,11 +39,11 @@ public class WebMvcConfiguration extends WebMvcConfigurationSupport {
                 .excludePathPatterns(LoginConstant.ADMIN_ALLOWED_PATHS)
                 .excludePathPatterns(LoginConstant.KNIFE4J_PATHS);
 
-        //用户拦截器
+      /*  //用户拦截器
         registry.addInterceptor(jwtTokenUserInterceptor)
                 .addPathPatterns("/app/**")
                 .excludePathPatterns(LoginConstant.USER_ALLOWED_PATHS)
-                .excludePathPatterns(LoginConstant.KNIFE4J_PATHS);
+                .excludePathPatterns(LoginConstant.KNIFE4J_PATHS);*/
 
     }
 

+ 4 - 3
src/main/java/com/om/controller/user/APPDistributorController.java

@@ -2,6 +2,7 @@ package com.om.controller.user;
 
 
 
+import com.om.entity.dto.AppBaseDTO;
 import com.om.entity.dto.DistributorDTO;
 import com.om.entity.vo.APpDistributorVO;
 import com.om.service.IDistributorService;
@@ -21,9 +22,9 @@ public class APPDistributorController {
     private IDistributorService distributorService;
 
     @ApiOperation("用户查询维修厂信息")
-    @GetMapping("getById")
-    public Result<APpDistributorVO> AppGetById(@RequestParam Integer id){
-        return distributorService.AppGetById(id);
+    @PostMapping("getById")
+    public Result<APpDistributorVO> AppGetById(@RequestBody AppBaseDTO dto){
+        return distributorService.AppGetById(dto);
     }
 
 

+ 4 - 3
src/main/java/com/om/controller/user/APPManualController.java

@@ -1,6 +1,7 @@
 package com.om.controller.user;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.dto.AppBaseDTO;
 import com.om.entity.po.Manual;
 import com.om.entity.vo.ManualVO;
 import com.om.service.IManualService;
@@ -27,10 +28,10 @@ public class APPManualController {
         this.manualService = manualService;
     }
 
-    @GetMapping("getByLang")
+    @PostMapping("getByLang")
     @ApiOperation("根据语言获取诊断仪使用说明H5")
-    public Result<Manual> AppGetByLang(@RequestParam("language") String language){
-        return manualService.AppGetByLang(language);
+    public Result<Manual> AppGetByLang(@RequestBody AppBaseDTO dto){
+        return manualService.AppGetByLang(dto);
     }
 
 }

+ 9 - 2
src/main/java/com/om/controller/user/APPRepairController.java

@@ -3,6 +3,7 @@ package com.om.controller.user;
 
 import com.om.entity.dto.APPRepairQueryPageDTO;
 import com.om.entity.dto.APPReportCreateDTO;
+import com.om.entity.dto.AppBaseDTO;
 import com.om.entity.dto.AppRepairUpdateBaseDTO;
 import com.om.entity.vo.AppRepairQueryPageVO;
 import com.om.service.IRepairService;
@@ -45,8 +46,14 @@ public class APPRepairController {
 
     @PostMapping("/delete")
     @ApiOperation("获取诊断报告列表")
-    public Result delete(@RequestParam Integer id){
-        return repairService.delete(id);
+    public Result delete(@RequestBody AppBaseDTO dto){
+        return repairService.delete(dto);
+    }
+
+    @PostMapping("/getH5")
+    @ApiOperation("根据ID获取诊断报告H5")
+    public Result<String> getH5(@RequestBody AppBaseDTO dto){
+        return repairService.getH5(dto);
     }
 
 

+ 5 - 3
src/main/java/com/om/controller/user/APPWxscController.java

@@ -1,6 +1,8 @@
 package com.om.controller.user;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.dto.AppBaseDTO;
+import com.om.entity.dto.AppWxscDTO;
 import com.om.entity.dto.AppWxscQueryPageDTO;
 import com.om.entity.po.Wxsc;
 import com.om.entity.vo.AppWxscQueryPageVO;
@@ -35,9 +37,9 @@ public class APPWxscController {
         return wxscService.appGetPageList(dto);
     }
 
-    @GetMapping("getById")
+    @PostMapping("getById")
     @ApiOperation("根据ID和语言获取维修资料H5")
-    public Result<Wxsc> appGetById(@RequestParam("id") Integer id,@RequestParam("language") String language){
-        return wxscService.appGetById(id,language);
+    public Result<Wxsc> appGetById(@RequestBody AppWxscDTO dto){
+        return wxscService.appGetById(dto);
     }
 }

+ 8 - 13
src/main/java/com/om/controller/user/UserController.java

@@ -1,6 +1,8 @@
 package com.om.controller.user;
 
 
+import com.om.entity.dto.AppBaseDTO;
+import com.om.entity.dto.AppUserUpdatePwdDTO;
 import com.om.entity.dto.UserLoginDTO;
 import com.om.service.IAdminService;
 import com.om.service.IUserService;
@@ -35,18 +37,11 @@ public class UserController {
         return userService.login(dto);
     }
 
-    @GetMapping("/get")
-    @ApiOperation("获取当前登录id1")
-    public Result get(){
-        Integer userId = UserContext.getUserId();
-        return Result.ok(userId);
-    }
-
     @PostMapping("/update/password")
     @ApiOperation("修改密码")
-    public Result password(@RequestBody UserLoginDTO userLoginDTO){
+    public Result password(@RequestBody AppUserUpdatePwdDTO dto){
 
-        return userService.password(userLoginDTO);
+        return userService.password(dto);
     }
 
     @PostMapping("/register")
@@ -58,9 +53,9 @@ public class UserController {
 
     @PostMapping("/update/username")
     @ApiOperation("修改用户名")
-    public Result update(@RequestBody UserLoginDTO username){
+    public Result update(@RequestBody AppBaseDTO dto){
 
-        return userService.updateUserName(username);
+        return userService.updateUserName(dto);
 
     }
     @GetMapping("/logout")
@@ -73,9 +68,9 @@ public class UserController {
 
     @PostMapping("update/vci")
     @ApiOperation("修改默认vci")
-    public Result updateVci(@RequestBody UserLoginDTO userLoginDTO){
+    public Result updateVci(@RequestBody AppBaseDTO dto){
 
-        return userService.updateVci(userLoginDTO);
+        return userService.updateVci(dto);
     }
 
 

+ 3 - 1
src/main/java/com/om/entity/dto/APPRepairQueryPageDTO.java

@@ -2,13 +2,15 @@ package com.om.entity.dto;
 
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.time.LocalDateTime;
 
+@EqualsAndHashCode(callSuper = true)
 @Data
 @NoArgsConstructor
-public class APPRepairQueryPageDTO {
+public class APPRepairQueryPageDTO extends AppBaseDTO{
     @ApiModelProperty(value = "当前页码")
     private Integer pageIndex;
 

+ 3 - 1
src/main/java/com/om/entity/dto/APPReportCreateDTO.java

@@ -4,12 +4,14 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableId;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 
 import java.time.LocalDateTime;
 import java.util.List;
 
+@EqualsAndHashCode(callSuper = true)
 @Data
-public class APPReportCreateDTO {
+public class APPReportCreateDTO extends AppBaseDTO {
 
     @ApiModelProperty(value = "诊断报告ID")
     private Integer id;

+ 19 - 0
src/main/java/com/om/entity/dto/AppBaseDTO.java

@@ -0,0 +1,19 @@
+package com.om.entity.dto;
+
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class AppBaseDTO {
+
+    private String guid;
+
+    private String username;
+
+    private String vciSn;
+
+    private Integer diagnosticReportId;
+
+    private String language;
+}

+ 23 - 0
src/main/java/com/om/entity/dto/AppUserUpdatePwdDTO.java

@@ -0,0 +1,23 @@
+package com.om.entity.dto;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class AppUserUpdatePwdDTO {
+
+
+    @ApiModelProperty(value = "用户名")
+    private String username;
+
+    @ApiModelProperty(value = "密码")
+    private String originalPassword;
+
+    @ApiModelProperty(value = "新密码")
+    private String newPassword;
+
+    @ApiModelProperty(value = "用户唯一凭证")
+    private String guid;
+}

+ 14 - 0
src/main/java/com/om/entity/dto/AppWxscDTO.java

@@ -0,0 +1,14 @@
+package com.om.entity.dto;
+
+import com.om.entity.po.App;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.NoArgsConstructor;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@NoArgsConstructor
+public class AppWxscDTO extends AppBaseDTO {
+
+    private Integer id;
+}

+ 4 - 1
src/main/java/com/om/entity/dto/AppWxscQueryPageDTO.java

@@ -1,12 +1,15 @@
 package com.om.entity.dto;
 
+import com.om.entity.po.App;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
+@EqualsAndHashCode(callSuper = true)
 @Data
 @NoArgsConstructor
-public class AppWxscQueryPageDTO {
+public class AppWxscQueryPageDTO extends AppBaseDTO {
     @ApiModelProperty(value = "当前页码")
     private Integer pageIndex;
 

+ 14 - 0
src/main/java/com/om/entity/dto/GuidDTO.java

@@ -0,0 +1,14 @@
+package com.om.entity.dto;
+
+import io.swagger.models.auth.In;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@NoArgsConstructor
+public class GuidDTO {
+    private Integer userId;
+    private String deviceSn;
+    private String appVersion;
+    private String clientNum;
+}

+ 3 - 0
src/main/java/com/om/entity/dto/UserLoginDTO.java

@@ -27,4 +27,7 @@ public class UserLoginDTO {
 
     @ApiModelProperty(value = "设备序列号")
     private String deviceSn;
+
+    @ApiModelProperty(value = "app版本号")
+    private String appVersion;
 }

+ 3 - 0
src/main/java/com/om/entity/po/User.java

@@ -70,6 +70,9 @@ public class User implements Serializable {
     @ApiModelProperty(value = "状态")
     private Integer state;
 
+    @ApiModelProperty(value = "设备sn")
+    private String deviceSn;
+
     @ApiModelProperty(value = "用户类型: 0 - 正式账号, 1 - 测试账号")
     private Integer userType;
 

+ 4 - 1
src/main/java/com/om/entity/vo/APpDistributorVO.java

@@ -1,16 +1,19 @@
 package com.om.entity.vo;
 
 
+import com.om.entity.dto.AppBaseDTO;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
 import lombok.NoArgsConstructor;
 
 import java.io.Serializable;
 
 
+@EqualsAndHashCode(callSuper = true)
 @Data
 @NoArgsConstructor
-public class APpDistributorVO implements Serializable {
+public class APpDistributorVO extends AppBaseDTO implements Serializable {
 
     @ApiModelProperty(value = "标识符")
     private Integer id;

+ 2 - 2
src/main/java/com/om/entity/vo/UserLoginVO.java

@@ -33,8 +33,8 @@ public class UserLoginVO {
     @ApiModelProperty(value = "Vci SN号")
     private String vciSn;
 
-    @ApiModelProperty(value = "token")
-    private String token;
+    @ApiModelProperty(value = "guid")
+    private String guid;
 
     @ApiModelProperty(value = "vci列表")
     private List<VciInfoVO> vciInfoList;

+ 1 - 1
src/main/java/com/om/interceptor/JwtTokenUserInterceptor.java

@@ -88,7 +88,7 @@ public class JwtTokenUserInterceptor implements HandlerInterceptor {
         }
 
         //判断redis中是否存在token信息
-        String tokenKey = RedisConstant.USER_TOKEN_PREFIX +uId;
+        String tokenKey = RedisConstant.USER_TOKEN_PREFIX + uId;
         String redisToken = (String) redisTemplate.opsForValue().get(tokenKey);
 
         //判断redis中是否存在token信息  如果为空 则表示token已经失效、

+ 2 - 1
src/main/java/com/om/service/IDistributorService.java

@@ -1,5 +1,6 @@
 package com.om.service;
 
+import com.om.entity.dto.AppBaseDTO;
 import com.om.entity.dto.DistributorDTO;
 import com.om.entity.dto.DistributorQueryPageDTO;
 import com.om.entity.po.Distributor;
@@ -33,7 +34,7 @@ public interface IDistributorService extends IService<Distributor> {
 
     Result<DistributorQueryPageVO> queryPageList(DistributorQueryPageDTO dto);
 
-    Result<APpDistributorVO> AppGetById(Integer id);
+    Result<APpDistributorVO> AppGetById(AppBaseDTO dto);
 
 
     Result Appupdate(APpDistributorVO distributorVO);

+ 2 - 1
src/main/java/com/om/service/IManualService.java

@@ -1,6 +1,7 @@
 package com.om.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.dto.AppBaseDTO;
 import com.om.entity.po.Manual;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.om.utils.Result;
@@ -17,6 +18,6 @@ public interface IManualService extends IService<Manual> {
 
     Page<Manual> findManual(Page<Manual> objectPage, String code, String title);
 
-    Result<Manual> AppGetByLang(String language);
+    Result<Manual> AppGetByLang(AppBaseDTO dto);
 
 }

+ 2 - 1
src/main/java/com/om/service/IRepairService.java

@@ -26,7 +26,7 @@ public interface IRepairService extends IService<Repair> {
 
     Result create(RepairDTO repairDTO);
 
-    Result delete(Integer id);
+    Result delete(AppBaseDTO dto);
 
     Result<RepairVO> getByIds(Integer id);
 
@@ -41,4 +41,5 @@ public interface IRepairService extends IService<Repair> {
 
     Result updateCompany(AppRepairUpdateBaseDTO dto);
 
+    Result<String> getH5(AppBaseDTO dto);
 }

+ 5 - 3
src/main/java/com/om/service/IUserService.java

@@ -1,6 +1,8 @@
 package com.om.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.om.entity.dto.AppBaseDTO;
+import com.om.entity.dto.AppUserUpdatePwdDTO;
 import com.om.entity.dto.UserLoginDTO;
 import com.om.entity.dto.UserQueryPageDTO;
 import com.om.entity.po.User;
@@ -39,13 +41,13 @@ public interface IUserService extends IService<User> {
 
     Result updateUserInfo(UserAddVO user);
 
-    Result password(UserLoginDTO userLoginDTO);
+    Result password(AppUserUpdatePwdDTO dto);
 
     Result register(UserLoginDTO userLoginDTO);
 
-    Result updateUserName(UserLoginDTO username);
+    Result updateUserName(AppBaseDTO username);
 
     Result logout();
 
-    Result updateVci(UserLoginDTO userLoginDTO);
+    Result updateVci(AppBaseDTO dto);
 }

+ 3 - 1
src/main/java/com/om/service/IWxscService.java

@@ -1,6 +1,8 @@
 package com.om.service;
 
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.dto.AppBaseDTO;
+import com.om.entity.dto.AppWxscDTO;
 import com.om.entity.dto.AppWxscQueryPageDTO;
 import com.om.entity.po.Wxsc;
 import com.baomidou.mybatisplus.extension.service.IService;
@@ -21,5 +23,5 @@ public interface IWxscService extends IService<Wxsc> {
 
     Result<AppWxscQueryPageVO> appGetPageList(AppWxscQueryPageDTO dto);
 
-    Result<Wxsc> appGetById(Integer id, String language);
+    Result<Wxsc> appGetById(AppWxscDTO dto);
 }

+ 14 - 8
src/main/java/com/om/service/impl/DistributorServiceImpl.java

@@ -3,9 +3,10 @@ package com.om.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.dto.AppBaseDTO;
 import com.om.entity.dto.DistributorDTO;
 import com.om.entity.dto.DistributorQueryPageDTO;
-import com.om.entity.po.Brand;
+import com.om.entity.dto.GuidDTO;
 import com.om.entity.po.Distributor;
 import com.om.entity.po.User;
 import com.om.entity.vo.APpDistributorVO;
@@ -16,9 +17,8 @@ import com.om.mapper.DistributorMapper;
 import com.om.service.IDistributorService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.om.service.IUserService;
+import com.om.utils.JwtUtils;
 import com.om.utils.Result;
-import com.om.utils.UserContext;
-import org.springframework.context.annotation.Bean;
 import org.springframework.stereotype.Service;
 
 import javax.annotation.Resource;
@@ -41,6 +41,9 @@ public class DistributorServiceImpl extends ServiceImpl<DistributorMapper, Distr
     @Resource
     private IUserService userService;
 
+    @Resource
+    private JwtUtils jwtUtils;
+
     @Override
     public Result createDistributor(DistributorDTO dto) {
         //判断是否为空
@@ -147,9 +150,10 @@ public class DistributorServiceImpl extends ServiceImpl<DistributorMapper, Distr
     }
 
     @Override
-    public Result<APpDistributorVO> AppGetById(Integer id) {
-        //获取用户id
-        Integer userId = UserContext.getUserId();
+    public Result<APpDistributorVO> AppGetById(AppBaseDTO dto) {
+        String guid = dto.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        Integer userId = guidDTO.getUserId();
 
         //查询用户所在的维修厂id
         User user = userService.getById(userId);
@@ -171,8 +175,10 @@ public class DistributorServiceImpl extends ServiceImpl<DistributorMapper, Distr
 
     @Override
     public Result Appupdate(APpDistributorVO distributorVO) {
-        //获取用户id
-        Integer userId = UserContext.getUserId();
+        String guid = distributorVO.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        Integer userId = guidDTO.getUserId();
+
         //查询用户所在的维修厂id
         User user = userService.getById(userId);
         if (BeanUtil.isEmpty(user)){

+ 14 - 2
src/main/java/com/om/service/impl/ManualServiceImpl.java

@@ -2,14 +2,19 @@ package com.om.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.dto.AppBaseDTO;
+import com.om.entity.dto.GuidDTO;
 import com.om.entity.po.Manual;
 import com.om.exception.BadReqException;
 import com.om.mapper.ManualMapper;
 import com.om.service.IManualService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.om.utils.JwtUtils;
 import com.om.utils.Result;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+
 /**
  * <p>
  *  服务实现类
@@ -26,16 +31,23 @@ public class ManualServiceImpl extends ServiceImpl<ManualMapper, Manual> impleme
     this.manualMapper = manualMapper;
   }
 
+  @Resource
+  private JwtUtils jwtUtils;
+
   @Override
   public Page<Manual> findManual(Page<Manual> page, String code, String title) {
     return manualMapper.findManual(page, code, title);
   }
 
     @Override
-    public Result<Manual> AppGetByLang(String language) {
-
+    public Result<Manual> AppGetByLang(AppBaseDTO dto) {
+        String language = dto.getLanguage();
+        String guid = dto.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        String clientNum = guidDTO.getClientNum();
         Manual one = this.lambdaQuery()
                 .eq(Manual::getLang, language)
+                .eq(Manual::getClientCode,clientNum)
                 .one();
 
         if (BeanUtil.isEmpty(one)){

+ 22 - 8
src/main/java/com/om/service/impl/RepairServiceImpl.java

@@ -69,10 +69,15 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
     @Resource
     private HtmlGenerator htmlGenerator;
 
+    @Resource
+    private JwtUtils jwtUtils;
+
     @Override
     @Transactional
     public Result AppCreateReport(APPReportCreateDTO dto) {
-        Integer userId = UserContext.getUserId();
+        String guid = dto.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        Integer userId = guidDTO.getUserId();
         User user = userService.getById(userId);
         // 判断数据、
         if (BeanUtil.isEmpty(dto)) {
@@ -123,7 +128,10 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 
     @Override
     public Result<AppRepairQueryPageVO> AppGetPageList(APPRepairQueryPageDTO dto) {
-        Integer userId = UserContext.getUserId();
+        String guid = dto.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        Integer userId = guidDTO.getUserId();
+
         User user = userService.getById(userId);
         if (BeanUtil.isEmpty(user)) {
             throw new BizException("用户不存在");
@@ -187,18 +195,14 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
     @Transactional
     public Result create(RepairDTO repairDTO) {
         Repair repair = new Repair();
-
         BeanUtil.copyProperties(repairDTO,repair);
-
-
         return Result.ok();
-
-
     }
 
     @Override
     @Transactional
-    public Result delete(Integer id) {
+    public Result delete(AppBaseDTO dto) {
+        Integer id = dto.getDiagnosticReportId();
         Repair repair = this.getById(id);
         if (repair == null) {
             throw new BadReqException("删除错误");
@@ -568,6 +572,16 @@ public class RepairServiceImpl extends ServiceImpl<RepairMapper, Repair> impleme
 
     }
 
+    @Override
+    public Result<String> getH5(AppBaseDTO dto) {
+        String guid = dto.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        Integer userId = guidDTO.getUserId();
+
+        Integer diagnosticReportId = dto.getDiagnosticReportId();
+        return this.reportH5(diagnosticReportId);
+    }
+
 
 }
 

+ 83 - 53
src/main/java/com/om/service/impl/UserServiceImpl.java

@@ -6,21 +6,17 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.om.constant.RedisConstant;
-import com.om.entity.dto.UserLoginDTO;
-import com.om.entity.dto.UserQueryPageDTO;
-import com.om.entity.po.User;
-import com.om.entity.po.UserVci;
-import com.om.entity.po.VciInfo;
+import com.om.entity.dto.*;
+import com.om.entity.po.*;
 import com.om.entity.vo.UserAddVO;
 import com.om.entity.vo.UserLoginVO;
 import com.om.entity.vo.UserQueryPageVO;
+import com.om.entity.vo.VciInfoVO;
 import com.om.exception.BadReqException;
 import com.om.exception.CustomerAuthenticationException;
 import com.om.mapper.UserMapper;
-import com.om.service.IUserService;
+import com.om.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.om.service.IUserVciService;
-import com.om.service.IVciInfoService;
 import com.om.utils.JwtUtils;
 import com.om.utils.Result;
 import com.om.utils.UserContext;
@@ -32,6 +28,7 @@ import org.springframework.util.DigestUtils;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -67,16 +64,22 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     @Resource
     HttpServletRequest request;
 
+    @Resource
+    private IClientService clientService;
+
+    @Resource
+    private IDistributorService distributorService;
+
 
     @Override
-    //TODO
-    public Result login(UserLoginDTO dto) {
+    public Result<UserLoginVO> login(UserLoginDTO dto) {
         //从dto中获取数据
         String username = dto.getUsername();
         String password = dto.getPassword();
         String clientNum = dto.getClientNum();
         String deviceSn = dto.getDeviceSn();
         Integer type = dto.getType();
+        String appVersion = dto.getAppVersion();
 
         //判断数据是否为空
         if (StringUtils.isBlank(username) || StringUtils.isBlank(password) || StringUtils.isBlank(clientNum) ||
@@ -101,29 +104,58 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
         if (!password.equals(user.getPassword())) {
             throw new BadReqException("密码错误");
         }
-        // TODO 判断用户状态
-
-        // TODO 绑定 客户端编号 和 设备 序列号  ( 判断type是登录(0)还是激活(1) )
+        if (user.getState()==0){
+            throw new BadReqException("该用户已被禁用");
+        }
+        //  绑定 客户端编号 和 设备 序列号  ( 判断type是登录(0)还是激活(1) )
+        if (type==1){
+            user.setDeviceSn(deviceSn);
+        }
+        Client client = clientService.lambdaQuery()
+                .eq(Client::getNumber, clientNum)
+                .one();
+        if (BeanUtil.isEmpty(client)){
+            throw new BadReqException("该客户端不存在");
+        }
 
         // 生成token
         Map<String, Object> claims = new HashMap<>();
         claims.put("u_id", user.getId());
-        String token = jwtUtils.generateToken(claims);
-        //把token存入到redis中
-        String key = RedisConstant.USER_TOKEN_PREFIX + user.getId();
-        redisTemplate.opsForValue().set(key, token, RedisConstant.USER_TOKEN_TTL, TimeUnit.SECONDS);
+        claims.put("deviceSn", deviceSn);
+        claims.put("appVersion",appVersion);
+        claims.put("clientNum",clientNum);
+        String guid = jwtUtils.generateToken(claims);
 
         //封装vo返回
         UserLoginVO userLoginVO = new UserLoginVO();
-        // TODO 查询 该用户所属的 维修厂
+        // 查询 该用户所属的 维修厂
         Integer distributorId = user.getDistributorId();//用户所属的维修厂id
-
-        //TODO 查询用户 所绑定的vci设备
+        Distributor distributor = distributorService.getById(distributorId);
+        BeanUtil.copyProperties(distributor,userLoginVO);
+
+        // 查询用户 所绑定的vci设备
+        List<UserVci> userVciList = userVciService.lambdaQuery()
+                .eq(UserVci::getUserId, user.getId())
+                .list();
+
+        if (!BeanUtil.isEmpty(userVciList)){
+            List<VciInfoVO> vciInfoVOList = new ArrayList<>();
+            for (UserVci userVci : userVciList) {
+                VciInfoVO vciInfoVO = new VciInfoVO();
+                Integer vciInfoId = userVci.getVciInfoId();
+                VciInfo vciInfo = vciInfoService.getById(vciInfoId);
+                BeanUtil.copyProperties(vciInfo,vciInfoVO);
+
+                vciInfoVOList.add(vciInfoVO);
+            }
+
+            userLoginVO.setVciInfoList(vciInfoVOList);
+        }
 
         //设置userLoginVO
         userLoginVO.setUsername(username);
         userLoginVO.setPassword(password);
-        userLoginVO.setToken(token);
+        userLoginVO.setGuid(guid);
 
         return Result.ok(userLoginVO);
     }
@@ -238,19 +270,21 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     }
 
     @Override
-    public Result password(UserLoginDTO userLoginDTO) {
+    public Result password(AppUserUpdatePwdDTO dto) {
 
-        if (userLoginDTO.getPassword()== userLoginDTO.getRePassword() || userLoginDTO.getRePassword() == null){
-            return Result.error();
+        if (BeanUtil.isEmpty(dto)){
+            throw new BadReqException("参数为空");
         }
+        String guid = dto.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        Integer userId = guidDTO.getUserId();
 
-        Integer userId = UserContext.getUserId();
         User user = getById(userId);
         if (user==null){
             return Result.error();
         }
-        user.setPassword(DigestUtils.md5DigestAsHex(userLoginDTO.getRePassword().getBytes()));
-        this.update(user,null);
+        user.setPassword(DigestUtils.md5DigestAsHex(dto.getNewPassword().getBytes()));
+        this.updateById(user);
 
 
         return Result.ok();
@@ -272,21 +306,17 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     }
 
     @Override
-    public Result updateUserName(UserLoginDTO username) {
-        Integer userId = UserContext.getUserId();
+    public Result updateUserName(AppBaseDTO dto) {
+        String guid = dto.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        Integer userId = guidDTO.getUserId();
+
         User user = getById(userId);
         if (user==null){
             return Result.error();
         }
-        if (username.getUsername()== user.getUsername() || username.getUsername() == null){
-            return Result.error();
-        }
-
-
-        user.setUsername(username.getUsername());
+        user.setUsername(dto.getUsername());
         this.update(user,null);
-
-
         return Result.ok();
 
     }
@@ -311,32 +341,32 @@ public class UserServiceImpl extends ServiceImpl<UserMapper, User> implements IU
     }
 
     @Override
-    public Result updateVci(UserLoginDTO userLoginDTO) {
-        if (userLoginDTO.getDeviceSn() == null){
-            return Result.error();
-        }
+    public Result updateVci(AppBaseDTO dto) {
 
-        Integer userId = UserContext.getUserId();
-        QueryWrapper<UserVci> queryWrapper = new QueryWrapper<>();
-        queryWrapper.lambda().eq(UserVci::getUserId,userId);
-        UserVci userVci = userVciService.getOne(queryWrapper);
-        if (userVci == null){
-            return Result.error();
+        if (BeanUtil.isEmpty(dto)){
+            throw new BadReqException("参数为空");
         }
-        Integer vciInfoId = userVci.getVciInfoId();
-        VciInfo vciInfo = vciInfoService.getById(vciInfoId);
+        String guid = dto.getGuid();
+        GuidDTO guidDTO = jwtUtils.getGuidDTOFromToken(guid);
+        Integer userId = guidDTO.getUserId();
+        String vciSn = dto.getVciSn();
+        VciInfo vciInfo = vciInfoService.lambdaQuery()
+                .eq(VciInfo::getVciNum, vciSn)
+                .one();
         if (vciInfo == null){
             return Result.error();
         }
-        vciInfo.setVciNum(userLoginDTO.getDeviceSn());
+        UserVci userVci = userVciService.lambdaQuery()
+                .eq(UserVci::getUserId, userId)
+                .eq(UserVci::getIsDefault, true)
+                .one();
+        userVci.setVciInfoId(vciInfo.getId());
+
         boolean update = vciInfoService.update(vciInfo, null);
         if (!update){
             return Result.error();
         }
 
-
-
-
         return Result.ok();
     }
 }

+ 7 - 2
src/main/java/com/om/service/impl/WxscServiceImpl.java

@@ -3,6 +3,8 @@ package com.om.service.impl;
 import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.util.PageUtil;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.om.entity.dto.AppBaseDTO;
+import com.om.entity.dto.AppWxscDTO;
 import com.om.entity.dto.AppWxscQueryPageDTO;
 import com.om.entity.po.Wxsc;
 import com.om.entity.vo.AppWxscQueryPageVO;
@@ -76,8 +78,11 @@ public class WxscServiceImpl extends ServiceImpl<WxscMapper, Wxsc> implements IW
     }
 
     @Override
-    public Result<Wxsc> appGetById(Integer id, String language) {
-        //todo 先不考虑语言
+    public Result<Wxsc> appGetById(AppWxscDTO dto) {
+        Integer id = dto.getId();
+        String language = dto.getLanguage();
+
+        //todo  language
         //根据id查询
         Wxsc wxsc = this.getById(id);
 

+ 34 - 4
src/main/java/com/om/utils/JwtUtils.java

@@ -1,5 +1,6 @@
 package com.om.utils;
 
+import com.om.entity.dto.GuidDTO;
 import io.jsonwebtoken.Claims;
 import io.jsonwebtoken.Jwts;
 import io.jsonwebtoken.SignatureAlgorithm;
@@ -7,7 +8,9 @@ import lombok.Data;
 import org.springframework.boot.context.properties.ConfigurationProperties;
 
 import org.springframework.stereotype.Component;
+
 import java.util.Date;
+import java.util.HashMap;
 import java.util.Map;
 
 @Data
@@ -58,13 +61,40 @@ public class JwtUtils {
         Integer aId;
         try {
             Claims claims = getClaimsFromToken(token);
-            aId =  claims.get("a_id", Integer.class);
+            aId = claims.get("a_id", Integer.class);
         } catch (Exception e) {
             aId = null;
         }
         return aId;
     }
 
+    /**
+     * 从令牌中获取map
+     *
+     * @param token 令牌
+     * @return id
+     */
+    public GuidDTO getGuidDTOFromToken(String token) {
+        GuidDTO dto = new GuidDTO();
+
+        try {
+            Claims claims = getClaimsFromToken(token);
+            Integer uId = claims.get("u_id", Integer.class);
+            String deviceSn = claims.get("deviceSn", String.class);
+            String appVersion = claims.get("appVersion", String.class);
+            String clientNum = claims.get("clientNum", String.class);
+
+            dto.setUserId(uId);
+            dto.setDeviceSn(deviceSn);
+            dto.setAppVersion(appVersion);
+            dto.setClientNum(clientNum);
+
+        } catch (Exception e) {
+            dto = null;
+        }
+        return dto;
+    }
+
     /**
      * 从令牌中获取id
      *
@@ -75,7 +105,7 @@ public class JwtUtils {
         Integer uId;
         try {
             Claims claims = getClaimsFromToken(token);
-            uId =  claims.get("u_id", Integer.class);
+            uId = claims.get("u_id", Integer.class);
         } catch (Exception e) {
             uId = null;
         }
@@ -115,7 +145,7 @@ public class JwtUtils {
     /**
      * 管理员验证令牌
      *
-     * @param token       令牌
+     * @param token   令牌
      * @param adminId admin
      * @return 是否有效
      */
@@ -127,7 +157,7 @@ public class JwtUtils {
     /**
      * 用户验证令牌
      *
-     * @param token       令牌
+     * @param token  令牌
      * @param userId userId
      * @return 是否有效
      */

+ 0 - 0
src/main/resources/mapper/AppsClientsMapper.xml → src/main/resources/mapper/GuidRequired.xml