diff --git a/pom.xml b/pom.xml
index d9dd63a..b4f1f7d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -145,6 +145,13 @@
+
+
+ com.github.wechatpay-apiv3
+ wechatpay-java
+ 0.2.11
+
+
diff --git a/src/main/java/com/jwl/driver/server/config/CorsConfig.java b/src/main/java/com/jwl/driver/server/config/CorsConfig.java
index 9ffdd7d..1ce9bd7 100644
--- a/src/main/java/com/jwl/driver/server/config/CorsConfig.java
+++ b/src/main/java/com/jwl/driver/server/config/CorsConfig.java
@@ -28,7 +28,8 @@ public class CorsConfig implements WebMvcConfigurer {
registry.addInterceptor(authInterceptor).addPathPatterns("/**").excludePathPatterns("/**/login",
"/error",
"/webjars/**",
- "/doc.html");
+ "/doc.html",
+ "/tdQuestion/duima/*");
}
diff --git a/src/main/java/com/jwl/driver/server/config/WechatPayConfig.java b/src/main/java/com/jwl/driver/server/config/WechatPayConfig.java
new file mode 100644
index 0000000..c1a05e0
--- /dev/null
+++ b/src/main/java/com/jwl/driver/server/config/WechatPayConfig.java
@@ -0,0 +1,21 @@
+package com.jwl.driver.server.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+@ConfigurationProperties(prefix = "wechatpay")
+@Data
+@Component
+public class WechatPayConfig {
+ /** 应用ID */
+ private String appId;
+ /** 商户ID */
+ private String mchId;
+ /** 秘钥 */
+ private String apiV3Key;
+ /** 证书序列号 */
+ private String mchSerialNo;
+ /** 证书路径 */
+ private String privateKeyPath;
+}
diff --git a/src/main/java/com/jwl/driver/server/controller/TdQuestionController.java b/src/main/java/com/jwl/driver/server/controller/TdQuestionController.java
index dfffa36..ad77d2f 100644
--- a/src/main/java/com/jwl/driver/server/controller/TdQuestionController.java
+++ b/src/main/java/com/jwl/driver/server/controller/TdQuestionController.java
@@ -6,6 +6,7 @@ import com.jwl.driver.server.dto.QuestionQueryDto;
import com.jwl.driver.server.exception.BusinessException;
import com.jwl.driver.server.response.BaseResponse;
import com.jwl.driver.server.service.ITdQuestionService;
+import com.jwl.driver.server.vo.QusetionVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@@ -15,6 +16,8 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.stereotype.Controller;
import java.util.Collections;
+import java.util.HashMap;
+import java.util.Map;
import java.util.Objects;
/**
@@ -77,4 +80,25 @@ public class TdQuestionController {
return BaseResponse.success(tdQuestionService.questionCategory(queryDto));
}
+ @ApiOperation("对嘛接口-根据查询条件获取题目")
+ @GetMapping("/duima/list")
+ public Map listQuestion( QuestionQueryDto queryDto) {
+ log.info("获取题型======>queryDto:{}", queryDto);
+ Map result = new HashMap<>();
+ result.put("code", 200);
+ result.put("data", tdQuestionService.queryQuestion(queryDto));
+ return result;
+ }
+
+ @ApiOperation("对嘛接口-修改题库")
+ @PutMapping("/duima/update")
+ public Map updateQuestion(@RequestBody QusetionVo qusetionVo) {
+ log.info("修改题库======>qusetionVo:{}", qusetionVo);
+ Map result = new HashMap<>();
+ result.put("code", 200);
+ result.put("data", tdQuestionService.updateQuestion(qusetionVo));
+ return result;
+ }
+
+
}
diff --git a/src/main/java/com/jwl/driver/server/controller/WechatPayController.java b/src/main/java/com/jwl/driver/server/controller/WechatPayController.java
new file mode 100644
index 0000000..4e21ab7
--- /dev/null
+++ b/src/main/java/com/jwl/driver/server/controller/WechatPayController.java
@@ -0,0 +1,31 @@
+package com.jwl.driver.server.controller;
+
+import com.jwl.driver.server.dto.WechatPayDto;
+import com.jwl.driver.server.response.BaseResponse;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 微信支付 接口
+ */
+@RestController
+@RequestMapping("/wechat/pay")
+public class WechatPayController {
+
+ //生成预支付订单
+ @PostMapping("/prepay")
+ public BaseResponse createPrepay(@RequestBody WechatPayDto payDto){
+ //获取openId
+
+ return BaseResponse.success();
+
+ }
+
+ //支付回调接口
+
+ //查询订单接口
+
+ //关闭订单接口
+}
diff --git a/src/main/java/com/jwl/driver/server/dto/QuestionQueryDto.java b/src/main/java/com/jwl/driver/server/dto/QuestionQueryDto.java
index ab706b6..b8f0c7f 100644
--- a/src/main/java/com/jwl/driver/server/dto/QuestionQueryDto.java
+++ b/src/main/java/com/jwl/driver/server/dto/QuestionQueryDto.java
@@ -87,4 +87,10 @@ public class QuestionQueryDto implements Serializable {
@ApiModelProperty("获取题数")
private int Num;
+ /**
+ * 题目
+ */
+ @ApiModelProperty("题目")
+ private String question;
+
}
diff --git a/src/main/java/com/jwl/driver/server/dto/WechatPayDto.java b/src/main/java/com/jwl/driver/server/dto/WechatPayDto.java
new file mode 100644
index 0000000..0eaf28f
--- /dev/null
+++ b/src/main/java/com/jwl/driver/server/dto/WechatPayDto.java
@@ -0,0 +1,14 @@
+
+package com.jwl.driver.server.dto;
+
+import lombok.Data;
+
+@Data
+public class WechatPayDto {
+
+ private Double money;//金额
+
+ private String code;
+
+
+}
diff --git a/src/main/java/com/jwl/driver/server/entity/TdQuestion.java b/src/main/java/com/jwl/driver/server/entity/TdQuestion.java
index efe6ea8..b7cc9a0 100644
--- a/src/main/java/com/jwl/driver/server/entity/TdQuestion.java
+++ b/src/main/java/com/jwl/driver/server/entity/TdQuestion.java
@@ -158,4 +158,20 @@ public class TdQuestion implements Serializable {
private String isActive;
+ /**
+ * 是否易错
+ */
+ @TableField("IS_ERROR")
+ private Integer isError;
+ /**
+ * 是否v新规
+ */
+ @TableField("IS_NEW")
+ private Integer isNew;
+ /**
+ * 考点
+ */
+ @TableField("EXAM_KEYS")
+ private String examKeys;
+
}
diff --git a/src/main/java/com/jwl/driver/server/mapper/TdQuestionMapper.java b/src/main/java/com/jwl/driver/server/mapper/TdQuestionMapper.java
index b635b74..9f4eb88 100644
--- a/src/main/java/com/jwl/driver/server/mapper/TdQuestionMapper.java
+++ b/src/main/java/com/jwl/driver/server/mapper/TdQuestionMapper.java
@@ -31,4 +31,6 @@ public interface TdQuestionMapper extends BaseMapper {
* @return
*/
List queryQuestionByRandom(@Param("queryDto") QuestionQueryDto queryDto);
+
+ int updateQuestion(@Param("qusetionVo") QusetionVo qusetionVo);
}
diff --git a/src/main/java/com/jwl/driver/server/service/ITdQuestionService.java b/src/main/java/com/jwl/driver/server/service/ITdQuestionService.java
index 3d58369..af1c64a 100644
--- a/src/main/java/com/jwl/driver/server/service/ITdQuestionService.java
+++ b/src/main/java/com/jwl/driver/server/service/ITdQuestionService.java
@@ -53,4 +53,11 @@ public interface ITdQuestionService extends IService {
* @return
*/
List questionCategory(QuestionQueryDto queryDto);
+
+ /**
+ * 修改题库
+ * @param qusetionVo
+ * @return
+ */
+ int updateQuestion(QusetionVo qusetionVo);
}
diff --git a/src/main/java/com/jwl/driver/server/service/impl/TdQuestionServiceImpl.java b/src/main/java/com/jwl/driver/server/service/impl/TdQuestionServiceImpl.java
index c6db098..45cf998 100644
--- a/src/main/java/com/jwl/driver/server/service/impl/TdQuestionServiceImpl.java
+++ b/src/main/java/com/jwl/driver/server/service/impl/TdQuestionServiceImpl.java
@@ -125,4 +125,9 @@ public class TdQuestionServiceImpl extends ServiceImpl
and tq.CHAPTER = #{queryDto.chapter}
+
+ and tq.QUESTION like concat('%' , #{queryDto.question} , '%')
+
and tq.SUBJECT = #{queryDto.subject}
@@ -89,7 +96,11 @@
tq.TYPE,
tq.SHOW_ORDER,
tq.CAR_TYPE_ID,
- tq.IS_ACTIVE
+ tq.IS_ACTIVE,
+ tq.IS_VIP,
+ tq.IS_ERROR,
+ tq.IS_NEW,
+ tq.EXAM_KEYS
from td_question tq
tq.IS_ACTIVE = '0'
@@ -105,4 +116,25 @@
order by rand() limit ${queryDto.num};
+
+
+ update td_question
+
+
+ IS_VIP = #{qusetionVo.isVip},
+
+
+ IS_ERROR = #{qusetionVo.isError},
+
+
+ IS_NEW = #{qusetionVo.isNew},
+
+
+ EXAM_KEYS = #{qusetionVo.examKeys},
+
+
+ where QUESTION_ID = #{qusetionVo.questionId}
+
+
+
diff --git a/src/main/resources/wechatPay/apiclient_cert.pem b/src/main/resources/wechatPay/apiclient_cert.pem
new file mode 100644
index 0000000..3c212c2
--- /dev/null
+++ b/src/main/resources/wechatPay/apiclient_cert.pem
@@ -0,0 +1,25 @@
+-----BEGIN CERTIFICATE-----
+MIIEMTCCAxmgAwIBAgIUUpdMmd/MUY6i5a0gw3U+OLkkho0wDQYJKoZIhvcNAQEL
+BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
+FFRlbnBheS5jb20gQ0EgQ2VudGVyMRswGQYDVQQDExJUZW5wYXkuY29tIFJvb3Qg
+Q0EwHhcNMjMwODEzMTQzNDEyWhcNMjgwODExMTQzNDEyWjCBijETMBEGA1UEAwwK
+MTY1MDQ3NzY0NjEbMBkGA1UECgwS5b6u5L+h5ZWG5oi357O757ufMTYwNAYDVQQL
+DC3lronlvr3ph5HkupTogZTmlofljJbkvKDmkq3mnInpmZDotKPku7vlhazlj7gx
+CzAJBgNVBAYMAkNOMREwDwYDVQQHDAhTaGVuWmhlbjCCASIwDQYJKoZIhvcNAQEB
+BQADggEPADCCAQoCggEBAMwEjj4NiNqB0OsccgQG7bHJlBeG0oe/DBrC7//DH+qb
+1YtLhTiEiCkggAiEyUKdrrD1FsUzhvT3JwsYdH4irmNoRt6RI8f/3yywQ3jwIK5m
+gKtWhoCtKlrIM7b77hUaRmtYkA9dyRNVXdw1dBVAg+e+b1hjYVCMAoa/NDds0sXr
+E4F83ySf1lkTJcRhr9pxoPljNtSgHjk/pikN/ha0sMBWPypb7JQUuyYq64hIEEGF
+k8wxoMJpVZc96/AJQRXwkTsYfOmgeUSr8uGSFdTXKhMvQTyXoPD63p9cwDFGv+Ds
+HM+sPBzcKx3994/JuBUPIhokiRPvlffs5JySWFmU64ECAwEAAaOBuTCBtjAJBgNV
+HRMEAjAAMAsGA1UdDwQEAwID+DCBmwYDVR0fBIGTMIGQMIGNoIGKoIGHhoGEaHR0
+cDovL2V2Y2EuaXRydXMuY29tLmNuL3B1YmxpYy9pdHJ1c2NybD9DQT0xQkQ0MjIw
+RTUwREJDMDRCMDZBRDM5NzU0OTg0NkMwMUMzRThFQkQyJnNnPUhBQ0M0NzFCNjU0
+MjJFMTJCMjdBOUQzM0E4N0FEMUNERjU5MjZFMTQwMzcxMA0GCSqGSIb3DQEBCwUA
+A4IBAQA5L05YdcJs6035NDw/ynV5UsRMiexRvSOXV+UY7g2hJ/WaxLb3z6KalBZt
+ha42AGzj0QGpqssWzzZXF66UPxdz979ozQlUleR1NgPOEEibE3t0uK8jqaJHX+or
+64wA7A99nl1ZjTYSXnXDpO4CoEpFLj43WwNiEYITYx4W/AXyhuT/Xg4mAm/Oy/77
+FrG2KFopJ/xANtclbW25Anej2BnBthPSTF0ylz9IfY3eYO4kSV/o7JSjO3hbaxeD
+NIYhji7tjAz7wpXwZYhdPV1ws0ncvazUYS1zdnWAr+IhZcDbU/iXLIGw3zxslPtU
+miYEOvG5AD53Rr80o0iT41TSECWO
+-----END CERTIFICATE-----
diff --git a/src/main/resources/wechatPay/apiclient_key.pem b/src/main/resources/wechatPay/apiclient_key.pem
new file mode 100644
index 0000000..5eac1f1
--- /dev/null
+++ b/src/main/resources/wechatPay/apiclient_key.pem
@@ -0,0 +1,28 @@
+-----BEGIN PRIVATE KEY-----
+MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDMBI4+DYjagdDr
+HHIEBu2xyZQXhtKHvwwawu//wx/qm9WLS4U4hIgpIIAIhMlCna6w9RbFM4b09ycL
+GHR+Iq5jaEbekSPH/98ssEN48CCuZoCrVoaArSpayDO2++4VGkZrWJAPXckTVV3c
+NXQVQIPnvm9YY2FQjAKGvzQ3bNLF6xOBfN8kn9ZZEyXEYa/acaD5YzbUoB45P6Yp
+Df4WtLDAVj8qW+yUFLsmKuuISBBBhZPMMaDCaVWXPevwCUEV8JE7GHzpoHlEq/Lh
+khXU1yoTL0E8l6Dw+t6fXMAxRr/g7BzPrDwc3Csd/fePybgVDyIaJIkT75X37OSc
+klhZlOuBAgMBAAECggEAOc1wn5QmGgJ9tp8wjoOIBL8f/ipsq5ktTMe+R7B48neE
+YRrce87Q5RYYMFGu0/jo7aoC8YxPyEfd//7FwpcA4ZlBuv1ULe4IxRiLhVBDciYI
+foLdSMfHIEFopYdrRP9UxEUrS68+sQOWvDVI1lyZAqep1FkT0UZZ0OOLX8itTvVx
+6EN67EjpVfg60sQ3IxDc1qmhh/+qKC1XBmnCn73wB/OZ6EtVjmgQEVJFspK9bK7j
+J9zHBPTaeyNwC9eKKUeoxiESd5r2sugu8yZ8kvqwhJECa4AgHOZfskxG4YhmhROk
+l7aI0Vw/fXngj7hXyMXXHuk7FgkdMpNcVwz2RBR4AQKBgQDmaxiV52tjMp+vqNAi
+XjsE/jLAQuOI1Sz9gUoHipT4qdHnPgvtygMjSrVBCb28CE/tyNp3t/DVDuRmg+HE
+GGXhfJPA2L6uOelsH7QKyQlWSqcv8BykDPEumwhubjv/bjJw4/HkZOP3LiLSGuzu
+K+1dlcww3Fa2bEL62pN6TltdsQKBgQDiqxvG3vVIQo4kckaGNyrPDi55oph8k4H1
+s450YDfEXCy95PXpeltK9gJO/bUDmqcliLDY8PBK7aGcmEdkRcLo6KBpOS0KDRdu
+ATadnGn1w+DCtHSmrecZ5J6If+F/9YIPCCQ4gYXsVIniX6xDxhcR/Y6VVP0WwO37
+QwaDzmnO0QKBgAbl6eSC+xoLJ/CwUxrUS1wI6CgNWJZ+G0yzlC3JnlAbdWdA2kaS
+J6nk0KxTyFRaw1nRC4lN/m3CdmADTrz6JgKsIhhB5ON+ZFiSUmeIQTlOHtc2jwTy
+Rj4o8gWsUyuAdw4eJN27j3+U6AH2QGWY9xA4LdbAoe/wKcksxgGBWwbhAoGBAJSJ
+susxAqX2z3U82dBsaIZFcdlN3wWMGJctsoW64/CuwrcySqBVCWxnKH4hLjUNbMlg
++RtBUQaZENYwyGACg0bj4vLxf/1dNORmsSa58IoYcbrGTMdJoO9L7UPgIaMb/L3j
+BPFul5eWksEhFx9WuZmVgpGDn1MA3TNR6fwIEThxAoGBAIcHOfiJH3d3q33aODPA
+cqZb5RVNc1ZpiXC5yBwsiuTw3TYXuJmcUrRKuStsXXkIr2vyc3x9Af5+vWy7eJw/
++N+p5zxW9F5QQdEZKt/ALjXEonxkRlebz+GvsWYEP9+Li8DwFM1wlc97kLLt4XJn
+EK4LLlyBAz3ZBGm18p7RgnMP
+-----END PRIVATE KEY-----