Bläddra i källkod

Merge branch 'master' of ssh://192.168.8.213:10022/miaxis/twzd

Althars123 3 år sedan
förälder
incheckning
8c20fa77f6

+ 9 - 0
twzd-admin/src/main/java/com/miaxis/app/controller/h5/QuestionInfoController.java

@@ -11,6 +11,7 @@ import com.miaxis.question.service.IQuestionInfoService;
 import com.miaxis.question.vo.QuestionInfoDfVO;
 import com.miaxis.question.vo.QuestionInfoFlVO;
 import com.miaxis.question.vo.QuestionInfoJxVO;
+import com.miaxis.question.vo.QuestionInfoSxVO;
 import io.swagger.annotations.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -150,6 +151,14 @@ public class QuestionInfoController extends BaseController{
         return questionInfoService.selectFlQuestionInfo(questionInfoFlDTO);
     }
 
+    /**
+     * 获取顺序练习分类
+     */
+    @GetMapping(value = "/selectSxQustionInfo")
+    @ApiOperation("获取顺序练习分类")
+    public List<QuestionInfoSxVO> selectSxQuestionInfo(@ModelAttribute QuestionInfoFlDTO questionInfoFlDTO) {
+        return questionInfoService.selectSxQuestionInfo(questionInfoFlDTO);
+    }
 
 
     /**

+ 63 - 1
twzd-admin/src/main/java/com/miaxis/app/controller/wx/WxNotifyController.java

@@ -1,6 +1,7 @@
 package com.miaxis.app.controller.wx;
 
 
+import cn.hutool.core.date.DateUtil;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.miaxis.common.config.WxpayConfig;
@@ -9,6 +10,9 @@ import com.miaxis.common.core.domain.entity.UserInfo;
 import com.miaxis.common.exception.CustomException;
 import com.miaxis.common.utils.AesUtil;
 import com.miaxis.extension.service.IWxExtensionIncomeService;
+import com.miaxis.feign.dto.WxGzhMini;
+import com.miaxis.feign.dto.WxMessageTemplate;
+import com.miaxis.feign.service.IWxSendService;
 import com.miaxis.framework.web.service.TokenService;
 import com.miaxis.user.service.IUserInfoService;
 import com.miaxis.wx.domain.RefundRecord;
@@ -16,6 +20,7 @@ import com.miaxis.wx.domain.WxOrder;
 import com.miaxis.wx.dto.WxNotifyReturnDTO;
 import com.miaxis.wx.dto.WxpayNotifyDTO;
 import com.miaxis.wx.service.IRefundRecordService;
+import com.miaxis.wx.service.IWxGzhService;
 import com.miaxis.wx.service.IWxOrderService;
 import com.wechat.pay.contrib.apache.httpclient.auth.AutoUpdateCertificatesVerifier;
 import io.swagger.annotations.Api;
@@ -69,6 +74,11 @@ public class WxNotifyController {
     @Autowired
     private IWxExtensionIncomeService wxExtensionIncomeService;
 
+    @Autowired
+    private IWxSendService wxSendService;
+
+    @Autowired
+    private IWxGzhService wxGzhService;
 
 
 
@@ -245,6 +255,8 @@ public class WxNotifyController {
 ////        //刷新缓存中的数据
 ////        tokenService.refreshToken(loginUser);
 
+        //发送模板消息
+        messageTemplateSend(userinfo,wxOrder);
 
         // 分成
         wxExtensionIncomeService.addExtensionIncomeBySourceId(wxOrder.getOutTradeNo(),wxOrder.getOpenid(),wxOrder.getTotal());
@@ -260,8 +272,58 @@ public class WxNotifyController {
     }
 
 
+    /**
+     * 发送模板信息
+     * @param userInfo 用户信息
+     * @param wxOrder 订单信息
+     */
+    private void messageTemplateSend(UserInfo userInfo,WxOrder wxOrder){
+
+        //获取tolen
+        String token = wxGzhService.getGzhToken();
+
+        WxMessageTemplate messageTemplate = new WxMessageTemplate();
+        messageTemplate.setTouser(userInfo.getOpenid());
+        messageTemplate.setTemplate_id("d1P87FFAAos_sHteTCA-slkFJesE8xkoDsRImVa58jc");
+        messageTemplate.setUrl("https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx67ca1b8c9816ef28&redirect_uri=http://jpcj-h5.zzxcx.net&response_type=code&scope=snsapi_userinfo&state=LOGIN#wechat_redirect");
+        WxGzhMini wxGzhMini = new WxGzhMini();
+        messageTemplate.setMiniprogram(wxGzhMini);
+
+        JSONObject jsonObject = new JSONObject();
+        JSONObject first = new JSONObject();
+        JSONObject keyword1 = new JSONObject();
+        JSONObject keyword2 = new JSONObject();
+        JSONObject keyword3 = new JSONObject();
+        JSONObject keyword4 = new JSONObject();
+        JSONObject keyword5 = new JSONObject();
+        JSONObject remark = new JSONObject();
+        first.put("value","恭喜您开通金牌车教会员成功!");
+        first.put("color","#173177");
+        keyword1.put("value","VIP会员");
+        keyword1.put("color","#173177");
+        keyword2.put("value", userInfo.getNickName());
+        keyword2.put("color","#173177");
+        keyword3.put("value","支付成功");
+        keyword3.put("color","#173177");
+        keyword4.put("value",wxOrder.getTotal()/100);
+        keyword4.put("color","#173177");
+        keyword5.put("value",DateUtil.format(userInfo.getExpireTime(), "yyyy-MM-dd HH:mm"));
+        keyword5.put("color","#173177");
+        remark.put("value","即日起,即可想享受会员特权");
+        remark.put("color","#173177");
+        jsonObject.put("first",first);
+        jsonObject.put("keyword1",keyword1);
+        jsonObject.put("keyword2",keyword2);
+        jsonObject.put("keyword3",keyword3);
+        jsonObject.put("keyword4",keyword4);
+        jsonObject.put("keyword5",keyword5);
+        jsonObject.put("remark",remark);
+        messageTemplate.setData(jsonObject);
+        String result = wxSendService.messageTemplateSend(token,messageTemplate);
+        JSONObject parseObject = JSONObject.parseObject(result);
+        log.info("模板消息:[{}],响应信息:[{}]",messageTemplate,parseObject);
 
-
+    }
 
 
 

