he2802 2 lat temu
rodzic
commit
8569e6d12d

+ 15 - 3
zhongzheng-admin/src/main/java/com/zhongzheng/controller/common/CommonController.java

@@ -29,6 +29,8 @@ import com.zhongzheng.modules.alioss.service.OssService;
 import com.zhongzheng.modules.bank.service.IExamService;
 import com.zhongzheng.modules.bank.service.IQuestionOtherService;
 import com.zhongzheng.modules.base.bo.ConfigQueryBo;
+import com.zhongzheng.modules.course.bo.ExternalQuestionBo;
+import com.zhongzheng.modules.course.vo.ExternalQuestionVo;
 import com.zhongzheng.modules.distribution.bo.DistributionActivityGoodsQueryBo;
 import com.zhongzheng.modules.distribution.bo.DistributionCashWithdrawalPayBo;
 import com.zhongzheng.modules.distribution.service.IDistributionActivityGoodsService;
@@ -341,13 +343,23 @@ public class CommonController extends BaseController {
     @ApiOperation("学员学时图片修改")
     @PostMapping("common/student/image/update")
     public AjaxResult updateStudentImage(@RequestBody UpdateStudentImageBo bo) {
-//        if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
-//            return AjaxResult.error("签名错误");
-//        }
+        if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
+            return AjaxResult.error("签名错误");
+        }
         String base = iUserSubscribeService.updateStudentImage(bo);
         return AjaxResult.success(base);
     }
 
+    @ApiOperation("获取外部题库商品(山东题库)")
+    @PostMapping("common/external/question")
+    public AjaxResult getExternalQuestion(@RequestBody ExternalQuestionBo bo) {
+        if (!ToolsUtils.checkSignFromOldSys(bo.getStamp().toString(), bo.getSign())) {
+            return AjaxResult.error("签名错误");
+        }
+        List<ExternalQuestionVo> questionVos = iGoodsService.getExternalQuestion(bo);
+        return AjaxResult.success(questionVos);
+    }
+
 
     @ApiOperation("获取某场考试信息")
     @PostMapping("common/apply/detail")

+ 26 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/bo/ExternalQuestionBo.java

@@ -0,0 +1,26 @@
+package com.zhongzheng.modules.course.bo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+
+/**
+ * @author yangdamao
+ * @date 2023年09月12日 8:52
+ */
+@Data
+public class ExternalQuestionBo implements Serializable {
+
+    @ApiModelProperty("当前时间戳")
+    @NotBlank(message = "当前时间戳不能为空")
+    private Long stamp;
+
+    @ApiModelProperty("签名")
+    @NotBlank(message = "签名不能为空")
+    private String sign;
+
+    private Long tenantId;
+
+}

+ 38 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/course/vo/ExternalQuestionVo.java

@@ -0,0 +1,38 @@
+package com.zhongzheng.modules.course.vo;
+
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.NotBlank;
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+/**
+ * @author yangdamao
+ * @date 2023年09月12日 8:52
+ */
+@Data
+public class ExternalQuestionVo implements Serializable {
+
+    @ApiModelProperty("商品ID")
+    private Long goodsId;
+
+    @ApiModelProperty("商家ID")
+    private Long merchantId;
+
+    @ApiModelProperty("商品名称")
+    private String goodsName;
+
+    @ApiModelProperty("商家名称")
+    private String merchantName;
+
+    @ApiModelProperty("做题次数")
+    private Integer doNum;
+
+    @ApiModelProperty("商品价格")
+    private BigDecimal goodsPrice;
+
+    @ApiModelProperty("封面地址")
+    private String coverUrl;
+
+}

+ 5 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/mapper/GoodsMapper.java

@@ -3,7 +3,9 @@ package com.zhongzheng.modules.goods.mapper;
 import com.baomidou.mybatisplus.annotation.InterceptorIgnore;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
+import com.zhongzheng.modules.course.bo.ExternalQuestionBo;
 import com.zhongzheng.modules.course.vo.CourseVo;
