Parcourir la source

接入cdf商品数据

lyhzzz il y a 3 ans
Parent
commit
a66bf1d14e

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

@@ -9,6 +9,8 @@ public enum ResultCode {
     FD_USER_NOT_EXIST(2003,"四维用户不存在!"),
     FD_USER_NOT_EXIST(2003,"四维用户不存在!"),
     PHONE_EXIST(2004,"手机号码已注册!"),
     PHONE_EXIST(2004,"手机号码已注册!"),
 
 
+    NOT_FDKK_TOKEN(3001,"思维看看token不存在!"),
+
     NOT_RECORD(4001,"没有记录"),
     NOT_RECORD(4001,"没有记录"),
     PARAM_MISS(40002,"参数缺失!"),
     PARAM_MISS(40002,"参数缺失!"),
 
 

+ 10 - 147
src/main/java/com/cdf/controller/FdkkSceneEditController.java

@@ -1,195 +1,58 @@
 package com.cdf.controller;
 package com.cdf.controller;
 
 
-import com.alibaba.fastjson.JSONArray;
-import com.alibaba.fastjson.JSONObject;
 import com.cdf.aop.SysLog;
 import com.cdf.aop.SysLog;
-import com.cdf.common.ResultCode;
 import com.cdf.common.ResultData;
 import com.cdf.common.ResultData;
-import com.cdf.entity.FdkkUser;
-import com.cdf.entity.HotRelation;
-import com.cdf.exception.BusinessException;
-import com.cdf.httpClient.client.CdfClient;
-import com.cdf.httpClient.client.FdkkClient;
-import com.cdf.httpClient.request.FdkkHotData;
 import com.cdf.httpClient.request.FdkkHotRequest;
 import com.cdf.httpClient.request.FdkkHotRequest;
 import com.cdf.httpClient.request.FdkkUploadRequest;
 import com.cdf.httpClient.request.FdkkUploadRequest;
-import com.cdf.httpClient.request.SceneRequest;
 import com.cdf.httpClient.response.FdkkResponse;
 import com.cdf.httpClient.response.FdkkResponse;
-import com.cdf.httpClient.response.cdf.CdfProduct;
-import com.cdf.httpClient.response.cdf.CdfProductListRequest;
-import com.cdf.httpClient.response.cdf.CdfProductListResponse;
-import com.cdf.service.IFdkkUserService;
-import com.cdf.service.IHotRelationService;
-import com.cdf.util.JwtUtil;
-import com.dtflys.forest.annotation.JSONBody;
-import com.fdkankan.fyun.oss.UploadToOssUtil;
-import com.google.gson.JsonObject;
-import jdk.nashorn.internal.parser.Token;
-import org.apache.commons.lang3.StringUtils;
+import com.cdf.service.impl.FdkkSceneEditService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 import org.springframework.web.multipart.MultipartFile;
 
 
-import javax.annotation.Resource;
-import java.io.File;
 import java.io.IOException;
 import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.List;
-import java.util.UUID;
 
 
 @RestController
 @RestController
 @RequestMapping("/service/scene/edit")
 @RequestMapping("/service/scene/edit")
 public class FdkkSceneEditController {
 public class FdkkSceneEditController {
 
 
-    @Resource
-    private UploadToOssUtil uploadToOssUtil;
-    @Value("${upload.bucket}")
-    private String bucket;
-    @Value("${fdkk.hot-path}")
-    private String hotPath;
-    @Resource
-    private FdkkClient fdkkClient;
-    @Resource
-    private CdfClient cdfClient;
     @Autowired
     @Autowired
-    private IFdkkUserService fdkkUserService;
-    @Autowired
-    private IHotRelationService hotRelationService;
+    private FdkkSceneEditService fdkkSceneEditService;
 
 
     @PostMapping("/tag/save")
     @PostMapping("/tag/save")
     @SysLog("/热点新增编辑")
     @SysLog("/热点新增编辑")
     public FdkkResponse save(@RequestBody FdkkHotRequest fdkkHotRequest, @RequestHeader String token){
     public FdkkResponse save(@RequestBody FdkkHotRequest fdkkHotRequest, @RequestHeader String token){
-        Integer userId = JwtUtil.getId(token);
-        FdkkUser fdkkUser = fdkkUserService.getById(userId);
-        FdkkResponse fdkkResponse = fdkkClient.hotSave(fdkkHotRequest, fdkkUser.getToken());
-        if(fdkkResponse.getCode() != 0){
-            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
-        }
-        List<FdkkHotData> hotDataList = fdkkHotRequest.getHotDataList();
-        for (FdkkHotData fdkkHotData : hotDataList) {
-            List<String> relationIds = fdkkHotData.getRelationIds();
-            String sid = fdkkHotData.getSid();
-            Integer type = fdkkHotData.getHotType();
-            HotRelation hotRelation = new HotRelation();
-            hotRelation.setHotId(sid);
-            hotRelation.setHotType(type);
-            hotRelation.setRelationIds(JSONArray.toJSONString(relationIds));
-            hotRelation.setNum(fdkkHotRequest.getNum());
-            hotRelationService.saveOrUpdate(hotRelation);
-        }
-        return fdkkResponse;
+        return fdkkSceneEditService.saveTag(fdkkHotRequest,token);
     }
     }
 
 
     @PostMapping("/tag/delete")
     @PostMapping("/tag/delete")
     @SysLog("/热点删除")
     @SysLog("/热点删除")
     public ResultData delete(@RequestBody FdkkHotRequest fdkkHotRequest, @RequestHeader String token){
     public ResultData delete(@RequestBody FdkkHotRequest fdkkHotRequest, @RequestHeader String token){
-        Integer userId = JwtUtil.getId(token);
-        FdkkUser fdkkUser = fdkkUserService.getById(userId);
-        FdkkResponse fdkkResponse = fdkkClient.hotDelete(fdkkHotRequest, fdkkUser.getToken());
-        if(fdkkResponse.getCode() !=0){
-            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
-        }
-        hotRelationService.removeByIds(fdkkHotRequest.getSidList());
+        fdkkSceneEditService.deleteTag(fdkkHotRequest,token);
         return ResultData.ok();
         return ResultData.ok();
     }
     }
 
 
-
     @PostMapping("/tag/list")
     @PostMapping("/tag/list")
     public ResultData list (@RequestParam(required = false) String num,@RequestHeader String token){
     public ResultData list (@RequestParam(required = false) String num,@RequestHeader String token){
-        Integer userId = JwtUtil.getId(token);
-        FdkkUser fdkkUser = fdkkUserService.getById(userId);
-        FdkkResponse fdkkResponse = fdkkClient.hotList(new SceneRequest(num), fdkkUser.getToken());
-        if(fdkkResponse.getCode() !=0){
-            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
-        }
-        JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(fdkkResponse.getData()));
-        JSONArray tags =jsonObject.getJSONArray("tags");
-        jsonObject.put("tags",getProductByJsonObj(tags));
-        return ResultData.ok(jsonObject);
+        return ResultData.ok(fdkkSceneEditService.getTagList(num,token));
     }
     }
-    @PostMapping("/tag/getHotJs")
+
+    @PostMapping("/tag/getHotJson")
     public ResultData getHotJs (@RequestParam(required = false) String num,@RequestHeader String token){
     public ResultData getHotJs (@RequestParam(required = false) String num,@RequestHeader String token){
-        String data = uploadToOssUtil.getObjectContent(bucket, String.format(hotPath, num));
-        if(StringUtils.isBlank(data)){
-            throw new BusinessException(ResultCode.NOT_RECORD);
-        }
-        JSONArray tags = JSONObject.parseArray(data);
-        return ResultData.ok(getProductByJsonObj(tags));
+        return ResultData.ok( fdkkSceneEditService.getHotJson(num,token));
     }
     }
 
 
 
 
     @PostMapping("publicScene")
     @PostMapping("publicScene")
     public ResultData scenePublicScene(@RequestBody FdkkHotRequest fdkkHotRequest ,@RequestHeader String token){
     public ResultData scenePublicScene(@RequestBody FdkkHotRequest fdkkHotRequest ,@RequestHeader String token){
-        Integer userId = JwtUtil.getId(token);
-        FdkkUser fdkkUser = fdkkUserService.getById(userId);
-        FdkkResponse fdkkResponse = fdkkClient.scenePublicScene(fdkkHotRequest.getNum(), fdkkUser.getToken());
-        if(fdkkResponse.getCode() !=0){
-            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
-        }
-        String content = uploadToOssUtil.getObjectContent(bucket, String.format(hotPath, fdkkHotRequest.getNum()));
-        JSONArray jsonArray = JSONObject.parseArray(content);
-        if(jsonArray == null){
-            return ResultData.ok();
-        }
-        for (Object obj : jsonArray) {
-            JSONObject jsonObject= (JSONObject) obj;
-            String sid = jsonObject.getString("sid");
-            HotRelation hotRelation = hotRelationService.getById(sid);
-            jsonObject.put("hotRelation",hotRelation);
-        }
+        fdkkSceneEditService.publicScene(fdkkHotRequest,token);
         return ResultData.ok();
         return ResultData.ok();
     }
     }
 
 
     @PostMapping("/upload/files")
     @PostMapping("/upload/files")
     public ResultData uploadFiles(FdkkUploadRequest fdkkUploadRequest, MultipartFile files,@RequestHeader String token) throws IOException {
     public ResultData uploadFiles(FdkkUploadRequest fdkkUploadRequest, MultipartFile files,@RequestHeader String token) throws IOException {
-        Integer userId = JwtUtil.getId(token);
-        FdkkUser fdkkUser = fdkkUserService.getById(userId);
-        String path = null;
-        if(files !=null && files.getSize() >0){
-            String fileName = files.getOriginalFilename();
-            // 获取文件后缀
-            String prefix = fileName.substring(fileName.lastIndexOf("."));
-            File newFile = File.createTempFile(UUID.randomUUID().toString() ,prefix);
-            files.transferTo(newFile);
-            path = newFile.getPath();
-        }
-
-        FdkkResponse fdkkResponse = fdkkClient.uploadFiles(fdkkUploadRequest,path,fdkkUser.getToken());
-        if(fdkkResponse.getCode() !=0){
-            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
-        }
+        FdkkResponse fdkkResponse = fdkkSceneEditService.uploadFiles(fdkkUploadRequest, files, token);
         return ResultData.ok(fdkkResponse.getMsg(),fdkkResponse.getData());
         return ResultData.ok(fdkkResponse.getMsg(),fdkkResponse.getData());
     }
     }
 
 
-
-    private JSONArray getProductByJsonObj(JSONArray tags){
-        for (Object obj : tags) {
-            JSONObject tag = (JSONObject) obj;
-            String sid = tag.getString("sid");
-            HotRelation hotRelation = hotRelationService.getById(sid);
-            if(hotRelation == null){
-                continue;
-            }
-            String relationIds = hotRelation.getRelationIds();
-            JSONArray jsonArray = JSONObject.parseArray(relationIds);
-            List<CdfProduct> products = new ArrayList<>();
-            for (Object o : jsonArray) {
-                String productId = (String) o;
-                CdfProductListRequest param = new CdfProductListRequest();
-                param.setKeyword(productId);
-                CdfProductListResponse productList = cdfClient.getProductList(param);
-                if(productList.getSearchResult().getType() == 0 && productList.getList().size() >0){
-                    CdfProduct cdfProduct = productList.getList().get(0);
-                    products.add(cdfProduct);
-                }
-
-            }
-            if(products.size() >0){
-                tag.put("products",products);
-            }
-        }
-        return tags;
-    }
 }
 }

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