+ 3 - 0
twzd-service/src/main/java/com/miaxis/question/mapper/QuestionInfoMapper.java

@@ -8,6 +8,7 @@ import com.miaxis.question.dto.QuestionInfoFlDTO;
 import com.miaxis.question.vo.QuestionInfoDfVO;
 import com.miaxis.question.vo.QuestionInfoFlVO;
 import com.miaxis.question.vo.QuestionInfoJxVO;
+import com.miaxis.question.vo.QuestionInfoSxVO;
 
 /**
  * 题库Mapper接口
@@ -28,6 +29,8 @@ public interface QuestionInfoMapper extends BaseMapper<QuestionInfo> {
 
     List<QuestionInfoJxVO> selectJxQuestionInfo(QuestionInfoFlDTO questionInfoFlDTO);
 
+    List<QuestionInfoSxVO> selectSxQuestionInfo(QuestionInfoFlDTO questionInfoFlDTO);
+
     List<QuestionInfoDfVO> selectDfQuestionInfo(QuestionInfoFlDTO questionInfoFlDTO);
 
     List<QuestionInfoFlVO> selectFlQuestionInfo(QuestionInfoFlDTO questionInfoFlDTO);

+ 5 - 0
twzd-service/src/main/java/com/miaxis/question/service/IQuestionInfoService.java

@@ -8,6 +8,7 @@ import com.miaxis.question.dto.QuestionInfoFlDTO;
 import com.miaxis.question.vo.QuestionInfoDfVO;
 import com.miaxis.question.vo.QuestionInfoFlVO;
 import com.miaxis.question.vo.QuestionInfoJxVO;
+import com.miaxis.question.vo.QuestionInfoSxVO;
 
 /**
  * 题库Service接口
@@ -33,4 +34,8 @@ public interface IQuestionInfoService extends IService<QuestionInfo>{
     List<QuestionInfoFlVO> selectFlQuestionInfo(QuestionInfoFlDTO questionInfoFlDTO);
 
     List<QuestionInfo> selectNormalQuestionInfoList(QuestionInfoDTO questionInfoDTO);
+
+    List<QuestionInfoSxVO> selectSxQuestionInfo(QuestionInfoFlDTO questionInfoFlDTO);
+
 }
+

+ 11 - 4
twzd-service/src/main/java/com/miaxis/question/service/impl/QuestionInfoServiceImpl.java

@@ -1,17 +1,19 @@
 package com.miaxis.question.service.impl;
 
-import java.util.List;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.miaxis.question.domain.QuestionInfo;
 import com.miaxis.question.dto.QuestionInfoDTO;
 import com.miaxis.question.dto.QuestionInfoFlDTO;
+import com.miaxis.question.mapper.QuestionInfoMapper;
+import com.miaxis.question.service.IQuestionInfoService;
 import com.miaxis.question.vo.QuestionInfoDfVO;
 import com.miaxis.question.vo.QuestionInfoFlVO;
 import com.miaxis.question.vo.QuestionInfoJxVO;
+import com.miaxis.question.vo.QuestionInfoSxVO;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
-import com.miaxis.question.mapper.QuestionInfoMapper;
-import com.miaxis.question.domain.QuestionInfo;
-import com.miaxis.question.service.IQuestionInfoService;
+
+import java.util.List;
 
 /**
  * 题库Service业务层处理
@@ -60,4 +62,9 @@ public class QuestionInfoServiceImpl extends ServiceImpl<QuestionInfoMapper, Que
         return questionInfoMapper.selectNormalQuestionInfoList(questionInfoDTO);
     }
 
+    @Override
+    public List<QuestionInfoSxVO> selectSxQuestionInfo(QuestionInfoFlDTO questionInfoFlDTO) {
+        return questionInfoMapper.selectSxQuestionInfo(questionInfoFlDTO);
+    }
+
 }

+ 29 - 0
twzd-service/src/main/java/com/miaxis/question/vo/QuestionInfoSxVO.java

@@ -0,0 +1,29 @@
+package com.miaxis.question.vo;
+
+import com.miaxis.common.core.domain.BaseBusinessEntity;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+/**
+ * 精选选分类返回对象
+ *
+ * @author miaxis
+ * @date 2021-10-20
+ */
+@Data
+@ApiModel(value = "QuestionInfoJxVO", description = "题库分类查询对象")
+public class QuestionInfoSxVO extends BaseBusinessEntity{
+    private static final long serialVersionUID = 1L;
+
+
+    @ApiModelProperty(value = "精选题(包含科一到科四)")
+    private String sequeIssue;
+
+    @ApiModelProperty(value = "题目在精选中所属的模块名称")
+    private String sequeIssueName;
+
+
+
+
+}

