Browse Source

bugfix-联调

Aslee 2 years ago
parent
commit
22f416c2cc
43 changed files with 418 additions and 170 deletions
  1. 7 6
      src/main/java/com/caimei/annotation/CurrentUserResolver.java
  2. 24 17
      src/main/java/com/caimei/controller/admin/auth/AuthApi.java
  3. 58 34
      src/main/java/com/caimei/controller/admin/auth/AuthProductApi.java
  4. 20 11
      src/main/java/com/caimei/controller/admin/auth/DoctorApi.java
  5. 11 1
      src/main/java/com/caimei/controller/admin/auth/DownloadApi.java
  6. 28 9
      src/main/java/com/caimei/controller/admin/auth/ShopApi.java
  7. 1 1
      src/main/java/com/caimei/controller/admin/data/ArticleApi.java
  8. 9 1
      src/main/java/com/caimei/controller/admin/sys/SysRoleApi.java
  9. 7 3
      src/main/java/com/caimei/controller/admin/sys/SysUserApi.java
  10. 10 9
      src/main/java/com/caimei/controller/admin/vip/VipApi.java
  11. 18 5
      src/main/java/com/caimei/controller/wechat/WxAuthApi.java
  12. 1 1
      src/main/java/com/caimei/mapper/cmMapper/AuthMapper.java
  13. 2 0
      src/main/java/com/caimei/mapper/cmMapper/AuthProductMapper.java
  14. 2 0
      src/main/java/com/caimei/mapper/cmMapper/ShopMapper.java
  15. 6 2
      src/main/java/com/caimei/mapper/cmMapper/SystemMapper.java
  16. 4 0
      src/main/java/com/caimei/model/po/SysRole.java
  17. 4 0
      src/main/java/com/caimei/model/po/SysUser.java
  18. 5 0
      src/main/java/com/caimei/model/po/UserPo.java
  19. 5 0
      src/main/java/com/caimei/model/vo/AuthVo.java
  20. 8 2
      src/main/java/com/caimei/model/vo/ProductListVo.java
  21. 3 0
      src/main/java/com/caimei/model/vo/ProductTypeListVo.java
  22. 5 0
      src/main/java/com/caimei/model/vo/ShopFormVo.java
  23. 3 0
      src/main/java/com/caimei/model/vo/ShopListVo.java
  24. 5 5
      src/main/java/com/caimei/model/vo/UserLoginVo.java
  25. 3 0
      src/main/java/com/caimei/model/vo/WxProductListVo.java
  26. 3 0
      src/main/java/com/caimei/model/vo/WxShopVo.java
  27. 7 0
      src/main/java/com/caimei/service/auth/AuthProductService.java
  28. 2 0
      src/main/java/com/caimei/service/auth/DownloadService.java
  29. 19 7
      src/main/java/com/caimei/service/auth/impl/AuthProductServiceImpl.java
  30. 5 4
      src/main/java/com/caimei/service/auth/impl/AuthServiceImpl.java
  31. 0 3
      src/main/java/com/caimei/service/auth/impl/DoctorServiceImpl.java
  32. 18 2
      src/main/java/com/caimei/service/auth/impl/DownloadServiceImpl.java
  33. 10 2
      src/main/java/com/caimei/service/auth/impl/ShopServiceImpl.java
  34. 1 0
      src/main/java/com/caimei/service/sys/impl/SysMenuServiceImpl.java
  35. 4 3
      src/main/java/com/caimei/service/sys/impl/SysRoleServiceImpl.java
  36. 24 5
      src/main/java/com/caimei/service/sys/impl/SysUserServiceImpl.java
  37. 13 1
      src/main/java/com/caimei/service/wechat/impl/RegisterServiceImpl.java
  38. 1 0
      src/main/java/com/caimei/utils/SmsUtils.java
  39. 4 2
      src/main/resources/mapper/AuthMapper.xml
  40. 11 6
      src/main/resources/mapper/AuthProductMapper.xml
  41. 9 5
      src/main/resources/mapper/ShopMapper.xml
  42. 21 9
      src/main/resources/mapper/SystemMapper.xml
  43. 17 14
      src/main/resources/mapper/UserMapper.xml

+ 7 - 6
src/main/java/com/caimei/annotation/CurrentUserResolver.java

@@ -47,15 +47,16 @@ public class CurrentUserResolver implements HandlerMethodArgumentResolver {
         String cacheToken = null!=token ? String.valueOf(redisService.get(token)) : null;
         String cacheToken = null!=token ? String.valueOf(redisService.get(token)) : null;
         // Redis过期后会得到"null"值,所以需判断字符串"null"
         // Redis过期后会得到"null"值,所以需判断字符串"null"
         if (cacheToken != null && cacheToken.length() != 0 && !"null".equals(cacheToken)) {
         if (cacheToken != null && cacheToken.length() != 0 && !"null".equals(cacheToken)) {
-            if (cacheToken.contains(",")) {
-                // 前端机构用户登录
-                String[] tokenArr = cacheToken.split(",");
-                Integer authUserId = Integer.parseInt(tokenArr[1]);
-                return systemMapper.getUser(authUserId);
-            } else {
+            if (!cacheToken.contains(",")) {
                 // 后台管理员/供应商/供应商子用户登录
                 // 后台管理员/供应商/供应商子用户登录
                 Integer authUserId = JwtUtil.parseTokenUid(cacheToken);
                 Integer authUserId = JwtUtil.parseTokenUid(cacheToken);
                 return systemMapper.getUser(authUserId);
                 return systemMapper.getUser(authUserId);
+            } else {
+                // 前端机构用户登录
+                /*String[] tokenArr = cacheToken.split(",");
+                Integer authUserId = Integer.parseInt(tokenArr[1]);
+                return systemMapper.getUser(authUserId);*/
+                return null;
             }
             }
         }
         }
 //        return systemMapper.getUser(17);
 //        return systemMapper.getUser(17);

+ 24 - 17
src/main/java/com/caimei/controller/admin/auth/AuthApi.java

@@ -46,6 +46,7 @@ public class AuthApi {
      */
      */
     @ApiOperation("授权列表")
     @ApiOperation("授权列表")
     @ApiImplicitParams({
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "authUserId", required = false, value = "供应商用户id"),
             @ApiImplicitParam(name = "listType", required = false, value = "列表类型:1授权列表,2授权审核列表,3供应商审核列表,4授权牌物流列表"),
             @ApiImplicitParam(name = "listType", required = false, value = "列表类型:1授权列表,2授权审核列表,3供应商审核列表,4授权牌物流列表"),
             @ApiImplicitParam(name = "authParty", required = false, value = "授权机构"),
             @ApiImplicitParam(name = "authParty", required = false, value = "授权机构"),
             @ApiImplicitParam(name = "mobile", required = false, value = "机构用户手机号"),
             @ApiImplicitParam(name = "mobile", required = false, value = "机构用户手机号"),
@@ -59,18 +60,20 @@ public class AuthApi {
             @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
             @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
     })
     })
     @GetMapping("/list")
     @GetMapping("/list")