@@ -66,32 +66,10 @@ public class SysDeptController {
 
 
     @PostMapping("/allList")
     @PostMapping("/allList")
     public ResultData list(){
     public ResultData list(){
-        return ResultData.ok(getDeptList(null));
+        return ResultData.ok(deptService.getDeptList(null));
 
 
     }
     }
 
 
-    private List<DeptVo> getDeptList(Integer parentId) {
-        LambdaQueryWrapper<Dept> queryWrapper = new LambdaQueryWrapper<>();
-        if(parentId == null){
-            queryWrapper.isNull(Dept::getParentId);
-        }else {
-            queryWrapper.eq(Dept::getParentId,parentId);
-        }
-        List<Dept> list = deptService.list(queryWrapper);
-        List<DeptVo> deptVoList = new ArrayList<>();
-        if(list.size() <=0){
-            return deptVoList;
-        }
-        for (Dept dept : list) {
-            DeptVo deptVo = new DeptVo();
-            BeanUtils.copyProperties(dept,deptVo);
-            deptVoList.add(deptVo);
-        }
-        for (DeptVo deptVo : deptVoList) {
-            deptVo.setChildren(getDeptList(deptVo.getId()));
-        }
-        return deptVoList;
-    }
 
 
 }
 }
 
 

+ 2 - 27
src/main/java/com/cdf/controller/SysMenuController.java

