Przeglądaj źródła

修改生成默认直播间的逻辑

tianboguang 3 lat temu
rodzic
commit
6e3d567b1f

+ 24 - 0
platform-common/src/main/java/com/platform/service/impl/ZhiHouseService.java

@@ -17,6 +17,7 @@ import org.springframework.util.ObjectUtils;
 import org.springframework.web.client.RestTemplate;
 
 import java.util.HashMap;
+import java.util.List;
 import java.util.Map;
 
 @Service
@@ -159,4 +160,27 @@ public class ZhiHouseService {
 
         return responseEntity.getBody();
     }
+
+    public JSONObject queryBySceneNum(String sceneNum) {
+        RequestScene requestScene = new RequestScene();
+        requestScene.setNums(sceneNum);
+        JSONObject mySceneJsonData = getSceneFromZhiHouse(requestScene);
+        List<Object> mySceneList = mySceneJsonData.getJSONArray("list");
+        return JSONObject.parseObject(JSONObject.toJSONString(mySceneList.get(0)));
+    }
+
+    public Object generateDefaultLiveRoom(String sceneNum) {
+        String url = zhiHouseHost + "/scene/generateDefaultLiveRoom";
+        Map<String ,Object> params = new HashMap<>(1);
+        params.put("sceneNum",sceneNum);
+        ResponseEntity<ReturnDTO> responseEntity = restTemplate.postForEntity(url,params,ReturnDTO.class);
+        if(responseEntity.getStatusCode()!= HttpStatus.OK){
+            throw new CommonBaseException(ResultCodeEnum.D100,"生成直播间失败");
+        }
+        if (responseEntity.getBody().getCode() != 200) {
+            throw new CommonBaseException(ResultCodeEnum.D100,responseEntity.getBody().getError());
+        }
+
+        return responseEntity.getBody().getMessage();
+    }
 }

+ 23 - 18
platform-shop/src/main/java/com/platform/controller/BrandController.java

@@ -5,17 +5,22 @@ import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.platform.annotation.CanUserUpdateRecord;
-import com.platform.entity.*;
+import com.platform.entity.BrandEntity;
+import com.platform.entity.GoodsEntity;
+import com.platform.entity.Result;
+import com.platform.entity.SysUserEntity;
 import com.platform.service.BrandService;
 import com.platform.service.GoodsService;
-import com.platform.service.SceneService;
 import com.platform.service.SysUserService;
 import com.platform.service.custom.MySysUserBrandService;
 import com.platform.service.custom.TmBrandTypeService;
+import com.platform.service.impl.ZhiHouseService;
 import com.platform.utils.*;
 import com.platform.vo.BrandBindUserVo;
 import com.platform.vo.BrandRspVo;
-import io.swagger.annotations.*;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import io.swagger.annotations.ApiParam;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.BeanUtils;
@@ -49,7 +54,7 @@ public class BrandController extends AbstractController{
     private BrandService brandService;
 
     @Autowired
-    private SceneService sceneService;
+    private ZhiHouseService zhiHouseService;
 
     @Autowired
     private GoodsService goodsService;
@@ -137,9 +142,9 @@ public class BrandController extends AbstractController{
             if (!CollectionUtils.isEmpty(nameList)) {
                 brandRspVo.setBindShowerNameList(nameList.stream().collect(Collectors.joining(";")));
             }
-            SceneEntity scene = sceneService.queryByScene(brandEntity.getSceneNum());
-            brandRspVo.setSceneName(scene.getName());
-            brandRspVo.setSceneUrl(scene.getSceneUrl());
+            JSONObject jsonObject = zhiHouseService.queryBySceneNum(brandEntity.getSceneNum());
+            brandRspVo.setSceneName(jsonObject.getString("sceneName"));
+            brandRspVo.setSceneUrl(jsonObject.getString("webSite"));
             return brandRspVo;
         }).collect(Collectors.toList());
         return Result.success(PageUtilsPlus.page(rspBrandList,resultPage));
