Browse Source

测试环境

lyhzzz 2 years ago
parent
commit
d3a4c6621b
60 changed files with 1173 additions and 56 deletions
  1. 13 0
      README.md
  2. 25 0
      src/main/java/com/cdf/common/HKLanguage.java
  3. 2 0
      src/main/java/com/cdf/common/ResultCode.java
  4. 21 0
      src/main/java/com/cdf/controller/TotalDataHkController.java
  5. 8 2
      src/main/java/com/cdf/controller/api/PageDataApiController.java
  6. 38 0
      src/main/java/com/cdf/controller/api/RegionController.java
  7. 13 1
      src/main/java/com/cdf/controller/api/ShopApiController.java
  8. 3 1
      src/main/java/com/cdf/controller/api/VideoApiController.java
  9. 35 0
      src/main/java/com/cdf/controller/back/HkProductController.java
  10. 1 0
      src/main/java/com/cdf/controller/back/ShopBackController.java
  11. 5 2
      src/main/java/com/cdf/controller/back/SysDeptController.java
  12. 2 1
      src/main/java/com/cdf/controller/back/SysLogController.java
  13. 16 1
      src/main/java/com/cdf/controller/back/SysUserController.java
  14. 67 0
      src/main/java/com/cdf/controller/back/TestController.java
  15. 23 1
      src/main/java/com/cdf/controller/back/VideoBackController.java
  16. 17 2
      src/main/java/com/cdf/controller/service/FdkkSceneController.java
  17. 6 3
      src/main/java/com/cdf/controller/service/FdkkSceneEditController.java
  18. 4 0
      src/main/java/com/cdf/entity/FdkkUser.java
  19. 62 0
      src/main/java/com/cdf/entity/NumRegion.java
  20. 2 0
      src/main/java/com/cdf/entity/PageData.java
  21. 109 0
      src/main/java/com/cdf/entity/ProductHk.java
  22. 0 1
      src/main/java/com/cdf/entity/TotalData.java
  23. 73 0
      src/main/java/com/cdf/entity/TotalDataHk.java
  24. 3 0
      src/main/java/com/cdf/entity/Video.java
  25. 1 1
      src/main/java/com/cdf/generate/AutoGenerate.java
  26. 7 0
      src/main/java/com/cdf/httpClient/client/FdkkClient.java
  27. 1 1
      src/main/java/com/cdf/httpClient/client/FdkkLoginAddressSource.java
  28. 1 1
      src/main/java/com/cdf/httpClient/client/FdkkSceneAddressSource.java
  29. 2 0
      src/main/java/com/cdf/httpClient/request/FdkkSceneListRequest.java
  30. 11 0
      src/main/java/com/cdf/httpClient/response/LaserSceneVo.java
  31. 1 0
      src/main/java/com/cdf/httpClient/response/cdf/CdfProduct.java
  32. 12 0
      src/main/java/com/cdf/httpClient/response/cdf/CdfProductListRequest.java
  33. 18 0
      src/main/java/com/cdf/mapper/INumRegionMapper.java
  34. 18 0
      src/main/java/com/cdf/mapper/IProductHkMapper.java
  35. 18 0
      src/main/java/com/cdf/mapper/ITotalDataHkMapper.java
  36. 5 0
      src/main/java/com/cdf/request/LogRequest.java
  37. 2 0
      src/main/java/com/cdf/request/ShopRequest.java
  38. 4 0
      src/main/java/com/cdf/request/UserRequest.java
  39. 8 0
      src/main/java/com/cdf/request/VideoParam.java
  40. 36 13
      src/main/java/com/cdf/schedule/ScheduleTask.java
  41. 6 0
      src/main/java/com/cdf/service/IDeptService.java
  42. 3 0
      src/main/java/com/cdf/service/IFdkkUserService.java
  43. 16 0
      src/main/java/com/cdf/service/INumRegionService.java
  44. 26 0
      src/main/java/com/cdf/service/IProductHkService.java
  45. 16 0
      src/main/java/com/cdf/service/ITotalDataHkService.java
  46. 32 0
      src/main/java/com/cdf/service/impl/DeptServiceImpl.java
  47. 64 13
      src/main/java/com/cdf/service/impl/FdkkSceneEditService.java
  48. 60 0
      src/main/java/com/cdf/service/impl/FdkkUserServiceImpl.java
  49. 20 0
      src/main/java/com/cdf/service/impl/NumRegionServiceImpl.java
  50. 101 0
      src/main/java/com/cdf/service/impl/ProductHkServiceImpl.java
  51. 13 3
      src/main/java/com/cdf/service/impl/ShopServiceImpl.java
  52. 20 0
      src/main/java/com/cdf/service/impl/TotalDataHkServiceImpl.java
  53. 12 0
      src/main/java/com/cdf/service/impl/UserServiceImpl.java
  54. 12 9
      src/main/resources/application-local.yaml
  55. 58 0
      src/main/resources/application-test.yaml
  56. 3 0
      src/main/resources/mapper/LogMapper.xml
  57. 5 0
      src/main/resources/mapper/NumRegionMapper.xml
  58. 5 0
      src/main/resources/mapper/ProductHkMapper.xml
  59. 5 0
      src/main/resources/mapper/TotalDataHkMapper.xml
  60. 3 0
      src/main/resources/mapper/UserMapper.xml

+ 13 - 0
README.md

@@ -16,4 +16,17 @@
 ~~~~
 ~~~~
 1,操作日志,操作记录完善
 1,操作日志,操作记录完善
 2,批量查询日统计
 2,批量查询日统计
+~~~~
+
+###**v2.0.1** 
+~~~~
+1.h5获取店铺列表根据分类Id    /api/getShopByCategory
+    添加参数deptId  不传默认澳门  
+2.添加接口 根据场景码获取组织和区域信息 /api/getDeptIdByNum
+3.h5获取开场视频  /api/getVideo
+    添加参数 deptId
+4.添加香港商品列表接口 /back/product/HKList
+5页面统计 /api/point
+    添加参数 deptId
+
 ~~~~
 ~~~~

+ 25 - 0
src/main/java/com/cdf/common/HKLanguage.java