@@ -50,41 +50,16 @@ public class SysMenuController {
         wrapper.eq(RoleMenu::getRoleId,user.getRoleId());
         wrapper.eq(RoleMenu::getRoleId,user.getRoleId());
         List<RoleMenu> list = roleMenuService.list(wrapper);
         List<RoleMenu> list = roleMenuService.list(wrapper);
         List<Integer> menuId = list.stream().map(RoleMenu::getMenuId).collect(Collectors.toList());
         List<Integer> menuId = list.stream().map(RoleMenu::getMenuId).collect(Collectors.toList());
-        List<MenuVo> menuList = getMenuList(null,menuId);
+        List<MenuVo> menuList = menuService.getMenuList(null,menuId);
         return ResultData.ok(menuList);
         return ResultData.ok(menuList);
     }
     }
 
 
 
 
     @PostMapping("/allList")
     @PostMapping("/allList")
     public ResultData list(){
     public ResultData list(){
-        List<MenuVo> menuList = getMenuList(null,null);
+        List<MenuVo> menuList = menuService.getMenuList(null,null);
         return ResultData.ok(menuList);
         return ResultData.ok(menuList);
     }
     }
 
 
-    private List<MenuVo> getMenuList(Integer parentId,List<Integer> menuIds) {
-        LambdaQueryWrapper<Menu> queryWrapper = new LambdaQueryWrapper<>();
-        if(parentId == null){
-            queryWrapper.isNull(Menu::getParentId);
-        }else {
-            queryWrapper.eq(Menu::getParentId,parentId);
-        }
-        if(menuIds != null){
-            queryWrapper.in(Menu::getId,menuIds);
-        }
-        List<Menu> list = menuService.list(queryWrapper);
-        List<MenuVo> menuVoList = new ArrayList<>();
-        if(list.size() <=0){
-            return menuVoList;
-        }
-        for (Menu menu : list) {
-            MenuVo menuVo = new MenuVo();
-            BeanUtils.copyProperties(menu,menuVo);
-            menuVoList.add(menuVo);
-        }
-        for (MenuVo menu : menuVoList) {
-            menu.setChildren(getMenuList(menu.getId(),menuIds));
-        }
-        return menuVoList;
-    }
 }
 }
 
 