+import com.zhongzheng.modules.course.vo.ExternalQuestionVo;
 import com.zhongzheng.modules.exam.bo.ExamNumberGoodsQueryBo;
 import com.zhongzheng.modules.exam.vo.ExamNumberGoodsVo;
 import com.zhongzheng.modules.goods.bo.GoodsQueryBo;
@@ -86,4 +88,7 @@ public interface GoodsMapper extends BaseMapper<Goods> {
 
     @InterceptorIgnore(tenantLine = "true")
     List<UserOrderGoodsListVo> getUserOrderGoodsList(Long userId);
+
+    @InterceptorIgnore(tenantLine = "true")
+    List<ExternalQuestionVo> getExternalQuestion(ExternalQuestionBo bo);
 }

+ 4 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/IGoodsService.java

@@ -2,7 +2,9 @@ package com.zhongzheng.modules.goods.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.zhongzheng.modules.course.bo.CourseQueryBo;
+import com.zhongzheng.modules.course.bo.ExternalQuestionBo;
 import com.zhongzheng.modules.course.vo.CourseModuleFreeExamVo;
+import com.zhongzheng.modules.course.vo.ExternalQuestionVo;
 import com.zhongzheng.modules.exam.bo.ExamNumberGoodsQueryBo;
 import com.zhongzheng.modules.exam.vo.ExamNumberGoodsVo;
 import com.zhongzheng.modules.goods.bo.*;
@@ -148,4 +150,6 @@ public interface IGoodsService extends IService<Goods> {
 	List<UserOrderGoodsListVo> getUserOrderGoods(UserGoodsListBo bo);
 
 	Map<String,String> checkUserAccount(UserGoodsListBo bo);
+
+    List<ExternalQuestionVo> getExternalQuestion(ExternalQuestionBo bo);
 }

+ 13 - 0
zhongzheng-system/src/main/java/com/zhongzheng/modules/goods/service/impl/GoodsServiceImpl.java

@@ -283,6 +283,9 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
     @Value("${liveGotoURL}")
     private String URL_PREFIX;
 
+    @Value("${aliyun.oss.endpoint}")
+    private String OSS_PREFIX;
+
     private static Logger log = LoggerFactory.getLogger(GoodsServiceImpl.class);
 
     @Override
@@ -5127,6 +5130,16 @@ public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements
         return map;
     }
 
+    @Override
+    public List<ExternalQuestionVo> getExternalQuestion(ExternalQuestionBo bo) {
+        List<ExternalQuestionVo> questionVos = baseMapper.getExternalQuestion(bo);
+        //商品封面地址前缀 OSS_PREFIX
+        if (CollectionUtils.isNotEmpty(questionVos)){
+            questionVos.forEach(item -> item.setCoverUrl(String.format("%s/%s",OSS_PREFIX,item.getCoverUrl())));
+        }
+        return questionVos;
+    }
+
     private void updateHandoutsId(Long goodsId, Long tenantId, Long handoutsId) {
         baseMapper.updateHandoutsId(goodsId,tenantId,handoutsId);
     }

+ 18 - 0
zhongzheng-system/src/main/resources/mapper/modules/goods/GoodsMapper.xml

@@ -799,6 +799,24 @@
           AND og.tenant_id = #{tenantId}
     </select>
 
+    <select id="getExternalQuestion" parameterType="com.zhongzheng.modules.course.bo.ExternalQuestionBo" resultType="com.zhongzheng.modules.course.vo.ExternalQuestionVo">
+        SELECT
+            g.goods_id,
+            qm.merchant_id,
+            g.goods_name,
+            qm.merchant_name,
+            qm.do_num,
+            g.stand_price AS goodsPrice,
+            g.cover_url
+        FROM
+            question_merchant qm
+                LEFT JOIN goods g ON qm.merchant_id = g.question_merchant_id
+        WHERE
+            qm.`status` = 1
+          AND qm.tenant_id = #{tenantId}
+          AND g.`status` = 1
+    </select>
+
     <select id="queryGoodsByIdTenant" parameterType="map" resultType="com.zhongzheng.modules.goods.domain.Goods">
         SELECT *
         FROM `goods`