@@ -0,0 +1,25 @@
+package com.cdf.common;
+
+
+public enum HKLanguage {
+    ESHOP_EN("eshop_en", "英文"),
+    ESHOP_ZH("eshop_zh", "中文繁体"),
+    ESHOP_CN("eshop_cn", "中文简体");
+
+    private String code;
+    private String message;
+
+    private HKLanguage(String code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public String code() {
+        return code;
+    }
+
+    public String message() {
+        return message;
+    }
+
+}

+ 2 - 0
src/main/java/com/cdf/common/ResultCode.java

@@ -10,6 +10,8 @@ public enum ResultCode {
     PHONE_EXIST(2004,"手机号码已注册!"),
     PHONE_EXIST(2004,"手机号码已注册!"),
     OTHER_LOGIN(2005,"登录信息失效请重新登录!"),
     OTHER_LOGIN(2005,"登录信息失效请重新登录!"),
     PASSWORD_ERROR(2006,"账号或密码错误!"),
     PASSWORD_ERROR(2006,"账号或密码错误!"),
+    FD_NUM_ERROR(2007,"获取四维场景失败!"),
+    FD_USER_ERROR(2008,"场景不在设定账号中!"),
 
 
     NOT_RECORD(4001,"没有记录"),
     NOT_RECORD(4001,"没有记录"),
     PARAM_MISS(40002,"参数缺失!"),
     PARAM_MISS(40002,"参数缺失!"),

+ 21 - 0
src/main/java/com/cdf/controller/TotalDataHkController.java

@@ -0,0 +1,21 @@
+package com.cdf.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-08
+ */
+@RestController
+@RequestMapping("/totalDataHk")
+public class TotalDataHkController {
+
+}
+

+ 8 - 2
src/main/java/com/cdf/controller/api/PageDataApiController.java

@@ -49,6 +49,7 @@ public class PageDataApiController {
                                   @RequestParam(required = false) String whereUrl,
                                   @RequestParam(required = false) String whereUrl,
                                   @RequestParam(required = false) Integer type,
                                   @RequestParam(required = false) Integer type,
                                   @RequestParam(required = false) String productId,
                                   @RequestParam(required = false) String productId,
+                                  @RequestParam(required = false,defaultValue = "22") Integer deptId,
                                   HttpServletRequest request) throws Exception {
                                   HttpServletRequest request) throws Exception {
 
 
         LambdaQueryWrapper<PageData> wrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<PageData> wrapper = new LambdaQueryWrapper<>();
@@ -59,6 +60,7 @@ public class PageDataApiController {
         PageData pageData;
         PageData pageData;
         if(list.size() <=0){
         if(list.size() <=0){
             pageData = new PageData();
             pageData = new PageData();
+            pageData.setDeptId(deptId);
             pageData.setCdfUserId(userId);
             pageData.setCdfUserId(userId);
             pageData.setCdfToken(AccessToken);
             pageData.setCdfToken(AccessToken);
             pageData.setCdfCookieId(cookieId);
             pageData.setCdfCookieId(cookieId);
@@ -85,7 +87,9 @@ public class PageDataApiController {
                 pageData.setIsClickGame(1);
                 pageData.setIsClickGame(1);
                 break;
                 break;
             case 3:     //用户点击商品详情
             case 3:     //用户点击商品详情
-                sendCdf(productId,cookieId,AccessToken,userId);
+                if(deptId == 22){
+                    sendCdf(productId,cookieId,AccessToken,userId);
+                }
                 pageData.setIsClickShop(1);
                 pageData.setIsClickShop(1);
                 break;
                 break;
             case 4:     //用户点击场景点位
             case 4:     //用户点击场景点位
@@ -96,7 +100,9 @@ public class PageDataApiController {
                 break;
                 break;
             case 6:     //用户点击收藏
             case 6:     //用户点击收藏
             case 7:     //加入购物车
             case 7:     //加入购物车
-                sendCdf(productId,cookieId,AccessToken,userId);
+                if(deptId == 22){
+                    sendCdf(productId,cookieId,AccessToken,userId);
+                }
                 return ResultData.ok();
                 return ResultData.ok();
         }
         }
         pageData.setUpdateTime(null);
         pageData.setUpdateTime(null);

+ 38 - 0
src/main/java/com/cdf/controller/api/RegionController.java

@@ -0,0 +1,38 @@
+package com.cdf.controller.api;
+
+import com.cdf.common.ResultCode;
+import com.cdf.common.ResultData;
+import com.cdf.controller.back.BaseLogController;
+import com.cdf.entity.NumRegion;
+import com.cdf.exception.BusinessException;
+import com.cdf.interceptor.BackUserInterceptor;
+import com.cdf.service.IFdkkUserService;
+import com.cdf.service.INumRegionService;
+import com.cdf.service.ITencentYunService;
+import com.fdkankan.redis.util.RedisUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+
+@RestController
+@RequestMapping("/api")
+public class RegionController extends BaseLogController {
+
+    @Autowired
+    IFdkkUserService fdkkUserService;
+    @Autowired
+    INumRegionService numRegionService;
+    @Autowired
+    RedisUtil redisUtil;
+
+    @GetMapping("/getDeptIdByNum")
+    public ResultData getDeptId(@RequestParam(required = false) String num){
+
+        return ResultData.ok(fdkkUserService.getRegionByNum(num));
+
+    }
+}

+ 13 - 1
src/main/java/com/cdf/controller/api/ShopApiController.java

@@ -2,8 +2,10 @@ package com.cdf.controller.api;
 
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.cdf.common.ResultData;
 import com.cdf.common.ResultData;
+import com.cdf.entity.Dept;
 import com.cdf.entity.Shop;
 import com.cdf.entity.Shop;
 import com.cdf.entity.Video;
 import com.cdf.entity.Video;
+import com.cdf.service.IDeptService;
 import com.cdf.service.IShopCategoryService;
 import com.cdf.service.IShopCategoryService;
 import com.cdf.service.IShopService;
 import com.cdf.service.IShopService;
 import com.cdf.service.IVideoService;
 import com.cdf.service.IVideoService;
@@ -15,6 +17,8 @@ import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import java.util.List;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 
 @RestController
 @RestController
 @RequestMapping("/api")
 @RequestMapping("/api")
@@ -24,6 +28,8 @@ public class ShopApiController {
     private IShopCategoryService shopCategoryService;
     private IShopCategoryService shopCategoryService;
     @Autowired
     @Autowired
     private IShopService shopService;
     private IShopService shopService;
+    @Autowired
+    private IDeptService deptService;
 
 
     @GetMapping("/getShopCategory")
     @GetMapping("/getShopCategory")
     public ResultData getShopCategory(){
     public ResultData getShopCategory(){
@@ -32,11 +38,17 @@ public class ShopApiController {
 
 
     @GetMapping("/getShopByCategory")
     @GetMapping("/getShopByCategory")
     public ResultData getShopByCategory(@RequestParam(required = false) Integer categoryId,
     public ResultData getShopByCategory(@RequestParam(required = false) Integer categoryId,
-                                        @RequestParam(required = false) String shopName){
+                                        @RequestParam(required = false) String shopName,
+                                        @RequestParam(required = false,defaultValue = "22") Integer deptId){
         LambdaQueryWrapper<Shop> wrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<Shop> wrapper = new LambdaQueryWrapper<>();
         if(categoryId != null){
         if(categoryId != null){
             wrapper.eq(Shop::getCategoryId,categoryId);
             wrapper.eq(Shop::getCategoryId,categoryId);
         }
         }
+        if(deptId!=null){
+            List<Dept> depts = deptService.getDeptSonList(deptId);
+            Set<Integer> deptIds = depts.stream().map(Dept::getId).collect(Collectors.toSet());
+            wrapper.in(Shop::getDeptId,deptIds);
+        }
         if(StringUtils.isNotBlank(shopName)){
         if(StringUtils.isNotBlank(shopName)){
             wrapper.like(Shop::getShopName,shopName);
             wrapper.like(Shop::getShopName,shopName);
         }
         }

+ 3 - 1
src/main/java/com/cdf/controller/api/VideoApiController.java

@@ -7,6 +7,7 @@ import com.cdf.service.IVideoService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestParam;
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
 import java.util.List;
 import java.util.List;
@@ -19,9 +20,10 @@ public class VideoApiController {
     private IVideoService videoService;
     private IVideoService videoService;
 
 
     @GetMapping("/getVideo")
     @GetMapping("/getVideo")
-    public ResultData getVideo(){
+    public ResultData getVideo(@RequestParam(required = false,defaultValue = "22") Integer deptId){
         LambdaQueryWrapper<Video> wrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<Video> wrapper = new LambdaQueryWrapper<>();
         wrapper.eq(Video::getShowStatus,1);
         wrapper.eq(Video::getShowStatus,1);
+        wrapper.eq(Video::getDeptId,deptId);
         wrapper.orderByDesc(Video::getCreateTime);
         wrapper.orderByDesc(Video::getCreateTime);
         List<Video> list = videoService.list(wrapper);
         List<Video> list = videoService.list(wrapper);
         if(list.size()<=0){
         if(list.size()<=0){

+ 35 - 0
src/main/java/com/cdf/controller/back/HkProductController.java

@@ -0,0 +1,35 @@
+package com.cdf.controller.back;
+
+import com.alibaba.fastjson.JSONArray;
+import com.cdf.common.PageInfo;
+import com.cdf.common.ResultData;
+import com.cdf.exception.BusinessException;
+import com.cdf.httpClient.client.CdfClient;
+import com.cdf.httpClient.response.cdf.*;
+import com.cdf.service.IProductHkService;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+
+@RestController
+@RequestMapping("/back/product")
+public class HkProductController {
+
+    @Resource
+    IProductHkService productHkService;
+
+    @RequestMapping("/HKList")
+    public ResultData getProductList(@RequestBody CdfProductListRequest param){
+        if(StringUtils.isNotBlank(param.getKeyword()) && param.getKeyword().contains(",")){
+            List<String> strings = Arrays.asList(param.getKeyword().split(","));
+            param.setProductIds(strings);
+        }
+        return ResultData.ok(productHkService.pageList(param));
+    }
+}

+ 1 - 0
src/main/java/com/cdf/controller/back/ShopBackController.java

@@ -64,6 +64,7 @@ public class ShopBackController extends BaseLogController{
     @PostMapping("/list")
     @PostMapping("/list")
     @SysLog(logType = "店铺管理",value = "查看店铺列表")
     @SysLog(logType = "店铺管理",value = "查看店铺列表")
     public ResultData list(@RequestBody ShopRequest param){
     public ResultData list(@RequestBody ShopRequest param){
+        param.setToken(getToken());
         PageInfo pageInfo = shopService.pageList(param);
         PageInfo pageInfo = shopService.pageList(param);
         return ResultData.ok(pageInfo);
         return ResultData.ok(pageInfo);
     }
     }

+ 5 - 2
src/main/java/com/cdf/controller/back/SysDeptController.java

@@ -17,6 +17,7 @@ import com.cdf.service.IDeptService;
 import com.cdf.service.ILogService;
 import com.cdf.service.ILogService;
 import com.cdf.service.IShopService;
 import com.cdf.service.IShopService;
 import com.cdf.service.IUserService;
 import com.cdf.service.IUserService;
+import com.cdf.util.JwtUtil;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -66,7 +67,7 @@ public class SysDeptController extends BaseLogController{
         if(dept == null ){
         if(dept == null ){
             throw new BusinessException(ResultCode.NOT_RECORD);
             throw new BusinessException(ResultCode.NOT_RECORD);
         }
         }
-        if(dept.getParentId() ==null){
+        if(dept.getParentId() ==null || dept.getId() ==22 || dept.getId() == 33){
             throw new BusinessException(ResultCode.NOT_DELETE_PARENT_DEPT);
             throw new BusinessException(ResultCode.NOT_DELETE_PARENT_DEPT);
         }
         }
         LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
@@ -93,7 +94,9 @@ public class SysDeptController extends BaseLogController{
     @PostMapping("/allList")
     @PostMapping("/allList")
     @SysLog(logType = "组织架构",value = "查看组织架构")
     @SysLog(logType = "组织架构",value = "查看组织架构")
     public ResultData list(){
     public ResultData list(){
-        return ResultData.ok(deptService.getDeptList(null));
+        Integer id = JwtUtil.getId(getToken());
+        User user = userService.getById(id);
+        return ResultData.ok(deptService.getDeptList(user.getDeptId()));
     }
     }
 
 
 
 

+ 2 - 1
src/main/java/com/cdf/controller/back/SysLogController.java

@@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 
 @RestController
 @RestController
 @RequestMapping("/back/log")
 @RequestMapping("/back/log")
-public class SysLogController {
+public class SysLogController extends BaseLogController{
 
 
     @Autowired
     @Autowired
     private ILogService logService;
     private ILogService logService;
@@ -26,6 +26,7 @@ public class SysLogController {
     @PostMapping("/list")
     @PostMapping("/list")
     @SysLog(logType = "操作日志",value = "查看日志列表")
     @SysLog(logType = "操作日志",value = "查看日志列表")
     public ResultData list(@RequestBody LogRequest param){
     public ResultData list(@RequestBody LogRequest param){
+        param.setToken(getToken());
         PageInfo<LogVo> pageInfo = logService.getPageByParam(param);
         PageInfo<LogVo> pageInfo = logService.getPageByParam(param);
         return ResultData.ok(pageInfo);
         return ResultData.ok(pageInfo);
     }
     }

+ 16 - 1
src/main/java/com/cdf/controller/back/SysUserController.java

@@ -20,6 +20,7 @@ import com.cdf.util.JwtUtil;
 import com.cdf.util.SecurityUtil;
 import com.cdf.util.SecurityUtil;
 import jdk.nashorn.internal.parser.Token;
 import jdk.nashorn.internal.parser.Token;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
@@ -37,9 +38,21 @@ public class SysUserController extends BaseLogController {
     @Autowired
     @Autowired
     private ILogService logService;
     private ILogService logService;
 
 
+
+    @GetMapping("/getUserInfo")
+    public ResultData getUserInfo(){
+        Integer id = JwtUtil.getId(getToken());
+        User user = userService.getById(id);
+        UserVo userVo = new UserVo();
+        BeanUtils.copyProperties(user,userVo);
+        return ResultData.ok(userVo);
+    }
+
     @PostMapping("/saveOrUpdate")
     @PostMapping("/saveOrUpdate")
     @SysLog(logType = "用户管理",value = "新增或修改")
     @SysLog(logType = "用户管理",value = "新增或修改")
     public ResultData saveOrUpdate(@RequestBody User user){
     public ResultData saveOrUpdate(@RequestBody User user){
+        Integer userId = JwtUtil.getId(getToken());
+        User createUser = userService.getById(userId);
         if(StringUtils.isNotBlank(user.getPhone())){
         if(StringUtils.isNotBlank(user.getPhone())){
             LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
             LambdaQueryWrapper<User> queryWrapper = new LambdaQueryWrapper<>();
             queryWrapper.eq(User::getPhone,user.getPhone());
             queryWrapper.eq(User::getPhone,user.getPhone());
@@ -52,7 +65,8 @@ public class SysUserController extends BaseLogController {
            if(StringUtils.isBlank(user.getPhone())||StringUtils.isBlank(user.getPassword())){
            if(StringUtils.isBlank(user.getPhone())||StringUtils.isBlank(user.getPassword())){
                throw  new BusinessException(ResultCode.PARAM_MISS);
                throw  new BusinessException(ResultCode.PARAM_MISS);
            }
            }
-           user.setFdkkUserId(1);
+
+           user.setFdkkUserId(createUser.getFdkkUserId());
        }
        }
        if(StringUtils.isNotBlank(user.getPassword())){
        if(StringUtils.isNotBlank(user.getPassword())){
            String password = Base64Converter.decode(Base64Converter.subText(user.getPassword()));
            String password = Base64Converter.decode(Base64Converter.subText(user.getPassword()));
@@ -75,6 +89,7 @@ public class SysUserController extends BaseLogController {
     @PostMapping("/list")
     @PostMapping("/list")
     @SysLog(logType = "用户管理",value = "查看用户列表")
     @SysLog(logType = "用户管理",value = "查看用户列表")
     public ResultData list(@RequestBody UserRequest param){
     public ResultData list(@RequestBody UserRequest param){
+        param.setToken(getToken());
         PageInfo<UserVo> page = userService.getPageByParam(param);
         PageInfo<UserVo> page = userService.getPageByParam(param);
         return ResultData.ok(page);
         return ResultData.ok(page);
     }
     }

+ 67 - 0
src/main/java/com/cdf/controller/back/TestController.java

@@ -1,4 +1,5 @@
 package com.cdf.controller.back;
 package com.cdf.controller.back;
+import java.time.LocalDateTime;
 
 
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.EasyExcel;
 import com.alibaba.excel.ExcelWriter;
 import com.alibaba.excel.ExcelWriter;
@@ -7,6 +8,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.cdf.common.PageInfo;
 import com.cdf.common.PageInfo;
 import com.cdf.common.ResultData;
 import com.cdf.common.ResultData;
+import com.cdf.entity.ProductHk;
 import com.cdf.entity.Shop;
 import com.cdf.entity.Shop;
 import com.cdf.httpClient.client.CdfClient;
 import com.cdf.httpClient.client.CdfClient;
 import com.cdf.httpClient.client.FdkkClient;
 import com.cdf.httpClient.client.FdkkClient;
@@ -16,6 +18,7 @@ import com.cdf.httpClient.response.cdf.CdfProductListRequest;
 import com.cdf.request.ShopRequest;
 import com.cdf.request.ShopRequest;
 import com.cdf.response.ShopVo;
 import com.cdf.response.ShopVo;
 import com.cdf.schedule.ScheduleTask;
 import com.cdf.schedule.ScheduleTask;
+import com.cdf.service.IProductHkService;
 import com.cdf.service.IShopService;
 import com.cdf.service.IShopService;
 import com.cdf.util.ExcelUtil;
 import com.cdf.util.ExcelUtil;
 import com.cdf.util.ReadCmdLine;
 import com.cdf.util.ReadCmdLine;
@@ -31,6 +34,7 @@ import javax.servlet.http.HttpServletRequest;
 import javax.servlet.http.HttpServletResponse;
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
 import java.io.IOException;
 import java.net.URLEncoder;
 import java.net.URLEncoder;
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.HashMap;
 import java.util.List;
 import java.util.List;
 
 
@@ -50,6 +54,8 @@ public class TestController {
     private UploadToFdkkOssUtil uploadToFdkkOssUtil;
     private UploadToFdkkOssUtil uploadToFdkkOssUtil;
     @Resource
     @Resource
     private UploadToCdfOssUtil uploadToCdfOssUtil;
     private UploadToCdfOssUtil uploadToCdfOssUtil;
+    @Autowired
+    IProductHkService productHkService;
 
 
     @RequestMapping("/test/getProductById")
     @RequestMapping("/test/getProductById")
     public ResultData getProductById(@RequestParam(required = false) String productId){
     public ResultData getProductById(@RequestParam(required = false) String productId){
@@ -128,6 +134,67 @@ public class TestController {
         }
         }
         return ResultData.ok();
         return ResultData.ok();
     }
     }
+    @PostMapping("/uploadExcelHK")
+    public ResultData uploadExcelHK(@RequestParam(required = false) MultipartFile file) throws IOException {
+        String baseUrl = "https://hkairportshop.com/";
+        String imageBasePath = "http://glp-vr.cdfmembers.com/cdf/HK/ImageFiles";
+        List<HashMap<Integer, String>> excelRowList = ExcelUtil.getExcelRowList(file);
+        HashMap<String,ProductHk> beanMap = new HashMap<>();
+        for (HashMap<Integer, String> map : excelRowList) {
+            String sku = map.get(0);
+            if(sku.equals("sku") || StringUtils.isBlank(sku)){
+                continue;
+            }
+            String storeCode = map.get(1);
+            String attribute = map.get(2);
+            String categories = map.get(3);
+            String name = map.get(4);
+            String productOnline = map.get(5);
+            String visibility = map.get(6);
+            String urlKey = map.get(7);
+            String baseImage = map.get(8);
+
+            ProductHk productHk = beanMap.get(sku);
+            if(productHk == null){
+                productHk = new ProductHk();
+            }
+            productHk.setSku(sku);
+            if(StringUtils.isBlank(storeCode)){
+                productHk.setEshopEn(name);
+            }else if(storeCode.equals("eshop_zh")){
+                productHk.setEshopZh(name);
+            }else if(storeCode.equals("eshop_cn")){
+                productHk.setEshopCn(name);
+            }
+            productHk.setAttribute(attribute);
+            if(StringUtils.isNotBlank(categories)){
+                productHk.setCategories(categories);
+            }
+            if(StringUtils.isNotBlank(productOnline)){
+                Double aDouble = Double.valueOf(productOnline);
+                productHk.setOnline(aDouble.intValue());
+            }
+            if(StringUtils.isNotBlank(visibility)){
+                productHk.setVisibility(visibility);
+            }
+            if(StringUtils.isNotBlank(urlKey)){
+                productHk.setEnUrl(baseUrl + "eshop_en/" + urlKey+".html");
+                productHk.setZhUrl(baseUrl + "eshop_zh/" + urlKey+".html");
+                productHk.setCnUrl(baseUrl + "eshop_cn/" + urlKey+".html");
+            }
+            if(StringUtils.isNotBlank(baseImage)){
+                productHk.setImageUrl(imageBasePath+  baseImage);
+            }
+
+            beanMap.put(sku,productHk);
+        }
+        List<ProductHk> list = new ArrayList<>();
+        for (String sku : beanMap.keySet()) {
+           list.add(beanMap.get(sku));
+        }
+        productHkService.saveBatch(list);
+        return ResultData.ok();
+    }
 
 
     public void commonExport(HttpServletRequest request, HttpServletResponse response, String name, List<?> result, Class<?> clazz) throws Exception {
     public void commonExport(HttpServletRequest request, HttpServletResponse response, String name, List<?> result, Class<?> clazz) throws Exception {
         response.setContentType("application/vnd.ms-excel");
         response.setContentType("application/vnd.ms-excel");

+ 23 - 1
src/main/java/com/cdf/controller/back/VideoBackController.java

@@ -1,6 +1,7 @@
 package com.cdf.controller.back;
 package com.cdf.controller.back;
 
 
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.cdf.aop.SysLog;
 import com.cdf.aop.SysLog;
@@ -9,11 +10,16 @@ import com.cdf.common.PageInfo;
 import com.cdf.common.ResultCode;
 import com.cdf.common.ResultCode;
 import com.cdf.common.ResultData;
 import com.cdf.common.ResultData;
 import com.cdf.entity.Dept;
 import com.cdf.entity.Dept;
+import com.cdf.entity.User;
 import com.cdf.entity.Video;
 import com.cdf.entity.Video;
 import com.cdf.exception.BusinessException;
 import com.cdf.exception.BusinessException;
 import com.cdf.request.BaseRequest;
 import com.cdf.request.BaseRequest;
+import com.cdf.request.VideoParam;
+import com.cdf.service.IDeptService;
 import com.cdf.service.ILogService;
 import com.cdf.service.ILogService;
+import com.cdf.service.IUserService;
 import com.cdf.service.IVideoService;
 import com.cdf.service.IVideoService;
+import com.cdf.util.JwtUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -21,6 +27,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
 
 
 import org.springframework.web.bind.annotation.RestController;
 import org.springframework.web.bind.annotation.RestController;
 
 
+import java.util.List;
+
 
 
 @RestController
 @RestController
 @RequestMapping("/back/video")
 @RequestMapping("/back/video")
@@ -30,6 +38,10 @@ public class VideoBackController extends BaseLogController{
     private IVideoService videoService;
     private IVideoService videoService;
     @Autowired
     @Autowired
     private ILogService logService;
     private ILogService logService;
+    @Autowired
+    private IUserService userService;
+    @Autowired
+    private IDeptService deptService;
 
 
     @PostMapping("/saveOrUpdate")
     @PostMapping("/saveOrUpdate")
     public ResultData saveOrUpdate(@RequestBody Video video){
     public ResultData saveOrUpdate(@RequestBody Video video){
@@ -40,6 +52,8 @@ public class VideoBackController extends BaseLogController{
         }
         }
         String info = null;
         String info = null;
         if(video.getId()== null){
         if(video.getId()== null){
+            User user = userService.getById(JwtUtil.getId(getToken()));
+            video.setDeptId(user.getDeptId());
             info = String.format(LogInfoKey.baseInfo,"新增",video.getVideoName(),"开场视频");
             info = String.format(LogInfoKey.baseInfo,"新增",video.getVideoName(),"开场视频");
         }else {
         }else {
             info = String.format(LogInfoKey.baseInfo,"编辑",video.getVideoName(),"开场视频");
             info = String.format(LogInfoKey.baseInfo,"编辑",video.getVideoName(),"开场视频");
@@ -53,10 +67,18 @@ public class VideoBackController extends BaseLogController{
 
 
     @PostMapping("/list")
     @PostMapping("/list")
     @SysLog(logType = "开场视频",value = "查看视频列表")
     @SysLog(logType = "开场视频",value = "查看视频列表")
-    public ResultData list (@RequestBody BaseRequest param){
+    public ResultData list (@RequestBody VideoParam param){
+        LambdaQueryWrapper<Video> wrapper = new LambdaQueryWrapper<>();
+
+        User user = userService.getById(JwtUtil.getId(getToken()));
+        param.setDeptId(user.getDeptId());
+        List<Integer> deptIds = deptService.getDeptIdsSonList(param.getDeptId());
+        wrapper.in(Video::getDeptId,deptIds);
+        wrapper.orderByDesc(Video::getCreateTime);
         Page<Video> page = videoService.page(new Page<>(param.getPageNum(), param.getPageSize()));
         Page<Video> page = videoService.page(new Page<>(param.getPageNum(), param.getPageSize()));
         return ResultData.ok(PageInfo.PageInfo(page));
         return ResultData.ok(PageInfo.PageInfo(page));
     }
     }
+
     @PostMapping("/delete")
     @PostMapping("/delete")
     public ResultData delete (@RequestBody BaseRequest param){
     public ResultData delete (@RequestBody BaseRequest param){
         if(param.getId() == null){
         if(param.getId() == null){

+ 17 - 2
src/main/java/com/cdf/controller/service/FdkkSceneController.java

@@ -1,7 +1,11 @@
 package com.cdf.controller.service;
 package com.cdf.controller.service;
 
 
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
+import com.cdf.common.ResultCode;
+import com.cdf.entity.NumRegion;
+import com.cdf.exception.BusinessException;
 import com.cdf.httpClient.client.FdkkClient;
 import com.cdf.httpClient.client.FdkkClient;
+import com.cdf.service.IFdkkUserService;
 import com.cdf.service.impl.FdkkSceneEditService;
 import com.cdf.service.impl.FdkkSceneEditService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
@@ -17,16 +21,27 @@ public class FdkkSceneController {
     private FdkkClient fdkkClient;
     private FdkkClient fdkkClient;
     @Autowired
     @Autowired
     private FdkkSceneEditService fdkkSceneEditService;
     private FdkkSceneEditService fdkkSceneEditService;
+    @Autowired
+    private IFdkkUserService fdkkUserService;
 
 
     @GetMapping("/getInfo")
     @GetMapping("/getInfo")
     public JSONObject getInfo(@RequestParam(required = false) String num){
     public JSONObject getInfo(@RequestParam(required = false) String num){
         HashMap<String, String> map = new HashMap<>();
         HashMap<String, String> map = new HashMap<>();
         map.put("num",num);
         map.put("num",num);
+        NumRegion numRegion = fdkkUserService.getRegionByNum(num);
         try {
         try {
-            fdkkSceneEditService.writeHotJson(num);
+            fdkkSceneEditService.writeHotJson(num,numRegion.getRegion());
+            JSONObject info = fdkkClient.getInfo(map);
+            Integer code = info.getInteger("code");
+            if(code == 0){
+                JSONObject data = info.getJSONObject("data");
+                data.put("cdfRegionData",numRegion);
+            }
+            return info;
+
         }catch (Exception e){
         }catch (Exception e){
             e.printStackTrace();
             e.printStackTrace();
         }
         }
-        return fdkkClient.getInfo(map);
+        throw new BusinessException(ResultCode.FD_NUM_ERROR);
     }
     }
 }
 }

+ 6 - 3
src/main/java/com/cdf/controller/service/FdkkSceneEditController.java

@@ -35,6 +35,7 @@ public class FdkkSceneEditController extends BaseLogController {
     public JSONObject getAuth(@RequestParam (required = false) String num, @RequestHeader String token){
     public JSONObject getAuth(@RequestParam (required = false) String num, @RequestHeader String token){
         return  fdkkSceneEditService.getAuth(num, token);
         return  fdkkSceneEditService.getAuth(num, token);
     }
     }
+
     @PostMapping("/tag/save")
     @PostMapping("/tag/save")
     public ResultData save(@RequestBody FdkkHotRequest fdkkHotRequest, @RequestHeader String token){
     public ResultData save(@RequestBody FdkkHotRequest fdkkHotRequest, @RequestHeader String token){
         FdkkResponse fdkkResponse = fdkkSceneEditService.saveTag(fdkkHotRequest, token);
         FdkkResponse fdkkResponse = fdkkSceneEditService.saveTag(fdkkHotRequest, token);
@@ -54,8 +55,10 @@ public class FdkkSceneEditController extends BaseLogController {
     }
     }
 
 
     @PostMapping("/tag/list")
     @PostMapping("/tag/list")
-    public ResultData list (@RequestParam(required = false) String num,@RequestHeader String token){
-        return ResultData.ok(fdkkSceneEditService.getTagList(num,token));
+    public ResultData list(@RequestParam(required = false) String num,
+                           @RequestParam(required = false,defaultValue = "eshop_cn") String language,
+                            @RequestHeader String token){
+        return ResultData.ok(fdkkSceneEditService.getTagList(num,token,language));
     }
     }
 
 
     @GetMapping("/tag/getHotJson")
     @GetMapping("/tag/getHotJson")
@@ -63,7 +66,7 @@ public class FdkkSceneEditController extends BaseLogController {
         return ResultData.ok( fdkkSceneEditService.getCdfHotJson(num));
         return ResultData.ok( fdkkSceneEditService.getCdfHotJson(num));
     }
     }
 
 
-    @PostMapping("publicScene")
+    @PostMapping("/publicScene")
     public ResultData scenePublicScene(@RequestBody FdkkHotRequest fdkkHotRequest ,@RequestHeader String token) throws Exception{
     public ResultData scenePublicScene(@RequestBody FdkkHotRequest fdkkHotRequest ,@RequestHeader String token) throws Exception{
         fdkkSceneEditService.publicScene(fdkkHotRequest,token);
         fdkkSceneEditService.publicScene(fdkkHotRequest,token);
         String sceneName = fdkkSceneEditService.getSceneName(fdkkHotRequest.getNum());
         String sceneName = fdkkSceneEditService.getSceneName(fdkkHotRequest.getNum());

+ 4 - 0
src/main/java/com/cdf/entity/FdkkUser.java

@@ -47,5 +47,9 @@ public class FdkkUser implements Serializable {
     @TableField("update_time")
     @TableField("update_time")
     private String updateTime;
     private String updateTime;
 
 
+    @TableField("region")
+    private String region;
 
 
+    @TableField("dept_id")
+    private Integer deptId;
 }
 }

+ 62 - 0
src/main/java/com/cdf/entity/NumRegion.java

@@ -0,0 +1,62 @@
+package com.cdf.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-07
+ */
+@Getter
+@Setter
+@TableName("t_num_region")
+public class NumRegion implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 场景码
+     */
+    @TableId("num")
+    private String num;
+
+    /**
+     * 组织id
+     */
+    @TableField("dept_id")
+    private Integer deptId;
+
+    /**
+     * 四维账号id
+     */
+    @TableField("fd_user_id")
+    private Integer fdUserId;
+
+    /**
+     * 地区,AM  HK
+     */
+    @TableField("region")
+    private String region;
+
+    @TableField("tb_status")
+    @TableLogic
+    private Integer tbStatus;
+
+    @TableField("create_time")
+    private String createTime;
+
+    @TableField("update_time")
+    private String updateTime;
+
+
+}

+ 2 - 0
src/main/java/com/cdf/entity/PageData.java

@@ -77,5 +77,7 @@ public class PageData implements Serializable {
     @TableField("out_page_time")
     @TableField("out_page_time")
     private String outPageTime;
     private String outPageTime;
 
 
+    @TableField("dept_id")
+    private Integer deptId;
 
 
 }
 }

+ 109 - 0
src/main/java/com/cdf/entity/ProductHk.java

@@ -0,0 +1,109 @@
+package com.cdf.entity;
+
+import com.baomidou.mybatisplus.annotation.*;
+
+import java.io.Serializable;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+import org.apache.commons.lang3.StringUtils;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-10-25
+ */
+@Getter
+@Setter
+@TableName("t_product_hk")
+public class ProductHk implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 相关商品表
+     */
+    @TableId(value = "product_id", type = IdType.AUTO)
+    private Integer productId;
+
+    /**
+     * 商品sku
+     */
+    @TableField("sku")
+    private String sku;
+
+    /**
+     * 英文名称
+     */
+    @TableField("eshop_en")
+    private String eshopEn;
+
+    /**
+     * 中文繁体名称
+     */
+    @TableField("eshop_zh")
+    private String eshopZh;
+
+    /**
+     * 中文简体名称
+     */
+    @TableField("eshop_cn")
+    private String eshopCn;
+
+    /**
+     * 属性
+     */
+    @TableField("attribute")
+    private String attribute;
+
+    /**
+     * 品类
+     */
+    @TableField("categories")
+    private String categories;
+
+    /**
+     * 英文链接
+     */
+    @TableField("en_url")
+    private String enUrl;
+
+    /**
+     * 中文繁体链接
+     */
+    @TableField("zh_url")
+    private String zhUrl;
+
+    /**
+     * 中文简体链接
+     */
+    @TableField("cn_url")
+    private String cnUrl;
+
+    /**
+     * 图片链接
+     */
+    @TableField("image_url")
+    private String imageUrl;
+
+    @TableField("online")
+    private Integer online;
+
+    @TableField("visibility")
+    private String visibility;
+
+    @TableField("tb_status")
+    @TableLogic
+    private Integer tbStatus;
+
+    @TableField("create_time")
+    private String createTime;
+
+    @TableField("update_time")
+    private String updateTime;
+
+
+}

+ 0 - 1
src/main/java/com/cdf/entity/TotalData.java

@@ -67,7 +67,6 @@ public class TotalData implements Serializable {
     @TableField("update_time")
     @TableField("update_time")
     private String updateTime;
     private String updateTime;
 
 
-
     @Override
     @Override
     public String toString() {
     public String toString() {
         return "TotalData{" +
         return "TotalData{" +

+ 73 - 0
src/main/java/com/cdf/entity/TotalDataHk.java

@@ -0,0 +1,73 @@
+package com.cdf.entity;
+
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-08
+ */
+@Getter
+@Setter
+@TableName("t_total_data_hk")
+public class TotalDataHk implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId("id")
+    private String id;
+
+    /**
+     * 平均停留时间 /秒
+     */
+    @TableField("avg_stop_time")
+    private Long avgStopTime;
+
+    /**
+     * 跳出率
+     */
+    @TableField("avg_jump")
+    private BigDecimal avgJump;
+
+    /**
+     * 寻宝游戏点击率
+     */
+    @TableField("avg_click_game")
+    private BigDecimal avgClickGame;
+
+    /**
+     * 商品详情点击率
+     */
+    @TableField("avg_click_shop")
+    private BigDecimal avgClickShop;
+
+    /**
+     * 平均步数
+     */
+    @TableField("avg_step_num")
+    private Long avgStepNum;
+
+    /**
+     * 视频点击次数
+     */
+    @TableField("video_num")
+    private Long videoNum;
+
+    @TableField("create_time")
+    private String createTime;
+
+    @TableField("update_time")
+    private String updateTime;
+
+
+}

+ 3 - 0
src/main/java/com/cdf/entity/Video.java

@@ -56,5 +56,8 @@ public class Video implements Serializable {
     @TableField("update_time")
     @TableField("update_time")
     private String updateTime;
     private String updateTime;
 
 
+    @TableField("dept_id")
+    private Integer deptId;
+
 
 
 }
 }

+ 1 - 1
src/main/java/com/cdf/generate/AutoGenerate.java

@@ -20,7 +20,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") ;
         String path =System.getProperty("user.dir") ;
 
 
         generate(path,"", getTables(new String[]{
         generate(path,"", getTables(new String[]{
-                "t_tencent_yun"
+                "t_total_data_hk"
         }));
         }));
 
 
 //        generate(path,"goods", getTables(new String[]{
 //        generate(path,"goods", getTables(new String[]{

+ 7 - 0
src/main/java/com/cdf/httpClient/client/FdkkClient.java

@@ -123,6 +123,13 @@ public interface FdkkClient {
     @Address(source = FdkkSceneAddressSource.class)
     @Address(source = FdkkSceneAddressSource.class)
     JSONObject getAuth(@Body HashMap<String,String> param,@Header("token")  String token );
     JSONObject getAuth(@Body HashMap<String,String> param,@Header("token")  String token );
 
 
+    /**
+     * 获取场景详情-查看页面
+     */
+    @Get("/api/laser/getSceneByNum")
+    @Address(source = FdkkSceneAddressSource.class)
+    JSONObject getSceneByNum(@Query Map<String,String> param);
+
     @Post("{url}")
     @Post("{url}")
     @Address(source = FdkkSceneAddressSource.class)
     @Address(source = FdkkSceneAddressSource.class)
     JSONObject sendPostJson(@Var("url") String url, @JSONBody JSONObject jsonObject, @Header("token")  String token);
     JSONObject sendPostJson(@Var("url") String url, @JSONBody JSONObject jsonObject, @Header("token")  String token);

+ 1 - 1
src/main/java/com/cdf/httpClient/client/FdkkLoginAddressSource.java

@@ -14,6 +14,6 @@ public class FdkkLoginAddressSource implements AddressSource {
 
 
     @Override
     @Override
     public ForestAddress getAddress(ForestRequest forestRequest) {
     public ForestAddress getAddress(ForestRequest forestRequest) {
-        return new ForestAddress("","",80,basePath);
+        return new ForestAddress("","",null,basePath);
     }
     }
 }
 }

+ 1 - 1
src/main/java/com/cdf/httpClient/client/FdkkSceneAddressSource.java

@@ -14,6 +14,6 @@ public class FdkkSceneAddressSource implements AddressSource {
 
 
     @Override
     @Override
     public ForestAddress getAddress(ForestRequest forestRequest) {
     public ForestAddress getAddress(ForestRequest forestRequest) {
-        return new ForestAddress("","",80,basePath);
+        return new ForestAddress("","",null,basePath);
     }
     }
 }
 }

+ 2 - 0
src/main/java/com/cdf/httpClient/request/FdkkSceneListRequest.java

@@ -19,4 +19,6 @@ public class FdkkSceneListRequest {
     private String endTime;
     private String endTime;
     private String sceneName;
     private String sceneName;
     private String snCode;
     private String snCode;
+
+    private Integer deptId = 22;
 }
 }

+ 11 - 0
src/main/java/com/cdf/httpClient/response/LaserSceneVo.java

@@ -0,0 +1,11 @@
+package com.cdf.httpClient.response;
+
+import lombok.Data;
+
+@Data
+public class LaserSceneVo {
+    private Long userId;
+    private String userPhone;
+    private String num;
+    private String snCode;
+}

+ 1 - 0
src/main/java/com/cdf/httpClient/response/cdf/CdfProduct.java

@@ -15,4 +15,5 @@ public class CdfProduct implements Serializable {
     private String symbol;  //货币符号,如¥或MOP$
     private String symbol;  //货币符号,如¥或MOP$
     private Integer stock;  //库存数量
     private Integer stock;  //库存数量
 
 
+    private String url; //香港详情链接
 }
 }

+ 12 - 0
src/main/java/com/cdf/httpClient/response/cdf/CdfProductListRequest.java

@@ -1,11 +1,23 @@
 package com.cdf.httpClient.response.cdf;
 package com.cdf.httpClient.response.cdf;
 
 
 
 
+import lombok.Data;
+
+import java.util.List;
+
+@Data
 public class CdfProductListRequest {
 public class CdfProductListRequest {
     private String keyword;
     private String keyword;
     private Long pageIndex = 1L;
     private Long pageIndex = 1L;
     private Long pageNum = 1L;
     private Long pageNum = 1L;
 
 
+    /**
+     *
+     */
+    private List<String> productIds;
+
+    private String language = "eshop_cn";
+
 
 
     public String getKeyword() {
     public String getKeyword() {
         return keyword;
         return keyword;

+ 18 - 0
src/main/java/com/cdf/mapper/INumRegionMapper.java

@@ -0,0 +1,18 @@
+package com.cdf.mapper;
+
+import com.cdf.entity.NumRegion;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-07
+ */
+@Mapper
+public interface INumRegionMapper extends BaseMapper<NumRegion> {
+
+}

+ 18 - 0
src/main/java/com/cdf/mapper/IProductHkMapper.java

@@ -0,0 +1,18 @@
+package com.cdf.mapper;
+
+import com.cdf.entity.ProductHk;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-10-25
+ */
+@Mapper
+public interface IProductHkMapper extends BaseMapper<ProductHk> {
+
+}

+ 18 - 0
src/main/java/com/cdf/mapper/ITotalDataHkMapper.java

@@ -0,0 +1,18 @@
+package com.cdf.mapper;
+
+import com.cdf.entity.TotalDataHk;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-08
+ */
+@Mapper
+public interface ITotalDataHkMapper extends BaseMapper<TotalDataHk> {
+
+}

+ 5 - 0
src/main/java/com/cdf/request/LogRequest.java

@@ -2,6 +2,8 @@ package com.cdf.request;
 
 
 import lombok.Data;
 import lombok.Data;
 
 
+import java.util.List;
+
 @Data
 @Data
 public class LogRequest extends BaseRequest{
 public class LogRequest extends BaseRequest{
     private String phone;
     private String phone;
@@ -10,4 +12,7 @@ public class LogRequest extends BaseRequest{
     private String startTime;
     private String startTime;
     private String endTime;
     private String endTime;
 
 
+    private List<Integer> deptIds;
+    private String token;
+
 }
 }

+ 2 - 0
src/main/java/com/cdf/request/ShopRequest.java

@@ -7,4 +7,6 @@ public class ShopRequest extends BaseRequest{
     private Integer id;
     private Integer id;
     private String shopName;
     private String shopName;
     private Integer categoryId;
     private Integer categoryId;
+    private Integer deptId;
+    private String token;
 }
 }

+ 4 - 0
src/main/java/com/cdf/request/UserRequest.java

@@ -2,6 +2,8 @@ package com.cdf.request;
 
 
 import lombok.Data;
 import lombok.Data;
 
 
+import java.util.List;
+
 @Data
 @Data
 public class UserRequest extends BaseRequest{
 public class UserRequest extends BaseRequest{
 
 
@@ -9,4 +11,6 @@ public class UserRequest extends BaseRequest{
     private String phone;
     private String phone;
     private String nickName;
     private String nickName;
     private Integer deptId;
     private Integer deptId;
+    private String token;
+    private List<Integer> deptIds;
 }
 }

+ 8 - 0
src/main/java/com/cdf/request/VideoParam.java

@@ -0,0 +1,8 @@
+package com.cdf.request;
+
+import lombok.Data;
+
+@Data
+public class VideoParam extends BaseRequest{
+    private Integer deptId ;
+}

+ 36 - 13
src/main/java/com/cdf/schedule/ScheduleTask.java

@@ -3,7 +3,9 @@ package com.cdf.schedule;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.cdf.entity.PageData;
 import com.cdf.entity.PageData;
 import com.cdf.entity.TotalData;
 import com.cdf.entity.TotalData;
+import com.cdf.entity.TotalDataHk;
 import com.cdf.service.IPageDataService;
 import com.cdf.service.IPageDataService;
+import com.cdf.service.ITotalDataHkService;
 import com.cdf.service.ITotalDataService;
 import com.cdf.service.ITotalDataService;
 import com.cdf.util.DateUtil;
 import com.cdf.util.DateUtil;
 import lombok.extern.slf4j.Slf4j;
 import lombok.extern.slf4j.Slf4j;
@@ -25,6 +27,8 @@ public class ScheduleTask {
     IPageDataService pageDataService;
     IPageDataService pageDataService;
     @Autowired
     @Autowired
     ITotalDataService totalDataService;
     ITotalDataService totalDataService;
+    @Autowired
+    ITotalDataHkService totalDataHkService;
 
 
     public static String day = null;
     public static String day = null;
 
 
@@ -35,7 +39,21 @@ public class ScheduleTask {
             day = DateUtil.getDay(new Date(), -1);
             day = DateUtil.getDay(new Date(), -1);
         }
         }
         log.info("开始统计{}的数据,{}",day,DateUtil.getDateTime(new Date()));
         log.info("开始统计{}的数据,{}",day,DateUtil.getDateTime(new Date()));
+        TotalData totalData = new TotalData();
+        TotalDataHk totalDatahk = new TotalDataHk();
+
+        this.dataT(totalData,totalDatahk,22);
+        totalDataService.saveOrUpdate(totalData);
+        this.dataT(totalData,totalDatahk,33);
+        totalDataHkService.saveOrUpdate(totalDatahk);
+        //待添加传输
+        log.info("{结束统计{}的数据,{}",day,DateUtil.getDateTime(new Date()));
+        day = null;
+    }
+
+    private void dataT(TotalData totalData,TotalDataHk totalDataHk,Integer deptId) throws Exception {
         LambdaQueryWrapper<PageData> wrapper = new LambdaQueryWrapper<>();
         LambdaQueryWrapper<PageData> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(PageData::getDeptId,deptId);
         wrapper.eq(PageData::getDay,day);
         wrapper.eq(PageData::getDay,day);
         List<PageData> list = pageDataService.list(wrapper);
         List<PageData> list = pageDataService.list(wrapper);
         Long stopTimeCount = 0L;
         Long stopTimeCount = 0L;
@@ -83,20 +101,25 @@ public class ScheduleTask {
             avgClickShop = clickShopCount.divide(new BigDecimal(list.size()),4,BigDecimal.ROUND_HALF_UP);
             avgClickShop = clickShopCount.divide(new BigDecimal(list.size()),4,BigDecimal.ROUND_HALF_UP);
             avgStepNum = totalStepNum / list.size();
             avgStepNum = totalStepNum / list.size();
         }
         }
-        TotalData totalData = new TotalData();
-        totalData.setId(day);
-        totalData.setAvgStopTime(avgStopTime);
-        totalData.setAvgJump(avgJump);
-        totalData.setAvgClickGame(avgClickGame);
-        totalData.setAvgClickShop(avgClickShop);
-        totalData.setVideoNum(totalVideoNum);
-        totalData.setAvgStepNum(avgStepNum);
-        totalDataService.saveOrUpdate(totalData);
+        if(deptId == 22){
+            totalData.setId(day);
+            totalData.setAvgStopTime(avgStopTime);
+            totalData.setAvgJump(avgJump);
+            totalData.setAvgClickGame(avgClickGame);
+            totalData.setAvgClickShop(avgClickShop);
+            totalData.setVideoNum(totalVideoNum);
+            totalData.setAvgStepNum(avgStepNum);
+        }
+        if(deptId == 33){
+            totalDataHk.setId(day);
+            totalDataHk.setAvgStopTime(avgStopTime);
+            totalDataHk.setAvgJump(avgJump);
+            totalDataHk.setAvgClickGame(avgClickGame);
+            totalDataHk.setAvgClickShop(avgClickShop);
+            totalDataHk.setVideoNum(totalVideoNum);
+            totalDataHk.setAvgStepNum(avgStepNum);
+        }
 
 
-        log.info("{发送{}的统计结果{}给海鲲,{}",day,totalData,DateUtil.getDateTime(new Date()));
-        //待添加传输
-        log.info("{结束统计{}的数据,{}",day,DateUtil.getDateTime(new Date()));
-        day = null;
     }
     }
 
 
 }
 }

+ 6 - 0
src/main/java/com/cdf/service/IDeptService.java

@@ -3,6 +3,8 @@ package com.cdf.service;
 import com.cdf.entity.Dept;
 import com.cdf.entity.Dept;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  服务类
  *  服务类
@@ -14,4 +16,8 @@ import com.baomidou.mybatisplus.extension.service.IService;
 public interface IDeptService extends IService<Dept> {
 public interface IDeptService extends IService<Dept> {
 
 
     Object getDeptList(Integer parentId);
     Object getDeptList(Integer parentId);
+
+    List<Dept> getDeptSonList(Integer deptId);
+
+    List<Integer> getDeptIdsSonList(Integer deptId);
 }
 }

+ 3 - 0
src/main/java/com/cdf/service/IFdkkUserService.java

@@ -2,6 +2,7 @@ package com.cdf.service;
 
 
 import com.cdf.entity.FdkkUser;
 import com.cdf.entity.FdkkUser;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.cdf.entity.NumRegion;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +14,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface IFdkkUserService extends IService<FdkkUser> {
 public interface IFdkkUserService extends IService<FdkkUser> {
 
 
+    NumRegion getRegionByNum(String num);
+
 }
 }

+ 16 - 0
src/main/java/com/cdf/service/INumRegionService.java

@@ -0,0 +1,16 @@
+package com.cdf.service;
+
+import com.cdf.entity.NumRegion;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-07
+ */
+public interface INumRegionService extends IService<NumRegion> {
+
+}

+ 26 - 0
src/main/java/com/cdf/service/IProductHkService.java

@@ -0,0 +1,26 @@
+package com.cdf.service;
+
+import com.alibaba.fastjson.JSONArray;
+import com.cdf.entity.ProductHk;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.cdf.httpClient.response.cdf.CdfProduct;
+import com.cdf.httpClient.response.cdf.CdfProductListRequest;
+
+import java.util.List;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-10-25
+ */
+public interface IProductHkService extends IService<ProductHk> {
+
+    Object pageList(CdfProductListRequest param);
+
+    List<CdfProduct> convert(List<ProductHk> records,String lan);
+
+    List<ProductHk> getListByIds(JSONArray requestArray);
+}

+ 16 - 0
src/main/java/com/cdf/service/ITotalDataHkService.java

@@ -0,0 +1,16 @@
+package com.cdf.service;
+
+import com.cdf.entity.TotalDataHk;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-08
+ */
+public interface ITotalDataHkService extends IService<TotalDataHk> {
+
+}

+ 32 - 0
src/main/java/com/cdf/service/impl/DeptServiceImpl.java

@@ -11,6 +11,7 @@ import org.springframework.stereotype.Service;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -47,4 +48,35 @@ public class DeptServiceImpl extends ServiceImpl<IDeptMapper, Dept> implements I
         }
         }
         return deptVoList;
         return deptVoList;
     }
     }
+
+    @Override
+    public List<Integer> getDeptIdsSonList(Integer deptId) {
+        List<Dept> deptSonList = this.getDeptSonList(deptId);
+        return deptSonList.stream().map(Dept::getId).collect(Collectors.toList());
+    }
+
+    @Override
+    public List<Dept> getDeptSonList(Integer deptId) {
+        List<Dept> deptList = new ArrayList<>();
+        Dept deptDb = this.getById(deptId);
+        if(deptDb == null){
+            return deptList;
+        }
+        deptList.add(deptDb);
+        getDeptSonListDg(deptList,deptId);
+        return deptList;
+    }
+
+    private void getDeptSonListDg(List<Dept> deptList,Integer deptId) {
+        LambdaQueryWrapper<Dept> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(Dept::getParentId,deptId);
+        List<Dept> list = this.list(wrapper);
+        if(list.size() <=0){
+            return;
+        }
+        deptList.addAll(list);
+        for (Dept dept : list) {
+            getDeptSonListDg(deptList,dept.getId());
+        }
+    }
 }
 }

+ 64 - 13
src/main/java/com/cdf/service/impl/FdkkSceneEditService.java

@@ -6,6 +6,8 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.alibaba.fastjson.JSONObject;
 import com.cdf.common.ResultCode;
 import com.cdf.common.ResultCode;
 import com.cdf.entity.HotRelation;
 import com.cdf.entity.HotRelation;
+import com.cdf.entity.NumRegion;
+import com.cdf.entity.ProductHk;
 import com.cdf.exception.BusinessException;
 import com.cdf.exception.BusinessException;
 import com.cdf.httpClient.client.CdfClient;
 import com.cdf.httpClient.client.CdfClient;
 import com.cdf.httpClient.client.FdkkClient;
 import com.cdf.httpClient.client.FdkkClient;
@@ -15,7 +17,9 @@ import com.cdf.httpClient.request.FdkkUploadRequest;
 import com.cdf.httpClient.request.SceneRequest;
 import com.cdf.httpClient.request.SceneRequest;
 import com.cdf.httpClient.response.FdkkResponse;
 import com.cdf.httpClient.response.FdkkResponse;
 import com.cdf.httpClient.response.cdf.*;
 import com.cdf.httpClient.response.cdf.*;
+import com.cdf.service.IFdkkUserService;
 import com.cdf.service.IHotRelationService;
 import com.cdf.service.IHotRelationService;
+import com.cdf.service.IProductHkService;
 import com.cdf.util.*;
 import com.cdf.util.*;
 import com.google.zxing.client.j2se.MatrixToImageWriter;
 import com.google.zxing.client.j2se.MatrixToImageWriter;
 import com.google.zxing.common.BitMatrix;
 import com.google.zxing.common.BitMatrix;
@@ -61,6 +65,10 @@ public class FdkkSceneEditService {
     FdkkSceneService fdkkSceneService;
     FdkkSceneService fdkkSceneService;
     @Autowired
     @Autowired
     CdfRolePermService cdfRolePermService;
     CdfRolePermService cdfRolePermService;
+    @Autowired
+    IProductHkService productHkService;
+    @Autowired
+    IFdkkUserService fdkkUserService;
 
 
 
 
     public JSONObject getAuth(String num, String token) {
     public JSONObject getAuth(String num, String token) {
@@ -68,7 +76,14 @@ public class FdkkSceneEditService {
         String fdkkToken = fdkkSceneService.getFdkkToken(token);
         String fdkkToken = fdkkSceneService.getFdkkToken(token);
         HashMap<String,String> map = new HashMap<>();
         HashMap<String,String> map = new HashMap<>();
         map.put("num",num);
         map.put("num",num);
-        return fdkkClient.getAuth(map, fdkkToken);
+        JSONObject auth = fdkkClient.getAuth(map, fdkkToken);
+        Integer code = auth.getInteger("code");
+        if(code == 0){
+            NumRegion numRegion = fdkkUserService.getRegionByNum(num);
+            JSONObject data = auth.getJSONObject("data");
+            data.put("cdfRegionData",numRegion);
+        }
+        return auth;
     }
     }
 
 
     public FdkkResponse saveTag(FdkkHotRequest fdkkHotRequest, String token) {
     public FdkkResponse saveTag(FdkkHotRequest fdkkHotRequest, String token) {
@@ -117,24 +132,26 @@ public class FdkkSceneEditService {
     }
     }
 
 
 
 
-    public JSONObject getTagList(String num, String token) {
+    public JSONObject getTagList(String num, String token,String language) {
         FdkkResponse fdkkResponse = fdkkClient.hotList(new SceneRequest(num), fdkkSceneService.getFdkkToken(token));
         FdkkResponse fdkkResponse = fdkkClient.hotList(new SceneRequest(num), fdkkSceneService.getFdkkToken(token));
         if(fdkkResponse.getCode() !=0){
         if(fdkkResponse.getCode() !=0){
             throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
             throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
         }
         }
+        NumRegion numRegion =  fdkkUserService.getRegionByNum(num);
+
         JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(fdkkResponse.getData()));
         JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(fdkkResponse.getData()));
         JSONArray tags =jsonObject.getJSONArray("tags");
         JSONArray tags =jsonObject.getJSONArray("tags");
-        jsonObject.put("tags",getProductByJsonObj(tags));
+        jsonObject.put("tags",getProductByJsonObj(tags,numRegion.getRegion(),language));
         return jsonObject;
         return jsonObject;
     }
     }
 
 
-    public JSONArray getHotJson(String num) {
+    public JSONArray getHotJson(String num,String pType,String language) {
         String data = uploadToFdkkOssUtil.getObjectContent(String.format(hotPath, num) );
         String data = uploadToFdkkOssUtil.getObjectContent(String.format(hotPath, num) );
         if(StringUtils.isBlank(data)){
         if(StringUtils.isBlank(data)){
             throw new BusinessException(ResultCode.NOT_RECORD);
             throw new BusinessException(ResultCode.NOT_RECORD);
         }
         }
         JSONArray tags = JSONObject.parseArray(data);
         JSONArray tags = JSONObject.parseArray(data);
-        return getProductByJsonObj(tags);
+        return getProductByJsonObj(tags,pType,language);
     }
     }
 
 
     public JSONArray getCdfHotJson(String num) {
     public JSONArray getCdfHotJson(String num) {
@@ -154,7 +171,9 @@ public class FdkkSceneEditService {
         if(fdkkResponse.getCode() !=0){
         if(fdkkResponse.getCode() !=0){
             throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
             throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
         }
         }
-        writeHotJson(fdkkHotRequest.getNum());
+        NumRegion numRegion = fdkkUserService.getRegionByNum(fdkkHotRequest.getNum());
+
+        writeHotJson(fdkkHotRequest.getNum(),numRegion.getRegion());
         String res1 = "scene_view_data/%s/images/vision.modeldata";
         String res1 = "scene_view_data/%s/images/vision.modeldata";
         String res2 = "scene_view_data/%s/images/vision2.modeldata";
         String res2 = "scene_view_data/%s/images/vision2.modeldata";
         updateModelData(fdkkHotRequest.getNum(),res1);
         updateModelData(fdkkHotRequest.getNum(),res1);
@@ -173,13 +192,34 @@ public class FdkkSceneEditService {
         uploadToCdfOssUtil.upload(localPath,s3PathKey);
         uploadToCdfOssUtil.upload(localPath,s3PathKey);
     }
     }
 
 
-    public void writeHotJson(String num) throws IOException {
-        JSONArray hotJson = getHotJson(num);
+    public void writeHotJson(String num,String pType) throws IOException {
+        if(pType.equals("HK")){
+            writeHotJsonHk(num,"eshop_en");
+            writeHotJsonHk(num,"eshop_zh");
+            writeHotJsonHk(num,"eshop_cn");
+            return;
+        }
+        JSONArray hotJson = getHotJson(num,pType,"all");
         String path = String.format(hotLocalPath,num)+"/"+"hot.json";
         String path = String.format(hotLocalPath,num)+"/"+"hot.json";
         String json = JSONUtil.toJsonStr(hotJson);
         String json = JSONUtil.toJsonStr(hotJson);
         FileUtils.writeFile(path,json );
         FileUtils.writeFile(path,json );
         uploadToCdfOssUtil.upload(path,String.format(hotCdfPath, num));
         uploadToCdfOssUtil.upload(path,String.format(hotCdfPath, num));
     }
     }
+
+    public  void writeHotJsonHk(String num,String lang){
+        try {
+            JSONArray hotJson = getHotJson(num,"HK",lang);
+            String path = String.format(hotLocalPath,num)+"/"+"hot_" +lang +".json";
+            String json = JSONUtil.toJsonStr(hotJson);
+            FileUtils.writeFile(path,json );
+            uploadToCdfOssUtil.upload(path,String.format(hotCdfPath, num));
+        }catch (Exception e){
+
+        }
+
+
+    }
+
     public FdkkResponse uploadFiles(FdkkUploadRequest fdkkUploadRequest, MultipartFile[] files, String token) throws IOException {
     public FdkkResponse uploadFiles(FdkkUploadRequest fdkkUploadRequest, MultipartFile[] files, String token) throws IOException {
         List<MultipartFile> multipartFiles = new ArrayList<>();
         List<MultipartFile> multipartFiles = new ArrayList<>();
         if(StringUtils.isNotBlank(fdkkUploadRequest.getBase64())){
         if(StringUtils.isNotBlank(fdkkUploadRequest.getBase64())){
@@ -216,7 +256,7 @@ public class FdkkSceneEditService {
         return fdkkResponse;
         return fdkkResponse;
     }
     }
 
 
-    private JSONArray getProductByJsonObj(JSONArray tags){
+    private JSONArray getProductByJsonObj(JSONArray tags,String pType,String language){
         HashMap<String,JSONArray> resultMap = new HashMap<>();      //sid, productId array
         HashMap<String,JSONArray> resultMap = new HashMap<>();      //sid, productId array
         HashMap<String,CdfProduct> productMap = new HashMap<>();    //productId  cdf
         HashMap<String,CdfProduct> productMap = new HashMap<>();    //productId  cdf
         JSONArray requestArray = new JSONArray();                   //productId all array
         JSONArray requestArray = new JSONArray();                   //productId all array
@@ -262,13 +302,24 @@ public class FdkkSceneEditService {
         if(requestArray.size() <=0){
         if(requestArray.size() <=0){
             return tags;
             return tags;
         }
         }
-        CdfProductListByIdsRequest param = new CdfProductListByIdsRequest(requestArray);
-        CdfProductListByIdsVo vos = cdfClient.getProductListByIds(param);
-        if(vos.getProductCardList()!=null && vos.getProductCardList().size() >0){
-            for (CdfProduct cdfProduct : vos.getProductCardList()) {
+
+        if(pType.equals("AM")){
+            CdfProductListByIdsRequest param = new CdfProductListByIdsRequest(requestArray);
+            CdfProductListByIdsVo vos = cdfClient.getProductListByIds(param);
+            if(vos.getProductCardList()!=null && vos.getProductCardList().size() >0){
+                for (CdfProduct cdfProduct : vos.getProductCardList()) {
+                    productMap.put(cdfProduct.getId(),cdfProduct);
+                }
+            }
+        }
+        if(pType.equals("HK")){
+            List<ProductHk> list = productHkService.getListByIds(requestArray);
+            List<CdfProduct> convert = productHkService.convert(list, language);
+            for (CdfProduct cdfProduct : convert) {
                 productMap.put(cdfProduct.getId(),cdfProduct);
                 productMap.put(cdfProduct.getId(),cdfProduct);
             }
             }
         }
         }
+
         for (Object obj : tags) {
         for (Object obj : tags) {
             JSONObject tag = (JSONObject) obj;
             JSONObject tag = (JSONObject) obj;
             String sid = tag.getString("sid");
             String sid = tag.getString("sid");

+ 60 - 0
src/main/java/com/cdf/service/impl/FdkkUserServiceImpl.java

@@ -1,11 +1,25 @@
 package com.cdf.service.impl;
 package com.cdf.service.impl;
 
 
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.cdf.common.ResultCode;
+import com.cdf.common.ResultData;
 import com.cdf.entity.FdkkUser;
 import com.cdf.entity.FdkkUser;
+import com.cdf.entity.NumRegion;
+import com.cdf.exception.BusinessException;
+import com.cdf.httpClient.client.FdkkClient;
+import com.cdf.httpClient.response.LaserSceneVo;
 import com.cdf.mapper.IFdkkUserMapper;
 import com.cdf.mapper.IFdkkUserMapper;
 import com.cdf.service.IFdkkUserService;
 import com.cdf.service.IFdkkUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cdf.service.INumRegionService;
+import com.cdf.service.IUserService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import javax.annotation.Resource;
+import java.util.HashMap;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -17,4 +31,50 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class FdkkUserServiceImpl extends ServiceImpl<IFdkkUserMapper, FdkkUser> implements IFdkkUserService {
 public class FdkkUserServiceImpl extends ServiceImpl<IFdkkUserMapper, FdkkUser> implements IFdkkUserService {
 
 
+    @Resource
+    FdkkClient fdkkClient;
+    @Autowired
+    IUserService userService;
+    @Autowired
+    INumRegionService numRegionService;
+
+
+    @Override
+    public NumRegion getRegionByNum(String num) {
+        NumRegion numRegion = numRegionService.getById(num);
+        if(numRegion!=null){
+            return numRegion;
+        }
+        HashMap<String,String> map = new HashMap<>();
+        map.put("num",num);
+        JSONObject jsonObject = fdkkClient.getSceneByNum(map);
+        if(jsonObject.getInteger("code")!=0){
+            throw new BusinessException(jsonObject.getInteger("code"),jsonObject.getString("msg"));
+        }
+        String data = jsonObject.getString("data");
+        LaserSceneVo vo = JSONObject.parseObject(data,LaserSceneVo.class);
+        if(vo==null){
+            throw new BusinessException(ResultCode.FD_NUM_ERROR);
+        }
+        String userPhone = vo.getUserPhone();
+        FdkkUser fdkkUser = this.getByUserName(userPhone);
+        if(fdkkUser == null){
+            throw new BusinessException(ResultCode.FD_USER_ERROR);
+        }
+        numRegion = new NumRegion();
+        numRegion.setNum(num);
+        numRegion.setDeptId(fdkkUser.getDeptId());
+        numRegion.setFdUserId(fdkkUser.getId());
+        numRegion.setRegion(fdkkUser.getRegion());
+        numRegionService.save(numRegion);
+        return numRegion;
+    }
+
+
+    private FdkkUser getByUserName(String userPhone) {
+        LambdaQueryWrapper<FdkkUser> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(FdkkUser::getUserName,userPhone);
+        return this.getOne(wrapper);
+    }
+
 }
 }

+ 20 - 0
src/main/java/com/cdf/service/impl/NumRegionServiceImpl.java

@@ -0,0 +1,20 @@
+package com.cdf.service.impl;
+
+import com.cdf.entity.NumRegion;
+import com.cdf.mapper.INumRegionMapper;
+import com.cdf.service.INumRegionService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-07
+ */
+@Service
+public class NumRegionServiceImpl extends ServiceImpl<INumRegionMapper, NumRegion> implements INumRegionService {
+
+}

+ 101 - 0
src/main/java/com/cdf/service/impl/ProductHkServiceImpl.java

@@ -0,0 +1,101 @@
+package com.cdf.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.cdf.common.HKLanguage;
+import com.cdf.common.PageInfo;
+import com.cdf.entity.ProductHk;
+import com.cdf.httpClient.response.cdf.CdfProduct;
+import com.cdf.httpClient.response.cdf.CdfProductListRequest;
+import com.cdf.mapper.IProductHkMapper;
+import com.cdf.service.IProductHkService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.stereotype.Service;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-10-25
+ */
+@Service
+public class ProductHkServiceImpl extends ServiceImpl<IProductHkMapper, ProductHk> implements IProductHkService {
+
+    @Override
+    public Object pageList(CdfProductListRequest param) {
+        LambdaQueryWrapper<ProductHk> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ProductHk::getOnline,1);
+        wrapper.eq(ProductHk::getVisibility,"Catalog, Search");
+        if(param.getProductIds() != null && param.getProductIds().size() >0){
+            wrapper.in(ProductHk::getProductId,param.getProductIds());
+        }
+        if(StringUtils.isNotBlank(param.getKeyword())){
+            wrapper.like(ProductHk::getEshopEn,param.getKeyword());
+            wrapper.or().like(ProductHk::getEshopZh,param.getKeyword());
+            wrapper.or().like(ProductHk::getEshopCn,param.getKeyword());
+        }
+        wrapper.orderByDesc(ProductHk::getCreateTime);
+        Page<ProductHk> page = this.page(new Page<>(param.getPageNum(), 20L), wrapper);
+        List<CdfProduct> voList =  this.convert(page.getRecords(),param.getLanguage());
+        Page<CdfProduct>  pageVo = new Page<>(param.getPageNum(),20L);
+        pageVo.setTotal(page.getTotal());
+        pageVo.setRecords(voList);
+        return PageInfo.PageInfo(pageVo);
+    }
+
+    @Override
+    public List<ProductHk> getListByIds(JSONArray requestArray) {
+        if(requestArray.size() <=0){
+            return new ArrayList<>();
+        }
+        LambdaQueryWrapper<ProductHk> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(ProductHk::getOnline,1);
+        wrapper.eq(ProductHk::getVisibility,"Catalog, Search");
+        wrapper.in(ProductHk::getProductId,requestArray);
+        return this.list(wrapper);
+    }
+
+    @Override
+    public List<CdfProduct> convert(List<ProductHk> records,String lan) {
+        List<CdfProduct> productList = new ArrayList<>();
+        for (ProductHk record : records) {
+            CdfProduct cdfProduct = new CdfProduct();
+            cdfProduct.setId(record.getProductId().toString());
+            String name = "";
+            switch (lan){
+                case "eshop_en" :
+                    cdfProduct.setName(record.getEshopEn());
+                    cdfProduct.setUrl(record.getEnUrl());
+                    break;
+                case "eshop_zh" :
+                    if(StringUtils.isBlank(record.getEshopZh())){
+                        name = record.getEshopEn();
+                    }else {
+                        name = record.getEshopZh();
+                    }
+                    cdfProduct.setName(name);
+                    cdfProduct.setUrl(record.getZhUrl());
+                    break;
+                default:
+                    if(StringUtils.isBlank(record.getEshopZh())){
+                        name = record.getEshopEn();
+                    }else {
+                        name = record.getEshopCn();
+                    }
+                    cdfProduct.setName(name);
+                    cdfProduct.setUrl(record.getCnUrl());
+                    break;
+            }
+            cdfProduct.setPic(record.getImageUrl());
+            productList.add(cdfProduct);
+        }
+        return productList;
+    }
+}

+ 13 - 3
src/main/java/com/cdf/service/impl/ShopServiceImpl.java

@@ -3,9 +3,7 @@ package com.cdf.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.cdf.common.PageInfo;
 import com.cdf.common.PageInfo;
-import com.cdf.entity.Dept;
-import com.cdf.entity.Shop;
-import com.cdf.entity.ShopCategory;
+import com.cdf.entity.*;
 import com.cdf.mapper.IShopMapper;
 import com.cdf.mapper.IShopMapper;
 import com.cdf.request.ShopRequest;
 import com.cdf.request.ShopRequest;
 import com.cdf.response.ShopVo;
 import com.cdf.response.ShopVo;
@@ -13,6 +11,8 @@ import com.cdf.service.IDeptService;
 import com.cdf.service.IShopCategoryService;
 import com.cdf.service.IShopCategoryService;
 import com.cdf.service.IShopService;
 import com.cdf.service.IShopService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cdf.service.IUserService;
+import com.cdf.util.JwtUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -20,6 +20,8 @@ import org.springframework.stereotype.Service;
 
 
 import java.util.ArrayList;
 import java.util.ArrayList;
 import java.util.List;
 import java.util.List;
+import java.util.Set;
+import java.util.stream.Collectors;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -36,6 +38,8 @@ public class ShopServiceImpl extends ServiceImpl<IShopMapper, Shop> implements I
     IDeptService deptService;
     IDeptService deptService;
     @Autowired
     @Autowired
     IShopCategoryService categoryService;
     IShopCategoryService categoryService;
+    @Autowired
+    IUserService userService;
 
 
     @Override
     @Override
     public PageInfo pageList(ShopRequest param) {
     public PageInfo pageList(ShopRequest param) {
@@ -46,6 +50,12 @@ public class ShopServiceImpl extends ServiceImpl<IShopMapper, Shop> implements I
         if(param.getCategoryId() !=null){
         if(param.getCategoryId() !=null){
             wrapper.eq(Shop::getCategoryId,param.getCategoryId());
             wrapper.eq(Shop::getCategoryId,param.getCategoryId());
         }
         }
+        Integer id = JwtUtil.getId(param.getToken());
+        User user = userService.getById(id);
+        param.setDeptId(user.getDeptId());
+        List<Integer> deptIds = deptService.getDeptIdsSonList(param.getDeptId());
+        wrapper.in(Shop::getDeptId,deptIds);
+
         wrapper.orderByAsc(Shop::getSort);
         wrapper.orderByAsc(Shop::getSort);
         wrapper.orderByAsc(Shop::getShopName);
         wrapper.orderByAsc(Shop::getShopName);
         Page<Shop> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);
         Page<Shop> page = this.page(new Page<>(param.getPageNum(), param.getPageSize()), wrapper);

+ 20 - 0
src/main/java/com/cdf/service/impl/TotalDataHkServiceImpl.java

@@ -0,0 +1,20 @@
+package com.cdf.service.impl;
+
+import com.cdf.entity.TotalDataHk;
+import com.cdf.mapper.ITotalDataHkMapper;
+import com.cdf.service.ITotalDataHkService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2022-11-08
+ */
+@Service
+public class TotalDataHkServiceImpl extends ServiceImpl<ITotalDataHkMapper, TotalDataHk> implements ITotalDataHkService {
+
+}

+ 12 - 0
src/main/java/com/cdf/service/impl/UserServiceImpl.java

@@ -1,15 +1,21 @@
 package com.cdf.service.impl;
 package com.cdf.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.cdf.common.PageInfo;
 import com.cdf.common.PageInfo;
 import com.cdf.entity.User;
 import com.cdf.entity.User;
 import com.cdf.mapper.IUserMapper;
 import com.cdf.mapper.IUserMapper;
 import com.cdf.request.UserRequest;
 import com.cdf.request.UserRequest;
 import com.cdf.response.UserVo;
 import com.cdf.response.UserVo;
+import com.cdf.service.IDeptService;
 import com.cdf.service.IUserService;
 import com.cdf.service.IUserService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.cdf.util.JwtUtil;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -21,8 +27,14 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements IUserService {
 public class UserServiceImpl extends ServiceImpl<IUserMapper, User> implements IUserService {
 
 
+    @Autowired
+    IDeptService deptService;
     @Override
     @Override
     public PageInfo<UserVo> getPageByParam(UserRequest param) {
     public PageInfo<UserVo> getPageByParam(UserRequest param) {
+        Integer id = JwtUtil.getId(param.getToken());
+        User byId = this.getById(id);
+        List<Integer> deptIds = deptService.getDeptIdsSonList(byId.getDeptId());
+        param.setDeptIds(deptIds);
         Page<UserVo> page = getBaseMapper().getPageByParam(new Page<>(param.getPageNum(),param.getPageSize()),param);
         Page<UserVo> page = getBaseMapper().getPageByParam(new Page<>(param.getPageNum(),param.getPageSize()),param);
         return PageInfo.PageInfo(page);
         return PageInfo.PageInfo(page);
     }
     }

+ 12 - 9
src/main/resources/application-local.yaml

@@ -7,7 +7,7 @@ spring:
       username: root
       username: root
       password: 123456
       password: 123456
   redis:
   redis:
-    host: 120.24.144.164
+    host: 120.25.146.52
     port: 6379
     port: 6379
     timeout: 6000ms
     timeout: 6000ms
     password:
     password:
@@ -31,12 +31,12 @@ mybatis-plus:
 
 
 
 
 fdkk:
 fdkk:
-  login-path: http://eur.4dkankan.com
-  scene-path: http://eur.4dkankan.com
+  login-path: http://test.4dkankan.com
+  scene-path: http://test.4dkankan.com
   hot-path: scene_view_data/%s/user/hot.json
   hot-path: scene_view_data/%s/user/hot.json
   hot-cdf-path: cdf/hot/%s/hot.json
   hot-cdf-path: cdf/hot/%s/hot.json
   hot-local-path: /home/cdf/fdkk/%s
   hot-local-path: /home/cdf/fdkk/%s
-  qr-code-url: http://vr.cdfmembers.com/index.html?m=
+  qr-code-url: http://test.4dkankan.com/index.html?m=
   aws:
   aws:
     s3key: AKIAWCV5QFZ3ZNELKYUY
     s3key: AKIAWCV5QFZ3ZNELKYUY
     s3secrey: epS5ghyR4LJ7rxk/qJO9ZYh6m9Oz6g5haKDu4yws
     s3secrey: epS5ghyR4LJ7rxk/qJO9ZYh6m9Oz6g5haKDu4yws
@@ -44,14 +44,17 @@ fdkk:
 
 
 cdf:
 cdf:
   aws:
   aws:
-    s3key: AKIAUI25IY4RAEMUZCOQ
-    s3secrey: CeL0IMH+I0qMxLXBRRs3cbRh9DeVOeTMy8wa60o7
-    s3bucket: 4dage-moderate2
+    s3key: AKIAWCV5QFZ3ZNELKYUY
+    s3secrey: epS5ghyR4LJ7rxk/qJO9ZYh6m9Oz6g5haKDu4yws
+    s3bucket: 4dkankan
 
 
 upload:
 upload:
-  type: aws
+  type: oss
   file-path: cdf/file/
   file-path: cdf/file/
-  query-path: http://glp-vr.cdfmembers.com/
+  query-path: https://4dkk.4dage.com/
+
+oss:
+  point: http://oss-cn-shenzhen.aliyuncs.com
 
 
 local:
 local:
   path: /home/4dkankan/
   path: /home/4dkankan/

+ 58 - 0
src/main/resources/application-test.yaml

@@ -0,0 +1,58 @@
+spring:
+  datasource:
+    name: druidDataSource
+    type: com.alibaba.druid.pool.DruidDataSource
+    druid:
+      url: jdbc:mysql://127.0.0.1:3306/cdf_gm_test?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=UTC&allowMultiQueries=true
+      username: root
+      password: 4Dage@zhongmian#@168
+  redis:
+    database: 1
+    host: 127.0.0.1
+    port: 6379
+    timeout: 6000ms
+    password: JK20220120%4dkk
+    # cluster:
+    #   max-redirects: 3  # 获取失败 最大重定向次数
+    #   nodes:
+    #     - 120.25.146.52:6379
+    jedis:
+      pool:
+        max-active: 10  #连接池最大连接数(使用负值表示没有限制)
+        max-idle: 10 # 连接池中的最大空闲连接
+        min-idle: 5 # 连接池中的最小空闲连接
+        max-wait: -1 # 连接池最大阻塞等待时间(使用负值表示没有限制)
+    lettuce:
+      shutdown-timeout: 0ms
+logging:
+  config: classpath:logback-spring.xml
+mybatis-plus:
+  configuration:
+    log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl #开启sql日志
+
+
+fdkk:
+  login-path: http://testeur.4dkankan.com
+  scene-path: http://testeur.4dkankan.com
+  hot-path: scene_view_data/%s/user/hot.json
+  hot-cdf-path: cdf/hot/%s/hot.json
+  hot-local-path: /home/cdf/fdkk/%s
+  qr-code-url: https://vr.cdfmembers.com/index.html?m=
+  aws:
+    s3key: AKIAWCV5QFZ3ZNELKYUY
+    s3secrey: epS5ghyR4LJ7rxk/qJO9ZYh6m9Oz6g5haKDu4yws
+    s3bucket: 4dkankan
+
+cdf:
+  aws:
+    s3key: AKIAUI25IY4RAEMUZCOQ
+    s3secrey: CeL0IMH+I0qMxLXBRRs3cbRh9DeVOeTMy8wa60o7
+    s3bucket: 4dage-moderate2
+
+upload:
+  type: aws
+  file-path: cdf/file/
+  query-path: https://glp-vr.cdfmembers.com/
+
+local:
+  path: /home/4dkankan/

+ 3 - 0
src/main/resources/mapper/LogMapper.xml

@@ -23,6 +23,9 @@
         <if test="param.endTime != null and param.endTime != ''">
         <if test="param.endTime != null and param.endTime != ''">
             and l.create_time  &lt;=   #{param.endTime}
             and l.create_time  &lt;=   #{param.endTime}
         </if>
         </if>
+        <foreach collection="param.deptIds" item="deptId" open="(" separator="," close=")">
+            and u.dept_id in #{deptId}
+        </foreach>
         order by l.create_time desc
         order by l.create_time desc
     </select>
     </select>
 </mapper>
 </mapper>

+ 5 - 0
src/main/resources/mapper/NumRegionMapper.xml

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

+ 5 - 0
src/main/resources/mapper/ProductHkMapper.xml

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

+ 5 - 0
src/main/resources/mapper/TotalDataHkMapper.xml

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

+ 3 - 0
src/main/resources/mapper/UserMapper.xml

@@ -22,6 +22,9 @@
         <if test="param.endTime != null and param.endTime != ''">
         <if test="param.endTime != null and param.endTime != ''">
             and u.create_time  &lt;=   #{param.endTime}
             and u.create_time  &lt;=   #{param.endTime}
         </if>
         </if>
+        <foreach collection="param.deptIds" item="deptId" open="(" separator="," close=")">
+            and u.dept_id in #{deptId}
+        </foreach>
         order by u.create_time desc
         order by u.create_time desc
     </select>
     </select>
 </mapper>
 </mapper>