+ 1 - 20
src/main/java/com/cdf/controller/SysRoleController.java

@@ -49,26 +49,7 @@ public class SysRoleController {
 
 
     @PostMapping("/saveRoleMenu")
     @PostMapping("/saveRoleMenu")
     public ResultData saveRoleMenu(@RequestBody RoleMenuRequest param){
     public ResultData saveRoleMenu(@RequestBody RoleMenuRequest param){
-        if(param.getRoleId() == null){
-            throw new BusinessException(ResultCode.PARAM_MISS);
-        }
-        LambdaQueryWrapper<RoleMenu> wrapper = new LambdaQueryWrapper<>();
-        wrapper.eq(RoleMenu::getRoleId,param.getRoleId());
-        List<RoleMenu> roleMenuList = roleMenuService.list(wrapper);
-        if(roleMenuList.size() >0){
-            roleMenuService.removeByIds(roleMenuList);
-        }
-        if(param.getMenuIds() == null || param.getMenuIds().size() <=0){
-            return ResultData.ok();
-        }
-        List<RoleMenu> roleMenus = new ArrayList<>();
-        for (Integer menuId : param.getMenuIds()) {
-            RoleMenu roleMenu = new RoleMenu();
-            roleMenu.setRoleId(param.getRoleId());
-            roleMenu.setMenuId(menuId);
-            roleMenus.add(roleMenu);
-        }
-        roleMenuService.saveBatch(roleMenus);
+        roleMenuService.saveRoleMenu(param);
         return ResultData.ok();
         return ResultData.ok();
     }
     }
 
 

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

@@ -13,4 +13,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface IDeptService extends IService<Dept> {
 public interface IDeptService extends IService<Dept> {
 
 
+    Object getDeptList(Integer parentId);
 }
 }

+ 4 - 0
src/main/java/com/cdf/service/IMenuService.java

@@ -2,6 +2,9 @@ package com.cdf.service;
 
 
 import com.cdf.entity.Menu;
 import com.cdf.entity.Menu;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.cdf.response.MenuVo;
+
+import java.util.List;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +16,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface IMenuService extends IService<Menu> {
 public interface IMenuService extends IService<Menu> {
 
 
+    List<MenuVo> getMenuList(Integer parentId,List<Integer> menuIds);
 }
 }

+ 2 - 0
src/main/java/com/cdf/service/IRoleMenuService.java

@@ -2,6 +2,7 @@ package com.cdf.service;
 
 
 import com.cdf.entity.RoleMenu;
 import com.cdf.entity.RoleMenu;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.cdf.request.RoleMenuRequest;
 
 
 /**
 /**
  * <p>
  * <p>
@@ -13,4 +14,5 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
  */
 public interface IRoleMenuService extends IService<RoleMenu> {
 public interface IRoleMenuService extends IService<RoleMenu> {
 
 
+    void saveRoleMenu(RoleMenuRequest param);
 }
 }

+ 1 - 0
src/main/java/com/cdf/service/IRoleService.java

@@ -2,6 +2,7 @@ package com.cdf.service;
 
 
 import com.cdf.entity.Role;
 import com.cdf.entity.Role;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.cdf.request.RoleMenuRequest;
 
 
 /**
 /**
  * <p>
  * <p>

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

@@ -1,11 +1,17 @@
 package com.cdf.service.impl;
 package com.cdf.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.cdf.entity.Dept;
 import com.cdf.entity.Dept;
 import com.cdf.mapper.IDeptMapper;
 import com.cdf.mapper.IDeptMapper;
+import com.cdf.response.DeptVo;
 import com.cdf.service.IDeptService;
 import com.cdf.service.IDeptService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -17,4 +23,28 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class DeptServiceImpl extends ServiceImpl<IDeptMapper, Dept> implements IDeptService {
 public class DeptServiceImpl extends ServiceImpl<IDeptMapper, Dept> implements IDeptService {
 
 
+
+    @Override
+    public List<DeptVo> getDeptList(Integer parentId) {
+        LambdaQueryWrapper<Dept> queryWrapper = new LambdaQueryWrapper<>();
+        if(parentId == null){
+            queryWrapper.isNull(Dept::getParentId);
+        }else {
+            queryWrapper.eq(Dept::getParentId,parentId);
+        }
+        List<Dept> list = this.list(queryWrapper);
+        List<DeptVo> deptVoList = new ArrayList<>();
+        if(list.size() <=0){
+            return deptVoList;
+        }
+        for (Dept dept : list) {
+            DeptVo deptVo = new DeptVo();
+            BeanUtils.copyProperties(dept,deptVo);
+            deptVoList.add(deptVo);
+        }
+        for (DeptVo deptVo : deptVoList) {
+            deptVo.setChildren(getDeptList(deptVo.getId()));
+        }
+        return deptVoList;
+    }
 }
 }

+ 175 - 0
src/main/java/com/cdf/service/impl/FdkkSceneEditService.java

@@ -0,0 +1,175 @@
+package com.cdf.service.impl;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.cdf.common.ResultCode;
+import com.cdf.entity.FdkkUser;
+import com.cdf.entity.HotRelation;
+import com.cdf.exception.BusinessException;
+import com.cdf.httpClient.client.CdfClient;
+import com.cdf.httpClient.client.FdkkClient;
+import com.cdf.httpClient.request.FdkkHotData;
+import com.cdf.httpClient.request.FdkkHotRequest;
+import com.cdf.httpClient.request.FdkkUploadRequest;
+import com.cdf.httpClient.request.SceneRequest;
+import com.cdf.httpClient.response.FdkkResponse;
+import com.cdf.httpClient.response.cdf.CdfProduct;
+import com.cdf.httpClient.response.cdf.CdfProductListRequest;
+import com.cdf.httpClient.response.cdf.CdfProductListResponse;
+import com.cdf.service.IFdkkUserService;
+import com.cdf.service.IHotRelationService;
+import com.cdf.util.JwtUtil;
+import com.fdkankan.fyun.oss.UploadToOssUtil;
+import org.apache.commons.lang3.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.annotation.Resource;
+import java.io.File;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.List;
+import java.util.UUID;
+
+@Service
+public class FdkkSceneEditService {
+    @Resource
+    private UploadToOssUtil uploadToOssUtil;
+    @Value("${upload.bucket}")
+    private String bucket;
+    @Value("${fdkk.hot-path}")
+    private String hotPath;
+    @Resource
+    private FdkkClient fdkkClient;
+    @Resource
+    private CdfClient cdfClient;
+    @Autowired
+    private IFdkkUserService fdkkUserService;
+    @Autowired
+    private IHotRelationService hotRelationService;
+
+    private String getFdkkToken(String token){
+        Integer userId = JwtUtil.getId(token);
+        FdkkUser fdkkUser = fdkkUserService.getById(userId);
+        if(fdkkUser == null || StringUtils.isBlank(fdkkUser.getToken())){
+            throw new BusinessException(ResultCode.NOT_FDKK_TOKEN);
+        }
+        return fdkkUser.getToken();
+    }
+
+    public FdkkResponse saveTag(FdkkHotRequest fdkkHotRequest, String token) {
+        FdkkResponse fdkkResponse = fdkkClient.hotSave(fdkkHotRequest, getFdkkToken(token));
+        if(fdkkResponse.getCode() != 0){
+            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
+        }
+        List<FdkkHotData> hotDataList = fdkkHotRequest.getHotDataList();
+        for (FdkkHotData fdkkHotData : hotDataList) {
+            List<String> relationIds = fdkkHotData.getRelationIds();
+            String sid = fdkkHotData.getSid();
+            Integer type = fdkkHotData.getHotType();
+            HotRelation hotRelation = new HotRelation();
+            hotRelation.setHotId(sid);
+            hotRelation.setHotType(type);
+            hotRelation.setRelationIds(JSONArray.toJSONString(relationIds));
+            hotRelation.setNum(fdkkHotRequest.getNum());
+            hotRelationService.saveOrUpdate(hotRelation);
+        }
+        return fdkkResponse;
+    }
+
+    public void deleteTag(FdkkHotRequest fdkkHotRequest, String token) {
+        FdkkResponse fdkkResponse = fdkkClient.hotDelete(fdkkHotRequest,getFdkkToken(token));
+        if(fdkkResponse.getCode() !=0){
+            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
+        }
+        hotRelationService.removeByIds(fdkkHotRequest.getSidList());
+    }
+
+
+    public JSONObject getTagList(String num, String token) {
+        FdkkResponse fdkkResponse = fdkkClient.hotList(new SceneRequest(num), getFdkkToken(token));
+        if(fdkkResponse.getCode() !=0){
+            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
+        }
+        JSONObject jsonObject = JSONObject.parseObject(JSONObject.toJSONString(fdkkResponse.getData()));
+        JSONArray tags =jsonObject.getJSONArray("tags");
+        jsonObject.put("tags",getProductByJsonObj(tags));
+        return jsonObject;
+    }
+
+    public JSONArray getHotJson(String num, String token) {
+        String data = uploadToOssUtil.getObjectContent(bucket, String.format(hotPath, num));
+        if(StringUtils.isBlank(data)){
+            throw new BusinessException(ResultCode.NOT_RECORD);
+        }
+        JSONArray tags = JSONObject.parseArray(data);
+        return getProductByJsonObj(tags);
+    }
+
+    private JSONArray getProductByJsonObj(JSONArray tags){
+        for (Object obj : tags) {
+            JSONObject tag = (JSONObject) obj;
+            String sid = tag.getString("sid");
+            HotRelation hotRelation = hotRelationService.getById(sid);
+            if(hotRelation == null){
+                continue;
+            }
+            String relationIds = hotRelation.getRelationIds();
+            JSONArray jsonArray = JSONObject.parseArray(relationIds);
+            List<CdfProduct> products = new ArrayList<>();
+            for (Object o : jsonArray) {
+                String productId = (String) o;
+                CdfProductListRequest param = new CdfProductListRequest();
+                param.setKeyword(productId);
+                CdfProductListResponse productList = cdfClient.getProductList(param);
+                if(productList.getSearchResult().getType() == 0 && productList.getList().size() >0){
+                    CdfProduct cdfProduct = productList.getList().get(0);
+                    products.add(cdfProduct);
+                }
+
+            }
+            if(products.size() >0){
+                tag.put("products",products);
+            }
+        }
+        return tags;
+    }
+
+
+    public void publicScene(FdkkHotRequest fdkkHotRequest, String token) {
+        FdkkResponse fdkkResponse = fdkkClient.scenePublicScene(fdkkHotRequest.getNum(),getFdkkToken(token));
+        if(fdkkResponse.getCode() !=0){
+            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
+        }
+        String content = uploadToOssUtil.getObjectContent(bucket, String.format(hotPath, fdkkHotRequest.getNum()));
+        JSONArray jsonArray = JSONObject.parseArray(content);
+        if(jsonArray == null){
+            return ;
+        }
+        for (Object obj : jsonArray) {
+            JSONObject jsonObject= (JSONObject) obj;
+            String sid = jsonObject.getString("sid");
+            HotRelation hotRelation = hotRelationService.getById(sid);
+            jsonObject.put("hotRelation",hotRelation);
+        }
+    }
+
+    public FdkkResponse uploadFiles(FdkkUploadRequest fdkkUploadRequest, MultipartFile files, String token) throws IOException {
+        String path = null;
+        if(files !=null && files.getSize() >0){
+            String fileName = files.getOriginalFilename();
+            String prefix = fileName.substring(fileName.lastIndexOf("."));
+            File newFile = File.createTempFile(UUID.randomUUID().toString() ,prefix);
+            files.transferTo(newFile);
+            path = newFile.getPath();
+        }
+
+        FdkkResponse fdkkResponse = fdkkClient.uploadFiles(fdkkUploadRequest,path,getFdkkToken(token));
+        if(fdkkResponse.getCode() !=0){
+            throw new BusinessException(fdkkResponse.getCode(),fdkkResponse.getMsg());
+        }
+        return fdkkResponse;
+    }
+}

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

@@ -1,11 +1,17 @@
 package com.cdf.service.impl;
 package com.cdf.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.cdf.entity.Menu;
 import com.cdf.entity.Menu;
 import com.cdf.mapper.IMenuMapper;
 import com.cdf.mapper.IMenuMapper;
+import com.cdf.response.MenuVo;
 import com.cdf.service.IMenuService;
 import com.cdf.service.IMenuService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -17,4 +23,30 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class MenuServiceImpl extends ServiceImpl<IMenuMapper, Menu> implements IMenuService {
 public class MenuServiceImpl extends ServiceImpl<IMenuMapper, Menu> implements IMenuService {
 
 
+    @Override
+    public List<MenuVo> getMenuList(Integer parentId,List<Integer> menuIds) {
+        LambdaQueryWrapper<Menu> queryWrapper = new LambdaQueryWrapper<>();
+        if(parentId == null){
+            queryWrapper.isNull(Menu::getParentId);
+        }else {
+            queryWrapper.eq(Menu::getParentId,parentId);
+        }
+        if(menuIds != null){
+            queryWrapper.in(Menu::getId,menuIds);
+        }
+        List<Menu> list = this.list(queryWrapper);
+        List<MenuVo> menuVoList = new ArrayList<>();
+        if(list.size() <=0){
+            return menuVoList;
+        }
+        for (Menu menu : list) {
+            MenuVo menuVo = new MenuVo();
+            BeanUtils.copyProperties(menu,menuVo);
+            menuVoList.add(menuVo);
+        }
+        for (MenuVo menu : menuVoList) {
+            menu.setChildren(getMenuList(menu.getId(),menuIds));
+        }
+        return menuVoList;
+    }
 }
 }

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

@@ -1,11 +1,19 @@
 package com.cdf.service.impl;
 package com.cdf.service.impl;
 
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.cdf.common.ResultCode;
+import com.cdf.common.ResultData;
 import com.cdf.entity.RoleMenu;
 import com.cdf.entity.RoleMenu;
+import com.cdf.exception.BusinessException;
 import com.cdf.mapper.IRoleMenuMapper;
 import com.cdf.mapper.IRoleMenuMapper;
+import com.cdf.request.RoleMenuRequest;
 import com.cdf.service.IRoleMenuService;
 import com.cdf.service.IRoleMenuService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 import org.springframework.stereotype.Service;
 
 
+import java.util.ArrayList;
+import java.util.List;
+
 /**
 /**
  * <p>
  * <p>
  *  服务实现类
  *  服务实现类
@@ -17,4 +25,28 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class RoleMenuServiceImpl extends ServiceImpl<IRoleMenuMapper, RoleMenu> implements IRoleMenuService {
 public class RoleMenuServiceImpl extends ServiceImpl<IRoleMenuMapper, RoleMenu> implements IRoleMenuService {
 
 
+
+    @Override
+    public void saveRoleMenu(RoleMenuRequest param) {
+        if(param.getRoleId() == null){
+            throw new BusinessException(ResultCode.PARAM_MISS);
+        }
+        LambdaQueryWrapper<RoleMenu> wrapper = new LambdaQueryWrapper<>();
+        wrapper.eq(RoleMenu::getRoleId,param.getRoleId());
+        List<RoleMenu> roleMenuList = this.list(wrapper);
+        if(roleMenuList.size() >0){
+            this.removeByIds(roleMenuList);
+        }
+        if(param.getMenuIds() == null || param.getMenuIds().size() <=0){
+            return ;
+        }
+        List<RoleMenu> roleMenus = new ArrayList<>();
+        for (Integer menuId : param.getMenuIds()) {
+            RoleMenu roleMenu = new RoleMenu();
+            roleMenu.setRoleId(param.getRoleId());
+            roleMenu.setMenuId(menuId);
+            roleMenus.add(roleMenu);
+        }
+        this.saveBatch(roleMenus);
+    }
 }
 }

+ 1 - 0
src/main/java/com/cdf/service/impl/RoleServiceImpl.java

@@ -17,4 +17,5 @@ import org.springframework.stereotype.Service;
 @Service
 @Service
 public class RoleServiceImpl extends ServiceImpl<IRoleMapper, Role> implements IRoleService {
 public class RoleServiceImpl extends ServiceImpl<IRoleMapper, Role> implements IRoleService {
 
 
+
 }
 }