@@ -157,9 +162,9 @@ public class BrandController extends AbstractController{
         BrandEntity brand = brandService.queryObject(brandEntity.getId().intValue());
         BrandRspVo brandRspVo = new BrandRspVo();
         BeanUtils.copyProperties(brand,brandRspVo);
-        SceneEntity scene = sceneService.queryByScene(brand.getSceneNum());
-        brandRspVo.setSceneUrl(scene.getSceneUrl());
-        brandRspVo.setSceneName(scene.getName());
+        JSONObject jsonObject = zhiHouseService.queryBySceneNum(brand.getSceneNum());
+        brandRspVo.setSceneUrl(jsonObject.getString("webSite"));
+        brandRspVo.setSceneName(jsonObject.getString("sceneName"));
         return Result.success( brandRspVo);
     }
 
@@ -176,8 +181,8 @@ public class BrandController extends AbstractController{
         if(ObjectUtils.isEmpty(params.getSceneNum())){
             return Result.failure("场景码为空!");
         }
-        SceneEntity scene = sceneService.queryByScene(params.getSceneNum());
-        if(ObjectUtils.isEmpty(scene)){
+        JSONObject jsonObject = zhiHouseService.queryBySceneNum(params.getSceneNum());
+        if(ObjectUtils.isEmpty(jsonObject)){
             return Result.failure("场景码错误!");
         }
 
@@ -200,7 +205,7 @@ public class BrandController extends AbstractController{
                 brand.setType(0);
             }
             // 生成直播间地址
-            String liveRoomUrl = scene.getSceneUrl().replaceAll("smobile.html", "shop.html");
+            String liveRoomUrl = jsonObject.getString("webSite").replaceAll("smobile.html", "shop.html");
             brand.setLiveRoomUrl(liveRoomUrl);
 
             brandService.save(brand,true);
@@ -243,12 +248,12 @@ public class BrandController extends AbstractController{
             //场景码有变更 将新场景的分享二维码更新
             String wxShareQrCodeUrl = brandService.generalWxShareQrCode(brand, false);
             brand.setShareWxQrCode(wxShareQrCodeUrl);
-            SceneEntity scene = sceneService.queryByScene(brand.getSceneNum());
-            if(ObjectUtils.isEmpty(scene)){
+            JSONObject jsonObject = zhiHouseService.queryBySceneNum(brand.getSceneNum());
+            if(ObjectUtils.isEmpty(jsonObject)){
                 return Result.failure("场景码错误!");
             }
             // 生成直播间地址
-            String liveRoomUrl = scene.getSceneUrl().replaceAll("smobile.html", "shop.html");
+            String liveRoomUrl = jsonObject.getString("webSite").replaceAll("smobile.html", "shop.html");
             brand.setLiveRoomUrl(liveRoomUrl);
         }
 
@@ -345,8 +350,8 @@ public class BrandController extends AbstractController{
             }
             sceneNum = brand.getSceneNum();
 
-            SceneEntity sceneEntity = sceneService.queryByScene(sceneNum);
-            sceneName = sceneEntity.getName();
+            JSONObject sceneEntity = zhiHouseService.queryBySceneNum(sceneNum);
+            sceneName = sceneEntity.getString("sceneName");
 
             getResult = util.doGet(sceneData + "data/data" + sceneNum + "/hot.json");
             if(StringUtils.isEmpty(getResult)){

+ 10 - 79
platform-shop/src/main/java/com/platform/controller/SceneController.java

@@ -7,32 +7,29 @@ import com.platform.entity.BrandEntity;
 import com.platform.entity.Result;
 import com.platform.entity.SceneEntity;
 import com.platform.entity.SysUserEntity;
-import com.platform.enums.ResultCodeEnum;
 import com.platform.exception.CommonBaseException;
 import com.platform.service.BrandService;
 import com.platform.service.SceneService;
 import com.platform.service.SysDeptService;
 import com.platform.service.SysUserService;
 import com.platform.service.impl.ZhiHouseService;
-import com.platform.utils.*;
-import com.platform.vo.BrandBindUserVo;
+import com.platform.utils.Constant;
+import com.platform.utils.DepartmentUtils;
 import com.platform.vos.CurrentUserLoginVo;
 import com.platform.vos.RequestScene;
 import io.swagger.annotations.*;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.shiro.authz.annotation.RequiresPermissions;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.beans.factory.annotation.Value;
-import org.springframework.http.HttpEntity;
-import org.springframework.http.HttpHeaders;
-import org.springframework.http.ResponseEntity;
 import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
-import org.springframework.web.client.RestTemplate;
 
-import java.util.*;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -65,67 +62,6 @@ public class SceneController extends AbstractController{
     @Autowired
     private ZhiHouseService zhiHouseService;
 
-    /**
-     * 更新显示状态
-     */
-    @CanUserUpdateRecord
-    @RequestMapping("/update")
-    @RequiresPermissions("brand:list")
-    @Transactional(rollbackFor = Exception.class)
-    public Result updateShowStatus(@RequestBody SceneEntity sceneParam) {
-        if(ObjectUtils.isEmpty(sceneParam.getId()) && ObjectUtils.isEmpty(sceneParam.getSceneNum())){
-            log.error("参数有误");
-            return Result.failure("参数有误");
-        }
-        if(!ObjectUtils.isEmpty(sceneParam.getId())){
-            sceneService.update(sceneParam,true);
-        }else{
-            // 获取情景信息
-            RequestScene requestScene = new RequestScene();
-            requestScene.setToken(sceneParam.getToken());
-            requestScene.setNums("'"+sceneParam.getSceneNum()+"'");
-            requestScene.setUserId(-1L);
-            JSONObject mySceneJsonData = zhiHouseService.getSceneFromZhiHouse(requestScene);
-            if(ObjectUtils.isEmpty(mySceneJsonData) || !mySceneJsonData.containsKey("list")){
-                log.error("场景码错误!");
-                return Result.failure("场景码错误!");
-            }
-
-            List<Object> mySceneList = mySceneJsonData.getJSONArray("list");
-            if (ObjectUtils.isEmpty(mySceneList)) {
-                log.error("场景码错误!");
-                return Result.failure("场景码错误!");
-            }
-            JSONObject sceneRes = JSONObject.parseObject(JSONObject.toJSONString(mySceneList.get(0)));
-            SceneEntity sceneEntity = new SceneEntity();
-            sceneEntity.setIsShow(sceneParam.getIsShow());
-            if(ObjectUtils.isEmpty(sceneEntity.getIsShow())){
-                sceneEntity.setIsShow(0);
-            }
-            String webSite = sceneRes.getString("webSite");
-            sceneEntity.setSceneUrl(webSite);
-            sceneEntity.setAppListPicUrl(sceneParam.getAppListPicUrl());
-            String phone = sceneRes.getString("phone");
-            SysUserEntity userEntity = sysUserService.queryByUserMobile(phone);
-            if (ObjectUtils.isEmpty(userEntity)) {
-                log.error("找不到用户:{}",phone);
-                return Result.failure("找不到用户:" + phone);
-            }
-            sceneEntity.setCreateUserId(userEntity.getUserId());
-            sceneEntity.setName(sceneRes.getString("sceneName"));
-            if(!ObjectUtils.isEmpty(sceneParam.getName())){
-                sceneEntity.setName(sceneParam.getName());
-            }
-            sceneEntity.setSceneNum(sceneParam.getSceneNum());
-            int result = sceneService.save(sceneEntity,false);
-            if(result==0){
-                log.error("场景已经被绑定!");
-                return Result.failure("场景已经被绑定!");
-            }
-        }
-        return Result.success();
-    }
-
     public List<Long> getAllSubDeptIds(Long deptId) {
         if (null == deptId) {
             log.info("部门ID为空");
@@ -325,10 +261,8 @@ public class SceneController extends AbstractController{
     /**
      * 删除
      */
-    @CanUserUpdateRecord
     @PostMapping("/generateDefaultLiveRoom")
-    @RequiresPermissions("brand:delete")
-    public Result generateDefaultLiveRoom(@RequestBody SceneEntity requestScene) {
+    public Result generateDefaultLiveRoom(@RequestBody RequestScene requestScene) {
         try {
             String sceneNum = requestScene.getSceneNum();
             if (ObjectUtils.isEmpty(sceneNum)) {
@@ -340,13 +274,10 @@ public class SceneController extends AbstractController{
                 return Result.failure("直播间已存在!");
             }
 
-            SceneEntity entity = sceneService.queryByScene(sceneNum);
-            if (ObjectUtils.isEmpty(entity)) {
-                updateShowStatus(requestScene);
-            }
-            BrandEntity brandEntity = null;
+            Object result = zhiHouseService.generateDefaultLiveRoom(sceneNum);
 
-            brandEntity = brandService.generateDefaultLiveRoom(sceneNum);
+            SceneEntity sceneEntity = JSONObject.parseObject(JSONObject.toJSONString(result),SceneEntity.class);
+            BrandEntity brandEntity = brandService.generateDefaultLiveRoom(sceneEntity);
             if(ObjectUtils.isEmpty(brandEntity)){
                 return Result.failure("场景获取失败!");
             }

+ 6 - 2
platform-shop/src/main/java/com/platform/controller/SysUserController.java

@@ -191,8 +191,12 @@ public class SysUserController extends AbstractController {
      * 获取登录的用户信息
      */
     @GetMapping("/info")
-    public Result info() {
-        return Result.success(getUser());
+    public Result info(String phone) {
+        if(ObjectUtils.isEmpty(phone)){
+            return Result.success(getUser());
+        }
+        SysUserEntity sysUserEntity = sysUserService.queryByUserMobile(phone);
+        return Result.success(sysUserEntity);
     }
 
     /**

+ 2 - 3
platform-shop/src/main/java/com/platform/service/BrandService.java

@@ -2,10 +2,9 @@ package com.platform.service;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.platform.entity.BrandEntity;
-
 import com.platform.entity.Result;
+import com.platform.entity.SceneEntity;
 import com.platform.vo.BrandBindUserVo;
-import org.apache.commons.lang.StringUtils;
 
 import java.util.List;
 import java.util.Map;
@@ -101,7 +100,7 @@ public interface BrandService {
 
     Result sendDataToApi(BrandEntity brandEntity);
 
-    BrandEntity generateDefaultLiveRoom(String sceneNum);
+    BrandEntity generateDefaultLiveRoom(SceneEntity requestScene);
 
     void bindUsers(List<BrandBindUserVo> brandBindUserVoList);
 

+ 2 - 5
platform-shop/src/main/java/com/platform/service/impl/BrandServiceImpl.java

@@ -16,6 +16,7 @@ import com.platform.service.custom.TmBrandTypeService;
 import com.platform.utils.*;
 import com.platform.vo.BrandBindUserVo;
 import com.platform.vos.CurrentUserLoginVo;
+import com.platform.vos.RequestScene;
 import org.apache.commons.lang.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
@@ -332,11 +333,7 @@ public class BrandServiceImpl implements BrandService {
     }
 
     @Override
-    public BrandEntity generateDefaultLiveRoom(String sceneNum) {
-        SceneEntity sceneEntity = sceneService.queryByScene(sceneNum);
-        if(ObjectUtils.isEmpty(sceneEntity)){
-            return null;
-        }
+    public BrandEntity generateDefaultLiveRoom(SceneEntity sceneEntity) {
         BrandEntity brandEntity = new BrandEntity();
         brandEntity.setName(sceneEntity.getName());
         brandEntity.setSimpleDesc(sceneEntity.getName());