yangdamao 8 miesięcy temu
rodzic
commit
4fa87106af

+ 20 - 0
src/main/java/com/zhongzheng/api/OfficialApiController.java

@@ -128,4 +128,24 @@ public class OfficialApiController extends BaseController {
         return AjaxResult.success(list);
     }
 
+    /**
+     * H5云学堂教育类型
+     */
+    @ApiOperation("H5云学堂教育类型")
+    @GetMapping("/business/list")
+    public AjaxResult<List<CourseBusinessVo>> getBusinessList(OfficialOpenBo bo) {
+        List<CourseBusinessVo> list = officialApiService.getBusinessList(bo);
+        return AjaxResult.success(list);
+    }
+
+    /**
+     * H5云学堂商品列表
+     */
+    @ApiOperation("H5云学堂商品列表")
+    @GetMapping("/edu/h5/goods/list")
+    public AjaxResult<List<OfficialGoodsVo>> getEduApiGoodsList(OfficialOpenBo bo) {
+        List<OfficialGoodsVo> list = officialApiService.getEduApiGoodsList(bo);
+        return AjaxResult.success(list);
+    }
+
 }

+ 4 - 0
src/main/java/com/zhongzheng/service/IOfficialApiService.java

@@ -27,4 +27,8 @@ public interface IOfficialApiService {
     OfficialMenuVo detailMenu(Long menuId);
 
     List<OfficialRecommendVo> getEduGoodsList(OfficialOpenBo bo);
+
+    List<CourseBusinessVo> getBusinessList(OfficialOpenBo bo);
+
+    List<OfficialGoodsVo> getEduApiGoodsList(OfficialOpenBo bo);
 }

+ 79 - 0
src/main/java/com/zhongzheng/service/impl/OfficialApiServiceImpl.java

@@ -59,6 +59,9 @@ public class OfficialApiServiceImpl implements IOfficialApiService {
     @Value("${studyApi.domain}")
     private String SYS_DOMAIN;
 
+    @Value("${studyApi.h5Domain}")
+    private String SYS_H5DOMAIN;
+
     @Value("${studyApi.tenantId}")
     private String SYS_TENANTID;
 
@@ -249,6 +252,82 @@ public class OfficialApiServiceImpl implements IOfficialApiService {
         }
     }
 
+    @Override
+    public List<CourseBusinessVo> getBusinessList(OfficialOpenBo bo) {
+        CommonOfficialBo studentBo = new CommonOfficialBo();
+        Long nowTime = DateUtils.getNowTime();
+        String sign = ToolsUtils.EncoderByMd5(nowTime.toString() + "pubilc2022");
+        studentBo.setStamp(nowTime);
+        studentBo.setSign(sign);
+        HashMap<String, String> headersMap = new HashMap<>();
+        headersMap.put("TenantId",StringUtils.isNotBlank(bo.getTenantId())?bo.getTenantId():SYS_TENANTID);
+        String respone = "";
+        try {
+            respone = HttpUtils.sendPostHeader(SYS_EDUPATH, JSONObject.parseObject(JSONObject.toJSONString(studentBo)),headersMap);
+            if (!respone.contains("\"code\":200")) {
+                throw new CustomException("云学堂教育类型获取失败");
+            }
+            JSONObject jsonObject = JSONObject.parseObject(respone);
+            List<EducationVo> educationVos = JSONArray.parseArray(jsonObject.get("data").toString(), EducationVo.class);
+            List<CourseBusinessVo> businessVos = new ArrayList<>();
+            if (CollectionUtils.isNotEmpty(educationVos)){
+                //填充跳转地址
+                String path = SYS_H5DOMAIN + "pages/course/index?";
+                educationVos.forEach(item -> {
+                    if (CollectionUtils.isNotEmpty(item.getBusinessList())){
+                        item.getBusinessList().forEach(x -> {
+                            x.setJumpUrl(path+String.format("educationId=%s&projectId=%s&businessId=%s",item.getId(),x.getProjectId(),x.getId()));
+                        });
+                        businessVos.addAll(item.getBusinessList());
+                    }
+                });
+            }
+            return businessVos;
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new CustomException("云学堂教育类型获取失败");
+        }
+    }
+
+    @Override
+    public List<OfficialGoodsVo> getEduApiGoodsList(OfficialOpenBo bo) {
+        CommonOfficialBo studentBo = new CommonOfficialBo();
+        Long nowTime = DateUtils.getNowTime();
+        String sign = ToolsUtils.EncoderByMd5(nowTime.toString() + "pubilc2022");
+        studentBo.setStamp(nowTime);
+        studentBo.setSign(sign);
+        studentBo.setPlatform(2);
+        studentBo.setStatus(1);
+        HashMap<String, String> headersMap = new HashMap<>();
+        headersMap.put("TenantId",StringUtils.isNotBlank(bo.getTenantId())?bo.getTenantId():SYS_TENANTID);
+        String respone = "";
+        try {
+            respone = HttpUtils.sendPostHeader(SYS_GOODSPATH, JSONObject.parseObject(JSONObject.toJSONString(studentBo)),headersMap);
+            if (!respone.contains("\"code\":200")) {
+                throw new CustomException("云学堂推荐商品列表获取失败");
+            }
+            JSONObject jsonObject = JSONObject.parseObject(respone);
+            List<OfficialRecommendVo> educationVos = JSONArray.parseArray(jsonObject.get("data").toString(), OfficialRecommendVo.class);
+            List<OfficialGoodsVo> goodsVos = new ArrayList<>();
+            if (CollectionUtils.isNotEmpty(educationVos)){
+                //填充跳转地址
+                String path = SYS_H5DOMAIN + "pages3/course/detail?";
+                educationVos.forEach(item -> {
+                    if (CollectionUtils.isNotEmpty(item.getGoodsList())){
+                        for (OfficialGoodsVo goodsVo : item.getGoodsList()) {
+                            goodsVo.setJumpUrl(path+String.format("id=%s&goodsType=%s",goodsVo.getGoodsId(),goodsVo.getGoodsType()));
+                        }
+                        goodsVos.addAll(item.getGoodsList());
+                    }
+                });
+            }
+            return goodsVos;
+        } catch (Exception e) {
+            e.printStackTrace();
+            throw new CustomException("云学堂推荐商品列表获取失败");
+        }
+    }
+
     private void getChildren(OfficialMenuVo parent) {
         List<OfficialMenu> list = officialMenuService.list(new LambdaQueryWrapper<OfficialMenu>()
                 .eq(OfficialMenu::getParentId, parent.getMenuId())

+ 3 - 0
src/main/java/com/zhongzheng/vo/OfficialGoodsVo.java

@@ -22,6 +22,9 @@ public class OfficialGoodsVo implements Serializable {
 	@ApiModelProperty("商品id")
 	private Long goodsId;
 
+	@ApiModelProperty("商品类型")
+	private Integer goodsType;
+
 	@ApiModelProperty("商品名")
 	private String goodsName;
 

+ 1 - 0
src/main/resources/application-dev.yml

@@ -87,6 +87,7 @@ studySys:
 
 studyApi:
     domain: http://192.168.1.222:6002/
+    h5Domain: http://192.168.1.222:4000/
     tenantId: 867735392558919680
 
 

+ 1 - 0
src/main/resources/application-prod.yml

@@ -87,6 +87,7 @@ studySys:
 
 studyApi:
     domain: https://web.xyyxt.net/
+    h5Domain: https://h.xyyxt.net/
     tenantId: 867735392558919680