+ 22 - 0
twzd-service/src/main/resources/mapper/qustion/QuestionInfoMapper.xml

@@ -209,4 +209,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         class_issue + 0 ASC
     </select>
 
+
+    <select id="selectSxQuestionInfo"  resultType="com.miaxis.question.vo.QuestionInfoSxVO">
+        SELECT
+        DISTINCT
+        case WHEN seque_issue_name is null then '地方专题' else seque_issue_name end as "seque_issue_name",
+        seque_issue
+        FROM question_info
+        <where>
+            <if test="subject1 != null  and subject1 != ''"> and subject_1 = #{subject1}</if>
+            <if test="subject2 != null  and subject2 != ''"> and subject_2 = #{subject2}</if>
+            <if test="subject3 != null  and subject3 != ''"> and subject_3 = #{subject3}</if>
+            <if test="subject4 != null  and subject4 != ''"> and subject_4 = #{subject4}</if>
+            <if test="liceCar != null  and liceCar != ''"> and lice_car = #{liceCar} </if>
+            <if test="liceBus != null  and liceBus != ''"> and lice_bus = #{liceBus}</if>
+            <if test="liceTruck != null  and liceTruck != ''"> and lice_truck = #{liceTruck}</if>
+            <if test="liceMoto != null  and liceMoto != ''"> and lice_moto = #{liceMoto}</if>
+        </where>
+        ORDER BY
+        seque_issue + 0 ASC
+    </select>
+
+
 </mapper>