-    public ResponseJson<PageInfo<AuthVo>> getAuthList(@CurrentUser SysUser sysUser, Integer listType, String authParty, String mobile,
+    public ResponseJson<PageInfo<AuthVo>> getAuthList(@CurrentUser SysUser sysUser, Integer authUserId, Integer listType,  String authParty, String mobile,
                                                       Integer status, Integer starFlag, Integer auditStatus, Integer lowerAuditStatus,
                                                       Integer status, Integer starFlag, Integer auditStatus, Integer lowerAuditStatus,
                                                       Integer shopAuditStatus, Integer sendStatus,
                                                       Integer shopAuditStatus, Integer sendStatus,
                                                       @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                                       @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
                                                       @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
-        if (null == sysUser) {
-            return ResponseJson.error("用户信息异常", null);
-        }
-        // 获取供应商用户id
-        Integer userIdentity = sysUser.getUserIdentity();
-        Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
-        if (null == authUserId) {
+        // 管理员/供应商公用接口,管理员调用时传authUserId,供应商调用不传
+        if (null != sysUser && 1 != sysUser.getId()) {
+            // 获取供应商用户id
+            Integer userIdentity = sysUser.getUserIdentity();
+            authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
+            if (null == authUserId) {
+                return ResponseJson.error("供应商用户id不能为空", null);
+            }
+        } else if (null == authUserId) {
             return ResponseJson.error("供应商用户id不能为空", null);
             return ResponseJson.error("供应商用户id不能为空", null);
         }
         }
         return authService.getAuthList(listType, authUserId, authParty, mobile, status, starFlag, auditStatus, lowerAuditStatus, shopAuditStatus, sendStatus, pageNum, pageSize);
         return authService.getAuthList(listType, authUserId, authParty, mobile, status, starFlag, auditStatus, lowerAuditStatus, shopAuditStatus, sendStatus, pageNum, pageSize);
@@ -140,10 +143,10 @@ public class AuthApi {
         if (null == sysUser) {
         if (null == sysUser) {
             return ResponseJson.error("用户信息异常", null);
             return ResponseJson.error("用户信息异常", null);
         }
         }
-
         // 获取供应商用户id
         // 获取供应商用户id
         Integer userIdentity = sysUser.getUserIdentity();
         Integer userIdentity = sysUser.getUserIdentity();
         Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
         Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
+        Integer createBy = (2 == userIdentity || 3 == userIdentity) ? sysUser.getId() : null;
         if (null == authUserId) {
         if (null == authUserId) {
             return ResponseJson.error("供应商用户id不能为空", null);
             return ResponseJson.error("供应商用户id不能为空", null);
         }
         }
@@ -177,7 +180,6 @@ public class AuthApi {
         String remarks = paramsMap.getString("remarks");
         String remarks = paramsMap.getString("remarks");
         List<String> bannerList = (List<String>) paramsMap.get("bannerList");
         List<String> bannerList = (List<String>) paramsMap.get("bannerList");
         String authParty = paramsMap.getString("authParty");
         String authParty = paramsMap.getString("authParty");
-        Integer createBy = paramsMap.getInteger("createBy");
         Integer source = paramsMap.getInteger("source");
         Integer source = paramsMap.getInteger("source");
         if (null == source) {
         if (null == source) {
             // 默认供应商保存
             // 默认供应商保存
@@ -229,29 +231,34 @@ public class AuthApi {
     @ApiImplicitParam(name = "params", value = "authId:授权id;auditStatus:审核状态:0审核未通过,1审核通过,2待审核;" +
     @ApiImplicitParam(name = "params", value = "authId:授权id;auditStatus:审核状态:0审核未通过,1审核通过,2待审核;" +
             "invalidReason:审核不通过原因;auditBy:审核人用户id;source:来源:1管理员审核,2供应商审核", required = true)
             "invalidReason:审核不通过原因;auditBy:审核人用户id;source:来源:1管理员审核,2供应商审核", required = true)
     @PostMapping("/audit")
     @PostMapping("/audit")
-    public ResponseJson auditAuth(@RequestBody String params) {
+    public ResponseJson auditAuth(@CurrentUser SysUser sysUser, @RequestBody String params) {
+        if (null == sysUser) {
+            return ResponseJson.error("用户信息异常", null);
+        }
+        // 获取审核人用户id
+        Integer auditBy = sysUser.getId();
+        if (null == auditBy) {
+            return ResponseJson.error("审核人用户id不能为空", null);
+        }
         JSONObject paramsMap = JSONObject.parseObject(params);
         JSONObject paramsMap = JSONObject.parseObject(params);
         Integer authId = paramsMap.getInteger("authId");
         Integer authId = paramsMap.getInteger("authId");
         Integer auditStatus = paramsMap.getInteger("auditStatus");
         Integer auditStatus = paramsMap.getInteger("auditStatus");
         String invalidReason = paramsMap.getString("invalidReason");
         String invalidReason = paramsMap.getString("invalidReason");
-        Integer auditBy = paramsMap.getInteger("auditBy");
         Integer source = paramsMap.getInteger("source");
         Integer source = paramsMap.getInteger("source");
         return authService.auditAuth(authId, auditStatus, invalidReason, auditBy, source);
         return authService.auditAuth(authId, auditStatus, invalidReason, auditBy, source);
     }
     }
 
 
     @ApiOperation("excel导入")
     @ApiOperation("excel导入")
-    @ApiImplicitParams({
-            @ApiImplicitParam(name = "createBy", required = true, value = "创建人用户id"),
-            @ApiImplicitParam(name = "file", required = true, value = "机构excel表格"),
-    })
+    @ApiImplicitParam(name = "file", required = true, value = "机构excel表格")
     @PostMapping("/import/excel")
     @PostMapping("/import/excel")
-    public ResponseJson importDataByExcel(@CurrentUser SysUser sysUser, MultipartFile file, Integer createBy) {
+    public ResponseJson importDataByExcel(@CurrentUser SysUser sysUser, MultipartFile file) {
         if (null == sysUser) {
         if (null == sysUser) {
             return ResponseJson.error("用户信息异常", null);
             return ResponseJson.error("用户信息异常", null);
         }
         }
         // 获取供应商用户id
         // 获取供应商用户id
         Integer userIdentity = sysUser.getUserIdentity();
         Integer userIdentity = sysUser.getUserIdentity();
         Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
         Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
+        Integer createBy = sysUser.getId();
         if (null == authUserId) {
         if (null == authUserId) {
             return ResponseJson.error("供应商用户id不能为空", null);
             return ResponseJson.error("供应商用户id不能为空", null);
         }
         }

+ 58 - 34
src/main/java/com/caimei/controller/admin/auth/AuthProductApi.java

@@ -123,7 +123,11 @@ public class AuthProductApi {
      */
      */
     @ApiOperation("添加/编辑授权商品")
     @ApiOperation("添加/编辑授权商品")
     @PostMapping("/save")
     @PostMapping("/save")
-    public ResponseJson saveProduct(@RequestBody ProductSaveDto productSaveDto) throws IOException {
+    public ResponseJson saveProduct(@CurrentUser SysUser sysUser, @RequestBody ProductSaveDto productSaveDto) throws IOException {
+        // 获取创建人用户id
+        Integer userIdentity = sysUser.getUserIdentity();
+        Integer createBy = (2 == userIdentity || 3 == userIdentity) ? sysUser.getId() : null;
+        productSaveDto.setCreateBy(createBy);
         return authProductService.saveProduct(productSaveDto);
         return authProductService.saveProduct(productSaveDto);
     }
     }
 
 
@@ -165,12 +169,19 @@ public class AuthProductApi {
             "invalidReason:审核不通过原因;auditBy:审核人用户id;source:来源:1管理员审核,2供应商审核", required = true)
             "invalidReason:审核不通过原因;auditBy:审核人用户id;source:来源:1管理员审核,2供应商审核", required = true)
     @Idempotent(prefix = "idempotent_product", keys = {"#params"}, expire = 5)
     @Idempotent(prefix = "idempotent_product", keys = {"#params"}, expire = 5)
     @PostMapping("/audit")
     @PostMapping("/audit")
-    public ResponseJson auditProduct(@RequestBody String params) {
+    public ResponseJson auditProduct(@CurrentUser SysUser sysUser, @RequestBody String params) {
+        if (null == sysUser) {
+            return ResponseJson.error("用户信息异常", null);
+        }
+        // 获取审核人用户id
+        Integer auditBy = sysUser.getId();
+        if (null == auditBy) {
+            return ResponseJson.error("审核人用户id不能为空", null);
+        }
         JSONObject paramsMap = JSONObject.parseObject(params);
         JSONObject paramsMap = JSONObject.parseObject(params);
         Integer productId = paramsMap.getInteger("productId");
         Integer productId = paramsMap.getInteger("productId");
         Integer auditStatus = paramsMap.getInteger("auditStatus");
         Integer auditStatus = paramsMap.getInteger("auditStatus");
         String invalidReason = paramsMap.getString("invalidReason");
         String invalidReason = paramsMap.getString("invalidReason");
-        Integer auditBy = paramsMap.getInteger("auditBy");
         Integer source = paramsMap.getInteger("source");
         Integer source = paramsMap.getInteger("source");
         return authProductService.auditProduct(productId, auditStatus, invalidReason, auditBy, source);
         return authProductService.auditProduct(productId, auditStatus, invalidReason, auditBy, source);
     }
     }
@@ -232,25 +243,9 @@ public class AuthProductApi {
         return authProductService.deleteProductType(productTypeId);
         return authProductService.deleteProductType(productTypeId);
     }
     }
 
 
-    @ApiOperation("更新设备分类状态")
-    @ApiImplicitParam(name = "params", value = "productTypeId:设备分类id;status:上线状态:0已下线,1已上线,2待上线", required = true)
-    @PostMapping("/type/update/status")
-    public ResponseJson updateProductTypeStatus(@RequestBody Map<String,Integer> params) {
-        Integer productTypeId = params.get("productTypeId");
-        Integer status = params.get("status");
-        if (productTypeId == null) {
-            return ResponseJson.error("请输入设备分类id");
-        }
-        if (status == null) {
-            return ResponseJson.error("请输入要更新的状态值");
-        } else if (status != 0 && status != 1) {
-            return ResponseJson.error("状态值只能为0或1");
-        }
-        return authProductService.updateProductTypeStatus(productTypeId, status);
-    }
-
     @ApiOperation("设备分类列表")
     @ApiOperation("设备分类列表")
     @ApiImplicitParams({
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "authUserId", required = false, value = "供应商用户id"),
             @ApiImplicitParam(name = "listType", required = false, value = "列表类型:1设备分类列表,2设备分类审核列表"),
             @ApiImplicitParam(name = "listType", required = false, value = "列表类型:1设备分类列表,2设备分类审核列表"),
             @ApiImplicitParam(name = "name", required = false, value = "设备分类名称"),
             @ApiImplicitParam(name = "name", required = false, value = "设备分类名称"),
             @ApiImplicitParam(name = "status", required = false, value = "上线状态:0下线,1上线,2待上线"),
             @ApiImplicitParam(name = "status", required = false, value = "上线状态:0下线,1上线,2待上线"),
@@ -259,21 +254,40 @@ public class AuthProductApi {
             @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
             @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
     })
     })
     @GetMapping("/type/list")
     @GetMapping("/type/list")
-    public ResponseJson<PageInfo<ProductTypeListVo>> getProductTypeList(@CurrentUser SysUser sysUser, Integer listType, String name, Integer status, Integer auditStatus,
+    public ResponseJson<PageInfo<ProductTypeListVo>> getProductTypeList(@CurrentUser SysUser sysUser, Integer authUserId, Integer listType, String name, Integer status, Integer auditStatus,
                                                                         @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                                                         @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                                                         @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
                                                                         @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
-        if (null == sysUser) {
-            return ResponseJson.error("用户信息异常", null);
-        }
-        // 获取供应商用户id
-        Integer userIdentity = sysUser.getUserIdentity();
-        Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
-        if (null == authUserId) {
+        // 管理员/供应商公用接口,管理员调用时传authUserId,供应商调用不传
+        if (null != sysUser && 1 != sysUser.getId()) {
+            // 获取供应商用户id
+            Integer userIdentity = sysUser.getUserIdentity();
+            authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
+            if (null == authUserId) {
+                return ResponseJson.error("供应商用户id不能为空", null);
+            }
+        } else if (null == authUserId) {
             return ResponseJson.error("供应商用户id不能为空", null);
             return ResponseJson.error("供应商用户id不能为空", null);
         }
         }
         return authProductService.getProductTypeList(listType, authUserId, name, status, auditStatus, pageNum, pageSize);
         return authProductService.getProductTypeList(listType, authUserId, name, status, auditStatus, pageNum, pageSize);
     }
     }
 
 
+    @ApiOperation("更新设备分类状态")
+    @ApiImplicitParam(name = "params", value = "productTypeId:设备分类id;status:上线状态:0已下线,1已上线,2待上线", required = true)
+    @PostMapping("/type/update/status")
+    public ResponseJson updateProductTypeStatus(@RequestBody Map<String,Integer> params) {
+        Integer productTypeId = params.get("productTypeId");
+        Integer status = params.get("status");
+        if (productTypeId == null) {
+            return ResponseJson.error("请输入设备分类id");
+        }
+        if (status == null) {
+            return ResponseJson.error("请输入要更新的状态值");
+        } else if (status != 0 && status != 1) {
+            return ResponseJson.error("状态值只能为0或1");
+        }
+        return authProductService.updateProductTypeStatus(productTypeId, status);
+    }
+
     @ApiOperation("设备分类下拉框列表")
     @ApiOperation("设备分类下拉框列表")
     @GetMapping("/type/select")
     @GetMapping("/type/select")
     public ResponseJson<List<ProductTypeListVo>> getProductTypeSelectList(@CurrentUser SysUser sysUser) {
     public ResponseJson<List<ProductTypeListVo>> getProductTypeSelectList(@CurrentUser SysUser sysUser) {
@@ -292,12 +306,19 @@ public class AuthProductApi {
     @ApiOperation("审核设备分类")
     @ApiOperation("审核设备分类")
     @ApiImplicitParam(name = "params", value = "productTypeId:设备分类id;auditStatus:审核状态:0审核未通过,1审核通过,2待审核;invalidReason:审核不通过原因;auditBy:审核人用户id", required = true)
     @ApiImplicitParam(name = "params", value = "productTypeId:设备分类id;auditStatus:审核状态:0审核未通过,1审核通过,2待审核;invalidReason:审核不通过原因;auditBy:审核人用户id", required = true)
     @PostMapping("/type/audit")
     @PostMapping("/type/audit")
-    public ResponseJson auditProductType(@RequestBody String params) {
+    public ResponseJson auditProductType(@CurrentUser SysUser sysUser, @RequestBody String params) {
+        if (null == sysUser) {
+            return ResponseJson.error("用户信息异常", null);
+        }
+        // 获取审核人用户id
+        Integer auditBy = sysUser.getId();
+        if (null == auditBy) {
+            return ResponseJson.error("审核人用户id不能为空", null);
+        }
         JSONObject paramsMap = JSONObject.parseObject(params);
         JSONObject paramsMap = JSONObject.parseObject(params);
         Integer productTypeId = paramsMap.getInteger("productTypeId");
         Integer productTypeId = paramsMap.getInteger("productTypeId");
         Integer auditStatus = paramsMap.getInteger("auditStatus");
         Integer auditStatus = paramsMap.getInteger("auditStatus");
         String invalidReason = paramsMap.getString("invalidReason");
         String invalidReason = paramsMap.getString("invalidReason");
-        Integer auditBy = paramsMap.getInteger("auditBy");
         if (productTypeId == null) {
         if (productTypeId == null) {
             return ResponseJson.error("请输入商品id");
             return ResponseJson.error("请输入商品id");
         }
         }
@@ -307,15 +328,18 @@ public class AuthProductApi {
         if (auditStatus == 0 && StringUtils.isEmpty(invalidReason)) {
         if (auditStatus == 0 && StringUtils.isEmpty(invalidReason)) {
             return ResponseJson.error("请输入审核不通过的原因");
             return ResponseJson.error("请输入审核不通过的原因");
         }
         }
-        if (auditBy == null) {
-            return ResponseJson.error("请输入审核人用户id");
-        }
         return authProductService.auditProductType(productTypeId, auditStatus, invalidReason, auditBy);
         return authProductService.auditProductType(productTypeId, auditStatus, invalidReason, auditBy);
     }
     }
 
 
-    @ApiOperation("更改查看标记")
+    @ApiOperation("更改设备查看标记")
     @PostMapping("/check/{id}")
     @PostMapping("/check/{id}")
     public ResponseJson checkAuthProduct(@PathVariable("id") Integer productId) {
     public ResponseJson checkAuthProduct(@PathVariable("id") Integer productId) {
         return authProductService.checkAuthProduct(productId);
         return authProductService.checkAuthProduct(productId);
     }
     }
+
+    @ApiOperation("更改设备分类查看标记")
+    @PostMapping("/type/check/{id}")
+    public ResponseJson checkProductType(@PathVariable("id") Integer productTypeId) {
+        return authProductService.checkProductType(productTypeId);
+    }
 }
 }

+ 20 - 11
src/main/java/com/caimei/controller/admin/auth/DoctorApi.java

@@ -47,16 +47,18 @@ public class DoctorApi {
             @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
             @ApiImplicitParam(name = "pageSize", required = false, value = "一页多少条")
     })
     })
     @GetMapping("/list")
     @GetMapping("/list")
-    public ResponseJson<PageInfo<DoctorListVo>> getDoctorList(@CurrentUser SysUser sysUser, Integer listType, Integer doctorType, String doctorName, String certificateNo, Integer status, Integer auditStatus,
+    public ResponseJson<PageInfo<DoctorListVo>> getDoctorList(@CurrentUser SysUser sysUser, Integer authUserId, Integer listType, Integer doctorType, String doctorName, String certificateNo, Integer status, Integer auditStatus,
                                                               @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                                               @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                                               @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
                                                               @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
-        if (null == sysUser) {
-            return ResponseJson.error("用户信息异常", null);
-        }
-        // 获取供应商用户id
-        Integer userIdentity = sysUser.getUserIdentity();
-        Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
-        if (null == authUserId) {
+        // 管理员/供应商公用接口,管理员调用时传authUserId,供应商调用不传
+        if (null != sysUser && 1 != sysUser.getId()) {
+            // 获取供应商用户id
+            Integer userIdentity = sysUser.getUserIdentity();
+            authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
+            if (null == authUserId) {
+                return ResponseJson.error("供应商用户id不能为空", null);
+            }
+        } else if (null == authUserId) {
             return ResponseJson.error("供应商用户id不能为空", null);
             return ResponseJson.error("供应商用户id不能为空", null);
         }
         }
         if (null == doctorType) {
         if (null == doctorType) {
@@ -114,6 +116,7 @@ public class DoctorApi {
         // 获取供应商用户id
         // 获取供应商用户id
         Integer userIdentity = sysUser.getUserIdentity();
         Integer userIdentity = sysUser.getUserIdentity();
         Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
         Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
+        Integer createBy = (2 == userIdentity || 3 == userIdentity) ? sysUser.getId() : null;
         if (null == authUserId) {
         if (null == authUserId) {
             return ResponseJson.error("供应商用户id不能为空", null);
             return ResponseJson.error("供应商用户id不能为空", null);
         }
         }
@@ -125,7 +128,6 @@ public class DoctorApi {
         String certificateNo = paramsMap.getString("certificateNo");
         String certificateNo = paramsMap.getString("certificateNo");
         String clubName = paramsMap.getString("clubName");
         String clubName = paramsMap.getString("clubName");
         String doctorImage = paramsMap.getString("doctorImage");
         String doctorImage = paramsMap.getString("doctorImage");
-        Integer createBy = paramsMap.getInteger("createBy");
         List<String> bannerList = (List<String>) paramsMap.get("bannerList");
         List<String> bannerList = (List<String>) paramsMap.get("bannerList");
         List<String> tagList = (List<String>) paramsMap.get("tagList");
         List<String> tagList = (List<String>) paramsMap.get("tagList");
         List<Map<String,Object>> equipmentList = (List<Map<String,Object>>) paramsMap.get("equipmentList");
         List<Map<String,Object>> equipmentList = (List<Map<String,Object>>) paramsMap.get("equipmentList");
@@ -154,12 +156,19 @@ public class DoctorApi {
     @ApiOperation("审核医师")
     @ApiOperation("审核医师")
     @ApiImplicitParam(name = "params", value = "doctorId:医师id;auditStatus:审核状态:0审核未通过,1审核通过,2待审核;invalidReason:审核不通过原因;auditBy:审核人用户id", required = true)
     @ApiImplicitParam(name = "params", value = "doctorId:医师id;auditStatus:审核状态:0审核未通过,1审核通过,2待审核;invalidReason:审核不通过原因;auditBy:审核人用户id", required = true)
     @PostMapping("/audit")
     @PostMapping("/audit")
-    public ResponseJson auditDoctor(@RequestBody String params) {
+    public ResponseJson auditDoctor(@CurrentUser SysUser sysUser, @RequestBody String params) {
+        if (null == sysUser) {
+            return ResponseJson.error("用户信息异常", null);
+        }
+        // 获取审核人用户id
+        Integer auditBy = sysUser.getId();
+        if (null == auditBy) {
+            return ResponseJson.error("审核人用户id不能为空", null);
+        }
         JSONObject paramsMap = JSONObject.parseObject(params);
         JSONObject paramsMap = JSONObject.parseObject(params);
         Integer doctorId = paramsMap.getInteger("doctorId");
         Integer doctorId = paramsMap.getInteger("doctorId");
         Integer auditStatus = paramsMap.getInteger("auditStatus");
         Integer auditStatus = paramsMap.getInteger("auditStatus");
         String invalidReason = paramsMap.getString("invalidReason");
         String invalidReason = paramsMap.getString("invalidReason");
-        Integer auditBy = paramsMap.getInteger("auditBy");
         return doctorService.auditDoctor(doctorId, auditStatus, invalidReason, auditBy);
         return doctorService.auditDoctor(doctorId, auditStatus, invalidReason, auditBy);
     }
     }
 
 

+ 11 - 1
src/main/java/com/caimei/controller/admin/auth/DownloadApi.java

@@ -47,6 +47,16 @@ public class DownloadApi {
         }
         }
     }
     }
 
 
+    @ApiOperation("下载机构导入模板")
+    @GetMapping("/auth/template")
+    public void downloadAuthTemplate(HttpServletRequest request, HttpServletResponse response){
+        try {
+            downloadService.downloadAuthTemplate(request, response);
+        } catch (IOException e) {
+            e.printStackTrace();
+        }
+    }
+
     @ApiOperation("一键下载机构授权牌/设备授权牌/机构二维码/设备二维码")
     @ApiOperation("一键下载机构授权牌/设备授权牌/机构二维码/设备二维码")
     @ApiImplicitParams({
     @ApiImplicitParams({
             @ApiImplicitParam(name = "authIds", required = false, value = "勾选中的机构id,以,隔开"),
             @ApiImplicitParam(name = "authIds", required = false, value = "勾选中的机构id,以,隔开"),
@@ -54,7 +64,7 @@ public class DownloadApi {
     })
     })
     @GetMapping("/shop/image")
     @GetMapping("/shop/image")
     public void downloadImage(String authIds, Integer type, HttpServletRequest request, HttpServletResponse response) throws Exception {
     public void downloadImage(String authIds, Integer type, HttpServletRequest request, HttpServletResponse response) throws Exception {
-        if (com.aliyuncs.utils.StringUtils.isEmpty(authIds) || null == type) {
+        if (StringUtils.isEmpty(authIds) || null == type) {
             return;
             return;
         }
         }
         downloadService.downloadShopImage(authIds, type, request, response);
         downloadService.downloadShopImage(authIds, type, request, response);

+ 28 - 9
src/main/java/com/caimei/controller/admin/auth/ShopApi.java

@@ -95,16 +95,15 @@ public class ShopApi {
     @GetMapping("/form/data")
     @GetMapping("/form/data")
     public ResponseJson<ShopFormVo> getShopFormData(@CurrentUser SysUser sysUser, Integer authUserId) {
     public ResponseJson<ShopFormVo> getShopFormData(@CurrentUser SysUser sysUser, Integer authUserId) {
         // 管理员/供应商公用接口,管理员调用时传authUserId,供应商调用不传
         // 管理员/供应商公用接口,管理员调用时传authUserId,供应商调用不传
-        if (null == authUserId) {
-            if (null == sysUser) {
-                return ResponseJson.error("用户信息异常", null);
-            }
+        if (null != sysUser && 1 != sysUser.getId()) {
             // 获取供应商用户id
             // 获取供应商用户id
             Integer userIdentity = sysUser.getUserIdentity();
             Integer userIdentity = sysUser.getUserIdentity();
             authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
             authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
             if (null == authUserId) {
             if (null == authUserId) {
                 return ResponseJson.error("供应商用户id不能为空", null);
                 return ResponseJson.error("供应商用户id不能为空", null);
             }
             }
+        } else if (null == authUserId) {
+            return ResponseJson.error("供应商用户id不能为空", null);
         }
         }
         return shopService.getShopFormData(authUserId);
         return shopService.getShopFormData(authUserId);
     }
     }
@@ -162,6 +161,10 @@ public class ShopApi {
         if (StringUtils.isEmpty(logo)) {
         if (StringUtils.isEmpty(logo)) {
             return ResponseJson.error("供应商logo不能为空");
             return ResponseJson.error("供应商logo不能为空");
         }
         }
+        String prefix = (String) paramsMap.get("prefix");
+        if (StringUtils.isEmpty(prefix)) {
+            return ResponseJson.error("前缀不能为空");
+        }
         String qrCodeImage = paramsMap.getString("qrCodeImage");
         String qrCodeImage = paramsMap.getString("qrCodeImage");
         Integer wxAccountType = paramsMap.getInteger("wxAccountType");
         Integer wxAccountType = paramsMap.getInteger("wxAccountType");
         String appId = paramsMap.getString("appId");
         String appId = paramsMap.getString("appId");
@@ -177,6 +180,8 @@ public class ShopApi {
         shop.setCmShopId(cmShopId);
         shop.setCmShopId(cmShopId);
         // 供应商名称
         // 供应商名称
         shop.setName(shopName);
         shop.setName(shopName);
+        // 前缀
+        shop.setPrefix(prefix);
         // 手机号
         // 手机号
         shop.setMobile(mobile);
         shop.setMobile(mobile);
         // 联系人
         // 联系人
@@ -267,7 +272,18 @@ public class ShopApi {
     @ApiOperation("品牌信息列表")
     @ApiOperation("品牌信息列表")
     @ApiImplicitParam(name = "authUserId", value = "供应商用户id", required = false)
     @ApiImplicitParam(name = "authUserId", value = "供应商用户id", required = false)
     @GetMapping("/info/list")
     @GetMapping("/info/list")
-    public ResponseJson<List<ShopInfoVo>> getShopInfoList(Integer authUserId) {
+    public ResponseJson<List<ShopInfoVo>> getShopInfoList(@CurrentUser SysUser sysUser, Integer authUserId) {
+        // 管理员/供应商公用接口,管理员调用时传authUserId,供应商调用不传
+        if (null != sysUser && 1 != sysUser.getId()) {
+            // 获取供应商用户id
+            Integer userIdentity = sysUser.getUserIdentity();
+            authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
+            if (null == authUserId) {
+                return ResponseJson.error("供应商用户id不能为空", null);
+            }
+        } else if (null == authUserId) {
+            return ResponseJson.error("供应商用户id不能为空", null);
+        }
         return shopService.getShopInfoList(authUserId);
         return shopService.getShopInfoList(authUserId);
     }
     }
 
 
@@ -337,8 +353,9 @@ public class ShopApi {
         if (null == sysUser) {
         if (null == sysUser) {
             return ResponseJson.error("用户信息异常", null);
             return ResponseJson.error("用户信息异常", null);
         }
         }
-        // 修改用户信息:供应商和子用户都可以修改个人信息,直接取id即可
-        Integer authUserId = sysUser.getId();
+        // 获取供应商用户id
+        Integer userIdentity = sysUser.getUserIdentity();
+        Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
         if (null == authUserId) {
         if (null == authUserId) {
             return ResponseJson.error("供应商用户id不能为空", null);
             return ResponseJson.error("供应商用户id不能为空", null);
         }
         }
@@ -422,9 +439,9 @@ public class ShopApi {
     }
     }
 
 
     @ApiOperation("删除供应商品牌信息")
     @ApiOperation("删除供应商品牌信息")
-    @ApiImplicitParam(name = "infoId", value = "品牌信息id", required = true)
+    @ApiImplicitParam(name = "params", value = "infoId:品牌信息id", required = true)
     @PostMapping("/info/delete")
     @PostMapping("/info/delete")
-    public ResponseJson saveShopInfo(@CurrentUser SysUser sysUser, @RequestBody Integer infoId) {
+    public ResponseJson saveShopInfo(@CurrentUser SysUser sysUser, @RequestBody String params) {
         if (null == sysUser) {
         if (null == sysUser) {
             return ResponseJson.error("用户信息异常", null);
             return ResponseJson.error("用户信息异常", null);
         }
         }
@@ -434,6 +451,8 @@ public class ShopApi {
         if (null == authUserId) {
         if (null == authUserId) {
             return ResponseJson.error("供应商用户id不能为空", null);
             return ResponseJson.error("供应商用户id不能为空", null);
         }
         }
+        JSONObject parseObject = JSONObject.parseObject(params);
+        Integer infoId = parseObject.getInteger("infoId");
         return shopService.deleteShopInfo(authUserId, infoId);
         return shopService.deleteShopInfo(authUserId, infoId);
     }
     }
 
 

+ 1 - 1
src/main/java/com/caimei/controller/admin/data/ArticleApi.java

@@ -123,7 +123,7 @@ public class ArticleApi {
     @ApiOperation("更改排序值")
     @ApiOperation("更改排序值")
     @ApiImplicitParam(name = "params", required = true, value = "articleId:文章id;sort:排序值")
     @ApiImplicitParam(name = "params", required = true, value = "articleId:文章id;sort:排序值")
     @PostMapping("/sort/update")
     @PostMapping("/sort/update")
-    public ResponseJson updateSort(@RequestBody String params ) {
+    public ResponseJson updateSort(@RequestBody String params) {
         JSONObject paramsMap = JSONObject.parseObject(params);
         JSONObject paramsMap = JSONObject.parseObject(params);
         Integer articleId = paramsMap.getInteger("articleId");
         Integer articleId = paramsMap.getInteger("articleId");
         Integer sort = paramsMap.getInteger("sort");
         Integer sort = paramsMap.getInteger("sort");

+ 9 - 1
src/main/java/com/caimei/controller/admin/sys/SysRoleApi.java

@@ -67,7 +67,15 @@ public class SysRoleApi {
      * 添加角色
      * 添加角色
      */
      */
     @PostMapping("/create")
     @PostMapping("/create")
-    public ResponseJson<Void> addRole(@RequestBody SysRole sysRole) {
+    public ResponseJson<Void> addRole(@CurrentUser SysUser sysUser, @RequestBody SysRole sysRole) {
+        if (null == sysUser) {
+            return ResponseJson.error("用户信息异常", null);
+        }
+        // 获取供应商用户id
+        Integer userIdentity = sysUser.getUserIdentity();
+        Integer authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
+        sysRole.setAuthUserId(authUserId);
+        sysRole.setRoleType(1 == userIdentity ? 1 : 3);
         return sysRoleService.addRole(sysRole);
         return sysRoleService.addRole(sysRole);
     }
     }
 
 

+ 7 - 3
src/main/java/com/caimei/controller/admin/sys/SysUserApi.java

@@ -96,10 +96,14 @@ public class SysUserApi {
      * 添加管理员/供应商子用户
      * 添加管理员/供应商子用户
      */
      */
     @PostMapping("/create")
     @PostMapping("/create")
-    public ResponseJson<Void> createUser(@RequestBody SysUser sysUser) {
-        if (null == sysUser.getUserIdentity()) {
-            return ResponseJson.error("用户身份不能为空", null);
+    public ResponseJson<Void> createUser(@CurrentUser SysUser currentUser, @RequestBody SysUser sysUser) {
+        if (null == currentUser) {
+            return ResponseJson.error("用户信息异常", null);
         }
         }
+        Integer userIdentity = currentUser.getUserIdentity();
+        sysUser.setUserIdentity(1 == userIdentity ? 1 : 3);
+        sysUser.setParentId(1 == userIdentity ? 1 : 2 == userIdentity ? currentUser.getId() : currentUser.getParentId());
+        sysUser.setCreateBy(currentUser.getId());
         return sysUserService.createUser(sysUser);
         return sysUserService.createUser(sysUser);
     }
     }
 
 

+ 10 - 9
src/main/java/com/caimei/controller/admin/vip/VipApi.java

@@ -113,15 +113,16 @@ public class VipApi {
                                                                    String payEndTime, String endBeginTime, String endEndTime,
                                                                    String payEndTime, String endBeginTime, String endEndTime,
                                                                    @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                                                    @RequestParam(value = "pageNum", defaultValue = "1") Integer pageNum,
                                                                    @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
                                                                    @RequestParam(value = "pageSize", defaultValue = "10") Integer pageSize) {
-        // 管理员/供应商公用接口,只有管理员需要传authUserId
-        if (null == sysUser) {
-            return ResponseJson.error("用户信息异常", null);
-        }
-        // 获取供应商用户id
-        Integer userIdentity = sysUser.getUserIdentity();
-        Integer tempAuthUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
-        if (null != tempAuthUserId) {
-            authUserId = tempAuthUserId;
+        // 管理员/供应商公用接口,管理员调用时传authUserId,供应商调用不传
+        if (null != sysUser && 1 != sysUser.getId()) {
+            // 获取供应商用户id
+            Integer userIdentity = sysUser.getUserIdentity();
+            authUserId = 2 == userIdentity ? sysUser.getId() : 3 == userIdentity ? sysUser.getParentId() : null;
+            if (null == authUserId) {
+                return ResponseJson.error("供应商用户id不能为空", null);
+            }
+        } else if (null == authUserId) {
+            return ResponseJson.error("供应商用户id不能为空", null);
         }
         }
         return vipService.vipHistoryList(authUserId, vipPackageId, vipStatus, payBeginTime, payEndTime, endBeginTime, endEndTime, pageNum, pageSize);
         return vipService.vipHistoryList(authUserId, vipPackageId, vipStatus, payBeginTime, payEndTime, endBeginTime, endEndTime, pageNum, pageSize);
     }
     }

+ 18 - 5
src/main/java/com/caimei/controller/wechat/WxAuthApi.java

@@ -79,7 +79,7 @@ public class WxAuthApi {
 
 
     @ApiOperation("明星机构列表")
     @ApiOperation("明星机构列表")
     @ApiImplicitParam(name = "authUserId", required = false, value = "供应商用户id")
     @ApiImplicitParam(name = "authUserId", required = false, value = "供应商用户id")
-    @GetMapping("/club/start/list")
+    @GetMapping("/club/star/list")
     public ResponseJson<List<WxClubListVo>> getStarClubList(Integer authUserId) {
     public ResponseJson<List<WxClubListVo>> getStarClubList(Integer authUserId) {
         if (null == authUserId) {
         if (null == authUserId) {
             return ResponseJson.error("参数异常,供应商用户id不能为空", null);
             return ResponseJson.error("参数异常,供应商用户id不能为空", null);
@@ -136,10 +136,10 @@ public class WxAuthApi {
      * 获取授权商品回显数据
      * 获取授权商品回显数据
      */
      */
     @ApiOperation("授权商品回显数据")
     @ApiOperation("授权商品回显数据")
-    @ApiImplicitParam(name = "productId", required = true, value = "授权商品id")
+    @ApiImplicitParam(name = "relationId", required = true, value = "机构设备关联id")
     @GetMapping("/product/form/data")
     @GetMapping("/product/form/data")
-    public ResponseJson<ProductFormVo> getProductFormData(Integer productId) {
-        return authProductService.getProductFormData(productId);
+    public ResponseJson<ProductFormVo> getProductFormData(Integer relationId) {
+        return authProductService.getProductFormData(relationId);
     }
     }
 
 
     /**
     /**
@@ -159,7 +159,7 @@ public class WxAuthApi {
      * @param productSaveDto {
      * @param productSaveDto {
      *                   productId              授权商品id
      *                   productId              授权商品id
      *                   authId                 授权id
      *                   authId                 授权id
-     *                   info                   品牌信息id
+     *                   infoId                 品牌信息id
      *                   productTypeId          设备分类id
      *                   productTypeId          设备分类id
      *                   snCode                 商品SN码
      *                   snCode                 商品SN码
      *                   productImage           商品图片
      *                   productImage           商品图片
@@ -265,6 +265,19 @@ public class WxAuthApi {
         return authProductService.getAuthProductDetails(productId);
         return authProductService.getAuthProductDetails(productId);
     }
     }
 
 
+    @ApiOperation("关联设备获取设备信息")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "productId", required = false, value = "设备id"),
+            @ApiImplicitParam(name = "snCode", required = false, value = "sn码")
+    })
+    @GetMapping("/product/info")
+    public ResponseJson<ProductFormVo> getProductInfo(Integer productId, String snCode) {
+        if (null == productId && null == snCode) {
+            return ResponseJson.error("设备id和sn码不能同时为空", null);
+        }
+        return authProductService.getProductInfo(productId, snCode);
+    }
+
     @ApiOperation("已认证医师列表")
     @ApiOperation("已认证医师列表")
     @ApiImplicitParams({
     @ApiImplicitParams({
             @ApiImplicitParam(name = "authUserId", required = false, value = "供应商用户id"),
             @ApiImplicitParam(name = "authUserId", required = false, value = "供应商用户id"),

+ 1 - 1
src/main/java/com/caimei/mapper/cmMapper/AuthMapper.java

@@ -21,7 +21,7 @@ import java.util.List;
 @Mapper
 @Mapper
 public interface AuthMapper {
 public interface AuthMapper {
 
 
-    List<AuthVo> getAuthList(@Param("listType") Integer listType, @Param("authUserId") Integer authUserId, @Param("authParty") String authParty, @Param("mobile") String mobile, @Param("status") Integer status, @Param("starFlag")  Integer starFlag, @Param("lowerAuditStatus") Integer lowerAuditStatus, @Param("shopAuditStatus") Integer shopAuditStatus, @Param("sendStatus") Integer sendStatus, @Param("auditStatus") Integer auditStatus);
+    List<AuthVo> getAuthList(@Param("listType") Integer listType, @Param("authUserId") Integer authUserId, @Param("authParty") String authParty, @Param("mobile") String mobile, @Param("status") Integer status, @Param("starFlag")  Integer starFlag, @Param("auditStatus") Integer auditStatus, @Param("lowerAuditStatus") Integer lowerAuditStatus, @Param("shopAuditStatus") Integer shopAuditStatus, @Param("sendStatus") Integer sendStatus);
 
 
     void updateAuthStatusByAuthId(@Param("authId") Integer authId, @Param("status") Integer status);
     void updateAuthStatusByAuthId(@Param("authId") Integer authId, @Param("status") Integer status);
 
 

+ 2 - 0
src/main/java/com/caimei/mapper/cmMapper/AuthProductMapper.java

@@ -106,4 +106,6 @@ public interface AuthProductMapper {
     List<WxClubListVo> getProductClubList(Integer productId);
     List<WxClubListVo> getProductClubList(Integer productId);
 
 
     void addScanCount(Integer productId);
     void addScanCount(Integer productId);
+
+    void checkProductType(Integer productTypeId);
 }
 }

+ 2 - 0
src/main/java/com/caimei/mapper/cmMapper/ShopMapper.java

@@ -88,4 +88,6 @@ public interface ShopMapper {
     void updateShopLogo(@Param("authUserId") Integer authUserId, @Param("logo") String logo);
     void updateShopLogo(@Param("authUserId") Integer authUserId, @Param("logo") String logo);
 
 
     List<CmShopVo> getCmShopList();
     List<CmShopVo> getCmShopList();
+
+    Integer getUserIdByPrefix(String prefix);
 }
 }

+ 6 - 2
src/main/java/com/caimei/mapper/cmMapper/SystemMapper.java

@@ -18,7 +18,7 @@ public interface SystemMapper {
     /**
     /**
      * 根据用户名称查找可登录用户
      * 根据用户名称查找可登录用户
      */
      */
-    SysUser findByUsername(@Param("username") String username, @Param("userIdentity") Integer userIdentity);
+    SysUser findByUsername(@Param("username") String username);
     /**
     /**
      * 根据用户Id查找可登录用户
      * 根据用户Id查找可登录用户
      */
      */
@@ -86,7 +86,7 @@ public interface SystemMapper {
     /**
     /**
      * 根据角色名称获取角色
      * 根据角色名称获取角色
      */
      */
-    SysRole getRoleByRoleName(String roleName);
+    SysRole getRoleByRoleName(@Param("authUserId") Integer authUserId, @Param("roleName") String roleName);
     /**
     /**
      * 根据ID更新角色
      * 根据ID更新角色
      */
      */
@@ -225,4 +225,8 @@ public interface SystemMapper {
      * 获取供应商菜单对应的角色id
      * 获取供应商菜单对应的角色id
      */
      */
     Integer getShopRoleIdByMenuId(Integer menuId);
     Integer getShopRoleIdByMenuId(Integer menuId);
+
+    SysUser findByMobile(String mobile);
+
+    SysUser findByLoginAccount(String loginAccount);
 }
 }

+ 4 - 0
src/main/java/com/caimei/model/po/SysRole.java

@@ -17,6 +17,10 @@ public class SysRole {
      * 角色ID
      * 角色ID
      */
      */
     private Integer id;
     private Integer id;
+    /**
+     * 供应商用户id
+     */
+    private Integer authUserId;
     /**
     /**
      * 角色名称
      * 角色名称
      */
      */

+ 4 - 0
src/main/java/com/caimei/model/po/SysUser.java

@@ -30,6 +30,10 @@ public class SysUser {
      * 用户名
      * 用户名
      */
      */
     private String username;
     private String username;
+    /**
+     * 登录账号
+     */
+    private String loginAccount;
     /**
     /**
      * 手机号
      * 手机号
      */
      */

+ 5 - 0
src/main/java/com/caimei/model/po/UserPo.java

@@ -25,6 +25,11 @@ public class UserPo {
      */
      */
     private String name;
     private String name;
 
 
+    /**
+     * 前缀
+     */
+    private String prefix;
+
     /**
     /**
      * 手机号
      * 手机号
      */
      */

+ 5 - 0
src/main/java/com/caimei/model/vo/AuthVo.java

@@ -97,6 +97,11 @@ public class AuthVo {
      */
      */
     private String invalidReason;
     private String invalidReason;
 
 
+    /**
+     * 供应商审核不通过原因
+     */
+    private String shopInvalidReason;
+
     /**
     /**
      * 供应商审核人
      * 供应商审核人
      */
      */

+ 8 - 2
src/main/java/com/caimei/model/vo/ProductListVo.java

@@ -16,10 +16,11 @@ public class ProductListVo {
      */
      */
     private Integer productId;
     private Integer productId;
 
 
-    @ApiModelProperty("供应商用户id")
+    /**
+     * 供应商用户id
+     */
     private Integer authUserId;
     private Integer authUserId;
 
 
-    @ApiModelProperty("商品名称")
     /**
     /**
      * 机构设备关联id
      * 机构设备关联id
      */
      */
@@ -75,6 +76,11 @@ public class ProductListVo {
      */
      */
     private String invalidReason;
     private String invalidReason;
 
 
+    /**
+     * 供应商审核不通过原因
+     */
+    private String shopInvalidReason;
+
     /**
     /**
      * 供应商审核人
      * 供应商审核人
      */
      */

+ 3 - 0
src/main/java/com/caimei/model/vo/ProductTypeListVo.java

@@ -40,4 +40,7 @@ public class ProductTypeListVo {
 
 
     @ApiModelProperty("审核不通过原因")
     @ApiModelProperty("审核不通过原因")
     private String invalidReason;
     private String invalidReason;
+
+    @ApiModelProperty("是否查看过:1是,0否")
+    private Integer checkFlag;
 }
 }

+ 5 - 0
src/main/java/com/caimei/model/vo/ShopFormVo.java

@@ -35,6 +35,11 @@ public class ShopFormVo implements Serializable {
      */
      */
     private String loginAccount;
     private String loginAccount;
 
 
+    /**
+     * 前缀
+     */
+    private String prefix;
+
     /**
     /**
      * 供应商类型
      * 供应商类型
      */
      */

+ 3 - 0
src/main/java/com/caimei/model/vo/ShopListVo.java

@@ -25,6 +25,9 @@ public class ShopListVo implements Serializable {
     @ApiModelProperty("登录账号")
     @ApiModelProperty("登录账号")
     private String loginAccount;
     private String loginAccount;
 
 
+    @ApiModelProperty("供应商前缀")
+    private String prefix;
+
     @ApiModelProperty("供应商类型")
     @ApiModelProperty("供应商类型")
     private Integer shopType;
     private Integer shopType;
 
 

+ 5 - 5
src/main/java/com/caimei/model/vo/UserLoginVo.java

@@ -37,6 +37,11 @@ public class UserLoginVo implements Serializable {
      */
      */
     @ApiModelProperty("登录账号")
     @ApiModelProperty("登录账号")
     private String loginAccount;
     private String loginAccount;
+    /**
+     * 登录账号
+     */
+    @ApiModelProperty("前缀")
+    private String prefix;
     /**
     /**
      * 密码
      * 密码
      */
      */
@@ -52,11 +57,6 @@ public class UserLoginVo implements Serializable {
      */
      */
     @ApiModelProperty("供应商类型:1品牌方 2代理商")
     @ApiModelProperty("供应商类型:1品牌方 2代理商")
     private Integer shopType;
     private Integer shopType;
-    /**
-     * 品牌信息id
-     */
-    @ApiModelProperty("品牌信息id")
-    private Integer infoId;
     /**
     /**
      * 用户身份: 1管理员 2供应商
      * 用户身份: 1管理员 2供应商
      */
      */

+ 3 - 0
src/main/java/com/caimei/model/vo/WxProductListVo.java

@@ -13,6 +13,9 @@ import java.util.List;
  */
  */
 @Data
 @Data
 public class WxProductListVo {
 public class WxProductListVo {
+    @ApiModelProperty("机构设备关联id")
+    private Integer relationId;
+
     @ApiModelProperty("商品id")
     @ApiModelProperty("商品id")
     private Integer productId;
     private Integer productId;
 
 

+ 3 - 0
src/main/java/com/caimei/model/vo/WxShopVo.java

@@ -25,4 +25,7 @@ public class WxShopVo implements Serializable {
 
 
     @ApiModelProperty("logo")
     @ApiModelProperty("logo")
     private String logo;
     private String logo;
+
+    @ApiModelProperty("前缀")
+    private String prefix;
 }
 }

+ 7 - 0
src/main/java/com/caimei/service/auth/AuthProductService.java

@@ -184,6 +184,13 @@ public interface AuthProductService {
      * @return
      * @return
      */
      */
     ResponseJson<List<String>> getSnCodeList(Integer authUserId, Integer authId);
     ResponseJson<List<String>> getSnCodeList(Integer authUserId, Integer authId);
+
+    /**
+     * 更改设备分类查看标记
+     * @param productTypeId
+     * @return
+     */
+    ResponseJson checkProductType(Integer productTypeId);
 }
 }
 
 
 
 

+ 2 - 0
src/main/java/com/caimei/service/auth/DownloadService.java

@@ -38,4 +38,6 @@ public interface DownloadService {
     ResponseJson downloadAuthData(String authIds, HttpServletResponse response);
     ResponseJson downloadAuthData(String authIds, HttpServletResponse response);
 
 
     ResponseJson downloadProductData(String authIds, HttpServletRequest request, HttpServletResponse response) throws IOException;
     ResponseJson downloadProductData(String authIds, HttpServletRequest request, HttpServletResponse response) throws IOException;
+
+    void downloadAuthTemplate(HttpServletRequest request, HttpServletResponse response) throws IOException;
 }
 }

+ 19 - 7
src/main/java/com/caimei/service/auth/impl/AuthProductServiceImpl.java

@@ -282,19 +282,25 @@ public class AuthProductServiceImpl implements AuthProductService {
         // 发票图片
         // 发票图片
         product.setInvoiceImage(invoiceImage);
         product.setInvoiceImage(invoiceImage);
         // 供应商保存,直接上线;机构保存,需要供应商审核通过后才上线
         // 供应商保存,直接上线;机构保存,需要供应商审核通过后才上线
-        if (null != dbProduct && 1 != dbProduct.getAuditStatus()) {
-            // 被驳回的数据,编辑变为待审核状态
-            product.setStatus(2);
-            product.setAuditStatus(2);
+        if (1 == authType) {
+            product.setShopAuditStatus(1 == source ? 1 : 2);
+            if (null != dbProduct && 1 != dbProduct.getAuditStatus()) {
+                // 被驳回的数据,编辑变为待审核状态
+                product.setStatus(2);
+                product.setAuditStatus(2);
+            } else {
+                product.setStatus(1 == source ? 1 : 2);
+                product.setAuditStatus(1 == source ? 1 : 2);
+            }
         } else {
         } else {
-            product.setStatus(1 == source ? 1 : 2);
-            product.setAuditStatus(1 == source ? 1 : 2);
+            product.setStatus(1);
+            product.setAuditStatus(1);
+            product.setShopAuditStatus(1);
         }
         }
         Integer adminUserId = authMapper.getAdminUserId();
         Integer adminUserId = authMapper.getAdminUserId();
         product.setAuditBy(adminUserId);
         product.setAuditBy(adminUserId);
         product.setAuditTime(new Date());
         product.setAuditTime(new Date());
         product.setCheckFlag(0);
         product.setCheckFlag(0);
-        product.setShopAuditStatus(1 == source ? 1 : 2);
         // 创建人id
         // 创建人id
         product.setCreateBy(createBy);
         product.setCreateBy(createBy);
         // 创建来源
         // 创建来源
@@ -807,4 +813,10 @@ public class AuthProductServiceImpl implements AuthProductService {
         return ResponseJson.success(snCodeList);
         return ResponseJson.success(snCodeList);
     }
     }
 
 
+    @Override
+    public ResponseJson checkProductType(Integer productTypeId) {
+        authProductMapper.checkProductType(productTypeId);
+        return ResponseJson.success();
+    }
+
 }
 }

+ 5 - 4
src/main/java/com/caimei/service/auth/impl/AuthServiceImpl.java

@@ -218,7 +218,6 @@ public class AuthServiceImpl implements AuthService {
         if (!insertFlag) {
         if (!insertFlag) {
             dbAuth = authMapper.getAuthById(authId);
             dbAuth = authMapper.getAuthById(authId);
         }
         }
-        Integer authUserId = auth.getAuthUserId();
         String authParty = auth.getAuthParty();
         String authParty = auth.getAuthParty();
         if (StringUtils.isBlank(authParty)) {
         if (StringUtils.isBlank(authParty)) {
             return ResponseJson.error("参数异常,请输入授权机构名称");
             return ResponseJson.error("参数异常,请输入授权机构名称");
@@ -272,6 +271,10 @@ public class AuthServiceImpl implements AuthService {
         Integer adminUserId = authMapper.getAdminUserId();
         Integer adminUserId = authMapper.getAdminUserId();
         auth.setAuditBy(adminUserId);
         auth.setAuditBy(adminUserId);
         auth.setAuditTime(new Date());
         auth.setAuditTime(new Date());
+        if (1 == source) {
+            auth.setShopAuditBy(auth.getCreateBy());
+            auth.setShopAuditTime(new Date());
+        }
         auth.setDelFlag(0);
         auth.setDelFlag(0);
         auth.setCheckFlag(0);
         auth.setCheckFlag(0);
         auth.setShopAuditStatus(1 == source ? 1 : 2);
         auth.setShopAuditStatus(1 == source ? 1 : 2);
@@ -434,9 +437,6 @@ public class AuthServiceImpl implements AuthService {
         if (auditStatus == 0 && StringUtils.isEmpty(invalidReason)) {
         if (auditStatus == 0 && StringUtils.isEmpty(invalidReason)) {
             return ResponseJson.error("请输入审核不通过的原因");
             return ResponseJson.error("请输入审核不通过的原因");
         }
         }
-        if (auditBy == null) {
-            return ResponseJson.error("请输入审核人用户id");
-        }
         source = null == source ? 1 : source;
         source = null == source ? 1 : source;
         Date auditTime = new Date();
         Date auditTime = new Date();
         // 授权状态更新
         // 授权状态更新
@@ -679,6 +679,7 @@ public class AuthServiceImpl implements AuthService {
             // 保存授权机构
             // 保存授权机构
             authPo.setAuthUserId(authUserId);
             authPo.setAuthUserId(authUserId);
             authPo.setCreateBy(createBy);
             authPo.setCreateBy(createBy);
+            authPo.setCreateSource(1);
             authPo.setFirstClubType(5);
             authPo.setFirstClubType(5);
             // 导入数据
             // 导入数据
             ResponseJson result = saveAuth(authPo, null, true, 1);
             ResponseJson result = saveAuth(authPo, null, true, 1);

+ 0 - 3
src/main/java/com/caimei/service/auth/impl/DoctorServiceImpl.java

@@ -206,9 +206,6 @@ public class DoctorServiceImpl implements DoctorService {
         if (auditStatus == 0 && StringUtils.isEmpty(invalidReason)) {
         if (auditStatus == 0 && StringUtils.isEmpty(invalidReason)) {
             return ResponseJson.error("请输入审核不通过的原因");
             return ResponseJson.error("请输入审核不通过的原因");
         }
         }
-        if (auditBy == null) {
-            return ResponseJson.error("请输入审核人用户id");
-        }
         Date auditTime = new Date();
         Date auditTime = new Date();
         // 医师状态更新
         // 医师状态更新
         Integer status = null;
         Integer status = null;

+ 18 - 2
src/main/java/com/caimei/service/auth/impl/DownloadServiceImpl.java

@@ -201,7 +201,12 @@ public class DownloadServiceImpl implements DownloadService {
             List<ProductFormVo> productList = authProductMapper.getAuthProductList(authImage.getAuthId());
             List<ProductFormVo> productList = authProductMapper.getAuthProductList(authImage.getAuthId());
             productList.forEach(product->{
             productList.forEach(product->{
                 // 参数列表
                 // 参数列表
-                List<ProductParamPo> paramList = authProductMapper.getParamsByProductId(product.getProductId());
+                List<ProductParamPo> paramList = new ArrayList<>();
+                if (null == product.getProductTypeId()) {
+                    paramList = authProductMapper.getParamsByProductId(product.getProductId());
+                } else {
+                    paramList = authProductMapper.getProductTypeParamList(product.getProductTypeId());
+                }
                 product.setParamList(paramList);
                 product.setParamList(paramList);
                 if (paramList.size() > maxParamNum[0]) {
                 if (paramList.size() > maxParamNum[0]) {
                     maxParamNum[0] = paramList.size();
                     maxParamNum[0] = paramList.size();
@@ -223,6 +228,13 @@ public class DownloadServiceImpl implements DownloadService {
         return null;
         return null;
     }
     }
 
 
+    @Override
+    public void downloadAuthTemplate(HttpServletRequest request, HttpServletResponse response) throws IOException {
+        String ossName = "认证通机构导入模板.xlsx";
+        OSSUtils.downFile("authFile/", ossName, ossName);
+        download(request, response, "./" + ossName, ossName);
+    }
+
     private String createExcelZip(HashMap<AuthVo, List<ProductFormVo>> authMap) throws FileNotFoundException {
     private String createExcelZip(HashMap<AuthVo, List<ProductFormVo>> authMap) throws FileNotFoundException {
         String randomStr = UUID.randomUUID().toString();
         String randomStr = UUID.randomUUID().toString();
         String filePath = "/mnt/newdatadrive/data/runtime/jar-instance/zplma/tempImage/";
         String filePath = "/mnt/newdatadrive/data/runtime/jar-instance/zplma/tempImage/";
@@ -374,7 +386,11 @@ public class DownloadServiceImpl implements DownloadService {
                 authData.add(authParty.getAuthCode());
                 authData.add(authParty.getAuthCode());
                 SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
                 SimpleDateFormat format = new SimpleDateFormat("yyyy.MM.dd");
                 Date authDate = authParty.getAuthDate();
                 Date authDate = authParty.getAuthDate();
-                authData.add(format.format(authDate));
+                if (null != authDate) {
+                    authData.add(format.format(authDate));
+                } else {
+                    authData.add("");
+                }
                 authData.add(authParty.getEmpNum().toString());
                 authData.add(authParty.getEmpNum().toString());
                 authData.add(authParty.getRemarks());
                 authData.add(authParty.getRemarks());
                 for (int j = 0; j < authData.size(); j++) {
                 for (int j = 0; j < authData.size(); j++) {

+ 10 - 2
src/main/java/com/caimei/service/auth/impl/ShopServiceImpl.java

@@ -137,6 +137,11 @@ public class ShopServiceImpl implements ShopService {
             if (null != userIdByShopName) {
             if (null != userIdByShopName) {
                 return ResponseJson.error("该供应商名称已经存在,请重新输入", null);
                 return ResponseJson.error("该供应商名称已经存在,请重新输入", null);
             }
             }
+            // 添加时验证前缀是否已被使用
+            Integer userIdByPrefix = shopMapper.getUserIdByPrefix(shop.getPrefix());
+            if (null != userIdByPrefix) {
+                return ResponseJson.error("该供应商前缀已经存在,请重新输入", null);
+            }
             // 添加时验证appId是否已被使用
             // 添加时验证appId是否已被使用
             if (StringUtils.isNotEmpty(shop.getAppId()) && null != userIdByAppId) {
             if (StringUtils.isNotEmpty(shop.getAppId()) && null != userIdByAppId) {
                 return ResponseJson.error("该appId已被使用,请重新输入", null);
                 return ResponseJson.error("该appId已被使用,请重新输入", null);
@@ -146,6 +151,11 @@ public class ShopServiceImpl implements ShopService {
             if (null != userIdByMobile && !userIdByMobile.equals(shop.getAuthUserId())) {
             if (null != userIdByMobile && !userIdByMobile.equals(shop.getAuthUserId())) {
                 return ResponseJson.error("该手机号已被使用,请重新输入", null);
                 return ResponseJson.error("该手机号已被使用,请重新输入", null);
             }
             }
+            // 修改时验证前缀是否已被使用
+            Integer userIdByPrefix = shopMapper.getUserIdByPrefix(shop.getPrefix());
+            if (null != userIdByPrefix && !userIdByPrefix.equals(shop.getAuthUserId())) {
+                return ResponseJson.error("该供应商前缀已经存在,请重新输入", null);
+            }
             // 修改时验证新appId是否已被使用
             // 修改时验证新appId是否已被使用
             if (StringUtils.isNotEmpty(shop.getAppId()) && null != userIdByAppId && !userIdByAppId.equals(shop.getAuthUserId())) {
             if (StringUtils.isNotEmpty(shop.getAppId()) && null != userIdByAppId && !userIdByAppId.equals(shop.getAuthUserId())) {
                 return ResponseJson.error("该appId已被使用,请重新输入", null);
                 return ResponseJson.error("该appId已被使用,请重新输入", null);
@@ -422,8 +432,6 @@ public class ShopServiceImpl implements ShopService {
         // 判断被删除的品牌下是否还有未删除的商品,若存在,提示供应商需要删除后才能删除品牌
         // 判断被删除的品牌下是否还有未删除的商品,若存在,提示供应商需要删除后才能删除品牌
         Integer productCount = shopMapper.getProductCount(authUserId, infoId);
         Integer productCount = shopMapper.getProductCount(authUserId, infoId);
         if (null != productCount && productCount > 0) {
         if (null != productCount && productCount > 0) {
-            // 设置手动回滚事务
-            TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return ResponseJson.error("对不起,该品牌已绑定设备认证,暂时无法删除");
             return ResponseJson.error("对不起,该品牌已绑定设备认证,暂时无法删除");
         } else {
         } else {
             // 删除品牌
             // 删除品牌

+ 1 - 0
src/main/java/com/caimei/service/sys/impl/SysMenuServiceImpl.java

@@ -258,6 +258,7 @@ public class SysMenuServiceImpl implements SysMenuService {
             vipMenuRole.setRoleName(menu.getTitle() + "会员菜单角色");
             vipMenuRole.setRoleName(menu.getTitle() + "会员菜单角色");
             vipMenuRole.setRoleDesc(menu.getTitle() + "会员菜单角色");
             vipMenuRole.setRoleDesc(menu.getTitle() + "会员菜单角色");
             vipMenuRole.setMenuIds(menu.getId().toString());
             vipMenuRole.setMenuIds(menu.getId().toString());
+            vipMenuRole.setAuthUserId(1);
             vipMenuRole.setRoleType(2);
             vipMenuRole.setRoleType(2);
             Integer dbVipRoleId = systemMapper.getVipRoleIdByMenuId(menu.getId());
             Integer dbVipRoleId = systemMapper.getVipRoleIdByMenuId(menu.getId());
             vipMenuRole.setId(dbVipRoleId);
             vipMenuRole.setId(dbVipRoleId);

+ 4 - 3
src/main/java/com/caimei/service/sys/impl/SysRoleServiceImpl.java

@@ -67,7 +67,8 @@ public class SysRoleServiceImpl implements SysRoleService {
                 }
                 }
             }
             }
             allMenuIdList.removeAll(removeMenuIdSet);
             allMenuIdList.removeAll(removeMenuIdSet);
-            String menuIds = CommonUtil.idListToString(allMenuIdList, ",");
+//            String menuIds = CommonUtil.idListToString(allMenuIdList, ",");
+            String menuIds = CommonUtil.idListToString(roleMenuIdList, ",");
             // 根据角色ID获取(权限-菜单)Ids
             // 根据角色ID获取(权限-菜单)Ids
             List<String> permissionIdList = systemMapper.getPermissionMenuIdsByRoleId(id);
             List<String> permissionIdList = systemMapper.getPermissionMenuIdsByRoleId(id);
             StringBuilder ids = new StringBuilder(menuIds);
             StringBuilder ids = new StringBuilder(menuIds);
@@ -124,8 +125,8 @@ public class SysRoleServiceImpl implements SysRoleService {
     @Override
     @Override
     public ResponseJson<Void> addRole(SysRole sysRole) {
     public ResponseJson<Void> addRole(SysRole sysRole) {
         if (StringUtils.hasLength(sysRole.getRoleName())) {
         if (StringUtils.hasLength(sysRole.getRoleName())) {
-            // 查询是否存在当前角色
-            SysRole dbRole  = systemMapper.getRoleByRoleName(sysRole.getRoleName());
+            // 查询用户下是否存在当前角色
+            SysRole dbRole = systemMapper.getRoleByRoleName(sysRole.getAuthUserId(), sysRole.getRoleName());
             if (null == dbRole) {
             if (null == dbRole) {
                 String menuIds = sysRole.getMenuIds();
                 String menuIds = sysRole.getMenuIds();
                 // 保存角色
                 // 保存角色

+ 24 - 5
src/main/java/com/caimei/service/sys/impl/SysUserServiceImpl.java

@@ -15,6 +15,7 @@ import com.caimei.utils.CommonUtil;
 import com.caimei.utils.Md5Util;
 import com.caimei.utils.Md5Util;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageHelper;
 import com.github.pagehelper.PageInfo;
 import com.github.pagehelper.PageInfo;
+import com.github.pagehelper.util.StringUtil;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.CollectionUtils;
@@ -57,7 +58,7 @@ public class SysUserServiceImpl implements SysUserService {
     @Override
     @Override
     public ResponseJson<SysUser> getInfoByUsername(String username) {
     public ResponseJson<SysUser> getInfoByUsername(String username) {
         if (StringUtils.hasLength(username)) {
         if (StringUtils.hasLength(username)) {
-            SysUser sysUser = systemMapper.findByUsername(username, null);
+            SysUser sysUser = systemMapper.findByUsername(username);
             if (null != sysUser) {
             if (null != sysUser) {
                 List<Integer> roleIds = setUserRoleInfo(sysUser);
                 List<Integer> roleIds = setUserRoleInfo(sysUser);
                 List<SysMenu> menus = null;
                 List<SysMenu> menus = null;
@@ -269,10 +270,24 @@ public class SysUserServiceImpl implements SysUserService {
     @Transactional(rollbackFor=Exception.class)
     @Transactional(rollbackFor=Exception.class)
     @Override
     @Override
     public ResponseJson<Void> createUser(SysUser sysUser) {
     public ResponseJson<Void> createUser(SysUser sysUser) {
-        if (StringUtils.hasLength(sysUser.getUsername()) && StringUtils.hasLength(sysUser.getPassword())) {
+        if ((StringUtils.hasLength(sysUser.getUsername()) || StringUtils.hasLength(sysUser.getLoginAccount())) && StringUtils.hasLength(sysUser.getPassword())) {
             // 查询是否存在当前用户名的用户
             // 查询是否存在当前用户名的用户
-            SysUser dbUser = systemMapper.findByUsername(sysUser.getUsername(), sysUser.getUserIdentity());
-            if (null == dbUser) {
+            SysUser dbUserByName = null;
+            if (StringUtil.isNotEmpty(sysUser.getUsername())) {
+                dbUserByName = systemMapper.findByUsername(sysUser.getUsername());
+            }
+            // 查询是否存在当前登录账号的用户
+            SysUser dbUserByAccount = null;
+            if (StringUtil.isNotEmpty(sysUser.getLoginAccount())) {
+                dbUserByAccount = systemMapper.findByLoginAccount(sysUser.getLoginAccount());
+                sysUser.setUsername(sysUser.getLoginAccount());
+            }
+            // 查询是否存在当前手机号的用户
+            SysUser dbUserByMobile = null;
+            if (StringUtil.isNotEmpty(sysUser.getLoginAccount())) {
+                dbUserByMobile = systemMapper.findByMobile(sysUser.getMobile());
+            }
+            if (null == dbUserByName && null == dbUserByAccount && null == dbUserByMobile)  {
                 // 密码加密
                 // 密码加密
                 String encodePassword = Md5Util.md5(sysUser.getPassword());
                 String encodePassword = Md5Util.md5(sysUser.getPassword());
                 sysUser.setPassword(encodePassword);
                 sysUser.setPassword(encodePassword);
@@ -283,8 +298,12 @@ public class SysUserServiceImpl implements SysUserService {
                 // 保存用户角色关系
                 // 保存用户角色关系
                 saveRoleRelation(sysUser.getId(), roleIds);
                 saveRoleRelation(sysUser.getId(), roleIds);
                 return ResponseJson.success("添加用户成功", null);
                 return ResponseJson.success("添加用户成功", null);
-            } else {
+            } else if (null != dbUserByName){
                 return ResponseJson.error("用户名已存在", null);
                 return ResponseJson.error("用户名已存在", null);
+            } else if (null != dbUserByAccount){
+                return ResponseJson.error("登录账号已存在", null);
+            } else {
+                return ResponseJson.error("手机号已存在", null);
             }
             }
         }
         }
         return ResponseJson.error("用户名或密码不能为空", null);
         return ResponseJson.error("用户名或密码不能为空", null);

+ 13 - 1
src/main/java/com/caimei/service/wechat/impl/RegisterServiceImpl.java

@@ -4,11 +4,13 @@ import com.alibaba.fastjson.JSONObject;
 import com.caimei.components.RedisService;
 import com.caimei.components.RedisService;
 import com.caimei.mapper.cmMapper.AuthMapper;
 import com.caimei.mapper.cmMapper.AuthMapper;
 import com.caimei.mapper.cmMapper.ClubMapper;
 import com.caimei.mapper.cmMapper.ClubMapper;
+import com.caimei.mapper.cmMapper.ShopMapper;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.ResponseJson;
 import com.caimei.model.dto.ProductSaveDto;
 import com.caimei.model.dto.ProductSaveDto;
 import com.caimei.model.po.ClubUserPo;
 import com.caimei.model.po.ClubUserPo;
 import com.caimei.model.po.CmBrandAuthPo;
 import com.caimei.model.po.CmBrandAuthPo;
 import com.caimei.model.vo.AuthFormVo;
 import com.caimei.model.vo.AuthFormVo;
+import com.caimei.model.vo.ShopFormVo;
 import com.caimei.model.vo.WxClubUserVo;
 import com.caimei.model.vo.WxClubUserVo;
 import com.caimei.service.auth.AuthProductService;
 import com.caimei.service.auth.AuthProductService;
 import com.caimei.service.auth.AuthService;
 import com.caimei.service.auth.AuthService;
@@ -43,6 +45,8 @@ public class RegisterServiceImpl implements RegisterService {
     @Resource
     @Resource
     private AuthMapper authMapper;
     private AuthMapper authMapper;
     @Resource
     @Resource
+    private ShopMapper shopMapper;
+    @Resource
     private AuthService authService;
     private AuthService authService;
     @Resource
     @Resource
     private AuthProductService authProductService;
     private AuthProductService authProductService;
@@ -96,8 +100,16 @@ public class RegisterServiceImpl implements RegisterService {
         clubMapper.insertClubUser(clubUser);
         clubMapper.insertClubUser(clubUser);
         clubUserVo = clubMapper.getWxClubUser(mobile, null, authUserId, null, null);
         clubUserVo = clubMapper.getWxClubUser(mobile, null, authUserId, null, null);
         if (2 == registerType) {
         if (2 == registerType) {
+            // 获取供应商名称
+            ShopFormVo shop = shopMapper.getShopByUserId(authUserId);
+            String shopName = "";
+            if (null == shop) {
+                return ResponseJson.error("供应商不存在", null);
+            } else {
+                shopName = shop.getShopName();
+            }
             // 验证码注册,推送默认密码短信
             // 验证码注册,推送默认密码短信
-            String content = "您认证通登录密码为:rzt123456";
+            String content = "("+ shopName +")您认证通登录密码为:rzt123456,请勿泄露于他人。【采美网提供技术支持】";
             Boolean sendSms = SmsUtils.sendSms(11, mobile, content);
             Boolean sendSms = SmsUtils.sendSms(11, mobile, content);
             if (!sendSms) {
             if (!sendSms) {
                 log.info("机构用户验证码注册-密码发送失败,手机号:" + mobile);
                 log.info("机构用户验证码注册-密码发送失败,手机号:" + mobile);

+ 1 - 0
src/main/java/com/caimei/utils/SmsUtils.java

@@ -9,6 +9,7 @@ import org.springframework.stereotype.Component;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 import java.util.Map;
 import java.util.regex.Matcher;
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 import java.util.regex.Pattern;

+ 4 - 2
src/main/resources/mapper/AuthMapper.xml

@@ -115,6 +115,7 @@
     <select id="getAuthList" resultType="com.caimei.model.vo.AuthVo">
     <select id="getAuthList" resultType="com.caimei.model.vo.AuthVo">
         select a.id as authId, a.authUserId, authParty, cbcu2.mobile, a.status, a.auditStatus, a.shopAuditStatus, a.createTime,
         select a.id as authId, a.authUserId, authParty, cbcu2.mobile, a.status, a.auditStatus, a.shopAuditStatus, a.createTime,
         if(a.createSource = 1,cu.name,cbcu1.mobile) as createBy,au.name as auditBy,a.auditTime,a.invalidReason,
         if(a.createSource = 1,cu.name,cbcu1.mobile) as createBy,au.name as auditBy,a.auditTime,a.invalidReason,
+               ifnull(a.shopInvalidReason, a.invalidReason) as shopInvalidReason,
         a.sendStatus, ifnull(au1.name,au1.mobile) as shopAuditBy,a.shopAuditTime,
         a.sendStatus, ifnull(au1.name,au1.mobile) as shopAuditBy,a.shopAuditTime,
         ifnull(ap.waitAuditNum,0) as waitAuditNum,
         ifnull(ap.waitAuditNum,0) as waitAuditNum,
         ifnull(bp.waitAuditNum,0) as shopWaitAuditNum,
         ifnull(bp.waitAuditNum,0) as shopWaitAuditNum,
@@ -132,8 +133,9 @@
         left join (select r.authId,count(*) as waitAuditNum from cm_brand_auth_product p
         left join (select r.authId,count(*) as waitAuditNum from cm_brand_auth_product p
             left join cm_brand_product_relation r on p.id = r.productId
             left join cm_brand_product_relation r on p.id = r.productId
             where shopAuditStatus = 2 group by r.authId) bp on a.id = bp.authId
             where shopAuditStatus = 2 group by r.authId) bp on a.id = bp.authId
-        left join (select authId,count(*) as productNum from cm_brand_auth_product group by
-        authId) cp on a.id = cp.authId
+        left join (select r.authId,count(*) as productNum from cm_brand_auth_product p
+            left join cm_brand_product_relation r on p.id = r.productId group by r.authId) cp
+            on a.id = cp.authId
         where a.authUserId = #{authUserId} and a.delFlag = 0
         where a.authUserId = #{authUserId} and a.delFlag = 0
         <if test="authParty != null and authParty != ''">
         <if test="authParty != null and authParty != ''">
             and a.authParty like CONCAT('%',#{authParty},'%')
             and a.authParty like CONCAT('%',#{authParty},'%')

+ 11 - 6
src/main/resources/mapper/AuthProductMapper.xml

@@ -167,16 +167,19 @@
             authType  = #{authType}
             authType  = #{authType}
         where id = #{relationId}
         where id = #{relationId}
     </update>
     </update>
+    <update id="checkProductType">
+        update cm_brand_product_type set checkFlag = 1 where id = #{productTypeId}
+    </update>
     <select id="getProductList" resultType="com.caimei.model.vo.ProductListVo">
     <select id="getProductList" resultType="com.caimei.model.vo.ProductListVo">
         select r.id as relationId,p.id as productId,a.authUserId, if(p.productTypeId is null,p.name,t.name) as productName,
         select r.id as relationId,p.id as productId,a.authUserId, if(p.productTypeId is null,p.name,t.name) as productName,
                snCode,p.status,p.auditStatus,p.shopAuditStatus, p.createTime,
                snCode,p.status,p.auditStatus,p.shopAuditStatus, p.createTime,
                if(p.createSource = 1,cu.name,cbcu.mobile) as createBy,
                if(p.createSource = 1,cu.name,cbcu.mobile) as createBy,
-               au.name as auditBy,p.auditTime,p.invalidReason, ifnull(au1.name,au1.mobile) as shopAuditBy,
-        p.shopAuditTime, p.checkFlag, p.scanCount
+               au.name as auditBy,p.auditTime,p.invalidReason,ifnull(p.shopInvalidReason,p.invalidReason) as shopInvalidReason,
+               ifnull(au1.name,au1.mobile) as shopAuditBy, p.shopAuditTime, p.checkFlag, p.scanCount
         from cm_brand_auth_product p
         from cm_brand_auth_product p
         left join cm_brand_product_relation r on p.id = r.productId
         left join cm_brand_product_relation r on p.id = r.productId
+        left join cm_brand_auth a on r.authId = a.id
         left join cm_brand_product_type t on p.productTypeId = t.id and t.delFlag = 0
         left join cm_brand_product_type t on p.productTypeId = t.id and t.delFlag = 0
-        left join cm_brand_auth a on p.authId = a.id
         left join cm_brand_auth_user cu on p.createBy = cu.authUserId
         left join cm_brand_auth_user cu on p.createBy = cu.authUserId
         left join cm_brand_auth_user au on p.auditBy = au.authUserId
         left join cm_brand_auth_user au on p.auditBy = au.authUserId
         left join cm_brand_auth_user au1 on p.shopAuditBy = au1.authUserId
         left join cm_brand_auth_user au1 on p.shopAuditBy = au1.authUserId
@@ -223,6 +226,7 @@
     <select id="getProductFormData" resultType="com.caimei.model.vo.ProductFormVo">
     <select id="getProductFormData" resultType="com.caimei.model.vo.ProductFormVo">
         select p.`id`                                                      as productId,
         select p.`id`                                                      as productId,
                r.authId,
                r.authId,
+               if(p.productTypeId is null, i1.id, i2.id)                   as infoId,
                if(p.productTypeId is null, i1.brandName, i2.brandName)     as brandName,
                if(p.productTypeId is null, i1.brandName, i2.brandName)     as brandName,
                p.productTypeId,
                p.productTypeId,
                if(p.productTypeId is null, p.name, t.name)                 as productName,
                if(p.productTypeId is null, p.name, t.name)                 as productName,
@@ -267,7 +271,7 @@
         from cm_brand_auth_product
         from cm_brand_auth_product
     </select>
     </select>
     <select id="getWxProductList" resultType="com.caimei.model.vo.WxProductListVo">
     <select id="getWxProductList" resultType="com.caimei.model.vo.WxProductListVo">
-        select DISTINCT p.id as productId,
+        select DISTINCT r.id as relationId, p.id as productId,
         if(p.productTypeId is null,p.name,t.name) as productName,
         if(p.productTypeId is null,p.name,t.name) as productName,
         p.snCode,
         p.snCode,
         if(p.productTypeId is null,p.image,t.image) as productImage,
         if(p.productTypeId is null,p.image,t.image) as productImage,
@@ -295,7 +299,6 @@
                 </if>
                 </if>
             </if>
             </if>
             <if test="listType == 2">
             <if test="listType == 2">
-                and p.productTypeId = #{productTypeId}
                 <if test="snCode != null and snCode != ''">
                 <if test="snCode != null and snCode != ''">
                     and p.snCode like concat('%',#{snCode},'%')
                     and p.snCode like concat('%',#{snCode},'%')
                 </if>
                 </if>
@@ -311,6 +314,7 @@
     </select>
     </select>
     <select id="getAuthProductList" resultType="com.caimei.model.vo.ProductFormVo">
     <select id="getAuthProductList" resultType="com.caimei.model.vo.ProductFormVo">
         select p.id                                                    as productId,
         select p.id                                                    as productId,
+               p.productTypeId,
                p.purchaseWay,
                p.purchaseWay,
                if(p.productTypeId is null, p.name, t.name)             as productName,
                if(p.productTypeId is null, p.name, t.name)             as productName,
                snCode,
                snCode,
@@ -375,7 +379,7 @@
     <select id="getProductTypeList" resultType="com.caimei.model.vo.ProductTypeListVo">
     <select id="getProductTypeList" resultType="com.caimei.model.vo.ProductTypeListVo">
         select t.id as productTypeId,t.name,t.image,t.status,t.auditStatus,t.createTime,
         select t.id as productTypeId,t.name,t.image,t.status,t.auditStatus,t.createTime,
         if(t.createSource = 1,cu.name,cbcu.mobile) as createBy,
         if(t.createSource = 1,cu.name,cbcu.mobile) as createBy,
-        au.name as auditBy,t.auditTime,t.invalidReason
+        au.name as auditBy,t.auditTime,t.invalidReason,t.checkFlag
         from cm_brand_product_type t
         from cm_brand_product_type t
         left join cm_brand_auth_user cu on t.createBy = cu.authUserId
         left join cm_brand_auth_user cu on t.createBy = cu.authUserId
         left join cm_brand_auth_user au on t.auditBy = au.authUserId
         left join cm_brand_auth_user au on t.auditBy = au.authUserId
@@ -464,6 +468,7 @@
     </select>
     </select>
     <select id="getProductInfo" resultType="com.caimei.model.vo.ProductFormVo">
     <select id="getProductInfo" resultType="com.caimei.model.vo.ProductFormVo">
         select p.id as productId, p.productTypeId, p.snCode, if(p.productTypeId is null,p.name,t.name) as productName,
         select p.id as productId, p.productTypeId, p.snCode, if(p.productTypeId is null,p.name,t.name) as productName,
+        if(p.productTypeId is null ,p.image, t.image) as productImage, t.infoId,
         certificateImageType,certificateImage,purchaseWay,invoiceImage,p.auditStatus
         certificateImageType,certificateImage,purchaseWay,invoiceImage,p.auditStatus
         from cm_brand_auth_product p
         from cm_brand_auth_product p
         left join cm_brand_product_type t on p.productTypeId = t.id and t.delFlag = 0
         left join cm_brand_product_type t on p.productTypeId = t.id and t.delFlag = 0

+ 9 - 5
src/main/resources/mapper/ShopMapper.xml

@@ -2,9 +2,9 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.caimei.mapper.cmMapper.ShopMapper">
 <mapper namespace="com.caimei.mapper.cmMapper.ShopMapper">
     <insert id="insertShop"  keyColumn="authUserId" keyProperty="authUserId" useGeneratedKeys="true" parameterType="com.caimei.model.po.UserPo">
     <insert id="insertShop"  keyColumn="authUserId" keyProperty="authUserId" useGeneratedKeys="true" parameterType="com.caimei.model.po.UserPo">
-        insert into cm_brand_auth_user (`name`, cmShopId, `mobile`, `password`, `linkMan`, `userIdentity`, `shopType`, `logo`, `qrCodeImage`, `wxAccountType`, `appId`, `appSecret`, `createTime`,
+        insert into cm_brand_auth_user (`name`, cmShopId, prefix, `mobile`, `password`, `linkMan`, `userIdentity`, `shopType`, `logo`, `qrCodeImage`, `wxAccountType`, `appId`, `appSecret`, `createTime`,
                                         `createBy`,`status`)
                                         `createBy`,`status`)
-        values (#{name}, #{cmShopId}, #{mobile}, #{password}, #{linkMan}, #{userIdentity}, #{shopType}, #{logo}, #{qrCodeImage}, #{wxAccountType}, #{appId}, #{appSecret}, #{createTime}, #{createBy}, #{status});
+        values (#{name}, #{cmShopId}, #{prefix}, #{mobile}, #{password}, #{linkMan}, #{userIdentity}, #{shopType}, #{logo}, #{qrCodeImage}, #{wxAccountType}, #{appId}, #{appSecret}, #{createTime}, #{createBy}, #{status});
     </insert>
     </insert>
     <insert id="insertShopInfo">
     <insert id="insertShopInfo">
         insert into cm_brand_auth_shop_info (authUserId, brandName, brandLogo, producePlace, manufacturer)
         insert into cm_brand_auth_shop_info (authUserId, brandName, brandLogo, producePlace, manufacturer)
@@ -19,6 +19,7 @@
         update cm_brand_auth_user
         update cm_brand_auth_user
         set cmShopId        = #{cmShopId},
         set cmShopId        = #{cmShopId},
             name            = #{name},
             name            = #{name},
+            prefix          = #{prefix},
             shopType        = #{shopType},
             shopType        = #{shopType},
             `mobile`        = #{mobile},
             `mobile`        = #{mobile},
             `linkMan`       = #{linkMan},
             `linkMan`       = #{linkMan},
@@ -69,7 +70,7 @@
         delete from cm_brand_auth_shop_info where id = #{infoId}
         delete from cm_brand_auth_shop_info where id = #{infoId}
     </delete>
     </delete>
     <select id="getShopList" resultType="com.caimei.model.vo.ShopListVo">
     <select id="getShopList" resultType="com.caimei.model.vo.ShopListVo">
-        select u.authUserId,u.name,u.loginAccount,u.shopType,group_concat(s.brandName) as brandName,group_concat(s.id) as infoId,
+        select u.authUserId,u.name,u.loginAccount,u.prefix, u.shopType,group_concat(s.brandName) as brandName,group_concat(s.id) as infoId,
         u.mobile,u.linkMan,u.status as shopStatus,u.createTime,
         u.mobile,u.linkMan,u.status as shopStatus,u.createTime,
         (select au.name from cm_brand_auth_user au where au.authUserId = u.createBy) as createBy,
         (select au.name from cm_brand_auth_user au where au.authUserId = u.createBy) as createBy,
         (ifnull(aw.authWaitNum,0)+ifnull(pw.productWaitNum,0)) as waitAuditNum,
         (ifnull(aw.authWaitNum,0)+ifnull(pw.productWaitNum,0)) as waitAuditNum,
@@ -179,7 +180,7 @@
         select count(*) from cm_brand_auth_file where md5Hex = #{md5Hex}
         select count(*) from cm_brand_auth_file where md5Hex = #{md5Hex}
     </select>
     </select>
     <select id="getShopByUserId" resultType="com.caimei.model.vo.ShopFormVo">
     <select id="getShopByUserId" resultType="com.caimei.model.vo.ShopFormVo">
-        select u.authUserId, u.cmShopId, u.name as shopName, u.loginAccount, u.mobile, u.linkMan, u.status as shopStatus, u.shopType,
+        select u.authUserId, u.cmShopId, u.name as shopName, u.loginAccount, u.prefix, u.mobile, u.linkMan, u.status as shopStatus, u.shopType,
                u.wxAccountType, u.logo, u.qrCodeImage, u.appId, u.appSecret,
                u.wxAccountType, u.logo, u.qrCodeImage, u.appId, u.appSecret,
                if(avu.id is null, 3, (if(NOW() <![CDATA[<]]> avu.endTime, 1, 0))) as vipStatus
                if(avu.id is null, 3, (if(NOW() <![CDATA[<]]> avu.endTime, 1, 0))) as vipStatus
         from cm_brand_auth_user u
         from cm_brand_auth_user u
@@ -282,7 +283,7 @@
         where i.authUserId = #{authUserId}
         where i.authUserId = #{authUserId}
     </select>
     </select>
     <select id="getWxShopInfo" resultType="com.caimei.model.vo.WxShopVo">
     <select id="getWxShopInfo" resultType="com.caimei.model.vo.WxShopVo">
-        select au.authUserId, au.appId, au.name as shopName, au.logo as logo
+        select au.authUserId, au.appId, au.name as shopName, au.logo as logo, au.prefix
         from cm_brand_auth_user au
         from cm_brand_auth_user au
         where au.authUserId = #{authUserId}
         where au.authUserId = #{authUserId}
         and au.status = 1
         and au.status = 1
@@ -299,5 +300,8 @@
         from shop
         from shop
         where shopType in (1, 2) and status = 90
         where shopType in (1, 2) and status = 90
     </select>
     </select>
+    <select id="getUserIdByPrefix" resultType="java.lang.Integer">
+        select authUserId from cm_brand_auth_user where prefix = #{prefix} and userIdentity = 2 limit 1
+    </select>
 
 
 </mapper>
 </mapper>

+ 21 - 9
src/main/resources/mapper/SystemMapper.xml

@@ -73,7 +73,7 @@
             and role_type = 1
             and role_type = 1
         </if>
         </if>
         <if test="authUserId != null">
         <if test="authUserId != null">
-            and role_type = 2 and authUserId = #{authUserId}
+            and role_type = 3 and authUserId = #{authUserId}
         </if>
         </if>
     </select>
     </select>
     <select id="getRole" resultType="com.caimei.model.po.SysRole">
     <select id="getRole" resultType="com.caimei.model.po.SysRole">
@@ -83,10 +83,16 @@
     <select id="getRoleByRoleName" resultType="com.caimei.model.po.SysRole">
     <select id="getRoleByRoleName" resultType="com.caimei.model.po.SysRole">
         SELECT  r.id, r.role_name AS roleName, r.role_desc AS roleDesc, r.create_time AS createTime, r.update_time AS updateTime, del_flag AS delFlag
         SELECT  r.id, r.role_name AS roleName, r.role_desc AS roleDesc, r.create_time AS createTime, r.update_time AS updateTime, del_flag AS delFlag
         FROM auth_role r WHERE r.role_name = #{roleName}
         FROM auth_role r WHERE r.role_name = #{roleName}
+        <if test="authUserId != null">
+            and authUserId = #{authUserId}
+        </if>
+        <if test="authUserId == null">
+            and authUserId is null
+        </if>
     </select>
     </select>
     <insert id="insertRole" keyProperty="id" keyColumn="id" useGeneratedKeys="true">
     <insert id="insertRole" keyProperty="id" keyColumn="id" useGeneratedKeys="true">
-        INSERT INTO auth_role(role_name, role_desc, role_type, create_time)
-        VALUES (#{roleName}, #{roleDesc}, #{roleType}, NOW())
+        INSERT INTO auth_role(authUserId, role_name, role_desc, role_type, create_time)
+        VALUES (#{authUserId}, #{roleName}, #{roleDesc}, #{roleType}, NOW())
     </insert>
     </insert>
     <select id="getMenuIdsByRoleId" resultType="java.lang.Integer">
     <select id="getMenuIdsByRoleId" resultType="java.lang.Integer">
         SELECT DISTINCT menu_id FROM auth_role_menu arm left join auth_menu m on arm.menu_id = m.id WHERE role_id = #{roleId} and m.id is not null
         SELECT DISTINCT menu_id FROM auth_role_menu arm left join auth_menu m on arm.menu_id = m.id WHERE role_id = #{roleId} and m.id is not null
@@ -235,11 +241,11 @@
         limit 1
         limit 1
     </select>
     </select>
     <select id="getUserList" resultType="com.caimei.model.po.SysUser">
     <select id="getUserList" resultType="com.caimei.model.po.SysUser">
-        SELECT u.authUserId as id, u.userIdentity, u.parentId, u.name as username, u.linkMan, u.mobile, u.createTime, u.status,u.createBy
+        SELECT u.authUserId as id, u.userIdentity, u.parentId, u.name as username, u.loginAccount, u.linkMan, u.mobile, u.createTime, u.status,u.createBy
         FROM cm_brand_auth_user u
         FROM cm_brand_auth_user u
         <where>
         <where>
             <if test="authUserId != null">
             <if test="authUserId != null">
-                and u.authUserId = #{authUserId}
+                and u.parentId = #{authUserId}
             </if>
             </if>
             <if test="authUserId == null">
             <if test="authUserId == null">
                 and u.userIdentity = 1
                 and u.userIdentity = 1
@@ -267,12 +273,12 @@
         select role_id from auth_role_user where user_id = #{authUserId}
         select role_id from auth_role_user where user_id = #{authUserId}
     </select>
     </select>
     <select id="getUser" resultType="com.caimei.model.po.SysUser">
     <select id="getUser" resultType="com.caimei.model.po.SysUser">
-        select authUserId as id, userIdentity, parentId, name as username, mobile, linkMan, password,status
+        select authUserId as id, userIdentity, parentId, name as username, loginAccount, mobile, linkMan, password,status
         from cm_brand_auth_user
         from cm_brand_auth_user
         where authUserId = #{id}
         where authUserId = #{id}
     </select>
     </select>
     <select id="findByUsername" resultType="com.caimei.model.po.SysUser">
     <select id="findByUsername" resultType="com.caimei.model.po.SysUser">
-        select authUserId as id from cm_brand_auth_user where name = #{username} and userIdentity = #{userIdentity}
+        select authUserId as id from cm_brand_auth_user where name = #{username} and userIdentity = 1
     </select>
     </select>
     <select id="getMenuParentId" resultType="java.lang.Integer">
     <select id="getMenuParentId" resultType="java.lang.Integer">
         select parent_id from auth_menu where id = #{id}
         select parent_id from auth_menu where id = #{id}
@@ -311,6 +317,12 @@
           and r.id is not null
           and r.id is not null
         limit 1
         limit 1
     </select>
     </select>
+    <select id="findByMobile" resultType="com.caimei.model.po.SysUser">
+        select authUserId as id from cm_brand_auth_user where mobile = #{mobile}
+    </select>
+    <select id="findByLoginAccount" resultType="com.caimei.model.po.SysUser">
+        select authUserId as id from cm_brand_auth_user where loginAccount = #{loginAccount}
+    </select>
     <update id="updatePermission">
     <update id="updatePermission">
         UPDATE auth_permission SET name=#{name}, title=#{title}, menu_id = #{menuId}
         UPDATE auth_permission SET name=#{name}, title=#{title}, menu_id = #{menuId}
         WHERE id = #{id}
         WHERE id = #{id}
@@ -360,8 +372,8 @@
         VALUES (#{title}, #{name}, #{menuId})
         VALUES (#{title}, #{name}, #{menuId})
     </insert>
     </insert>
     <insert id="insertUser" keyProperty="id" keyColumn="id" useGeneratedKeys="true" parameterType="com.caimei.model.po.SysUser">
     <insert id="insertUser" keyProperty="id" keyColumn="id" useGeneratedKeys="true" parameterType="com.caimei.model.po.SysUser">
-        insert into cm_brand_auth_user (name, mobile, password, linkMan, userIdentity, createTime, createBy,
+        insert into cm_brand_auth_user (parentId, name, loginAccount, mobile, password, linkMan, userIdentity, createTime, createBy,
                                         status)
                                         status)
-        values (#{username}, #{mobile}, #{password}, #{linkMan}, #{userIdentity}, NOW(), #{createBy}, 1)
+        values (#{parentId}, #{username}, #{loginAccount}, #{mobile}, #{password}, #{linkMan}, #{userIdentity}, NOW(), #{createBy}, 1)
     </insert>
     </insert>
 </mapper>
 </mapper>

+ 17 - 14
src/main/resources/mapper/UserMapper.xml

@@ -11,20 +11,22 @@
         from cm_brand_auth_user
         from cm_brand_auth_user
         where name = #{name}
         where name = #{name}
           and status = 1
           and status = 1
+          and userIdentity = 1
         limit 1
         limit 1
     </select>
     </select>
     <select id="getShopUserByMobile" resultType="com.caimei.model.vo.UserLoginVo">
     <select id="getShopUserByMobile" resultType="com.caimei.model.vo.UserLoginVo">
         select u.authUserId,
         select u.authUserId,
                u.name,
                u.name,
                u.loginAccount,
                u.loginAccount,
-               password,
-               userIdentity,
-               u.status as shopStatus,
-               shopType,
-               u.mobile,
-               null as infoId
+               if(prt.authUserId is not null,prt.prefix,u.prefix) as prefix,
+               u.password,
+               u.userIdentity,
+               if(prt.authUserId is not null,prt.status,u.status) as shopStatus,
+               if(prt.authUserId is not null,prt.shopType,u.shopType) as shopType,
+               u.mobile
         from cm_brand_auth_user u
         from cm_brand_auth_user u
-        where mobile = #{mobile} and u.status = 1
+                 left join cm_brand_auth_user prt on u.parentId = prt.authUserId
+        where u.mobile = #{mobile} and u.status = 1
         limit 1;
         limit 1;
     </select>
     </select>
     <select id="getPasswordByUserId" resultType="java.lang.String">
     <select id="getPasswordByUserId" resultType="java.lang.String">
@@ -36,14 +38,15 @@
         select u.authUserId,
         select u.authUserId,
                u.name,
                u.name,
                u.loginAccount,
                u.loginAccount,
-               password,
-               userIdentity,
-               u.status as shopStatus,
-               shopType,
-               u.mobile,
-               null as infoId
+               if(prt.authUserId is not null,prt.prefix,u.prefix) as prefix,
+               u.password,
+               u.userIdentity,
+               if(prt.authUserId is not null,prt.status,u.status) as shopStatus,
+               if(prt.authUserId is not null,prt.shopType,u.shopType) as shopType,
+               u.mobile
         from cm_brand_auth_user u
         from cm_brand_auth_user u
-        where loginAccount = #{account} and u.status = 1
+        left join cm_brand_auth_user prt on u.parentId = prt.authUserId
+        where u.loginAccount = #{account} and u.status = 1
         limit 1;
         limit 1;
     </select>
     </select>
 </mapper>
 </mapper>