题库修改 #3
7
pom.xml
7
pom.xml
|
@ -145,6 +145,13 @@
|
|||
</dependency>
|
||||
<!-- 短信服务 -->
|
||||
|
||||
<!-- 微信支付 -->
|
||||
<dependency>
|
||||
<groupId>com.github.wechatpay-apiv3</groupId>
|
||||
<artifactId>wechatpay-java</artifactId>
|
||||
<version>0.2.11</version>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
|
|
@ -28,7 +28,8 @@ public class CorsConfig implements WebMvcConfigurer {
|
|||
registry.addInterceptor(authInterceptor).addPathPatterns("/**").excludePathPatterns("/**/login",
|
||||
"/error",
|
||||
"/webjars/**",
|
||||
"/doc.html");
|
||||
"/doc.html",
|
||||
"/tdQuestion/duima/*");
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -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;
|
||||
}
|
|
@ -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<String, Object> 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<String, Object> result = new HashMap<>();
|
||||
result.put("code", 200);
|
||||
result.put("data", tdQuestionService.updateQuestion(qusetionVo));
|
||||
return result;
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
|
|
@ -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();
|
||||
|
||||
}
|
||||
|
||||
//支付回调接口
|
||||
|
||||
//查询订单接口
|
||||
|
||||
//关闭订单接口
|
||||
}
|
|
@ -87,4 +87,10 @@ public class QuestionQueryDto implements Serializable {
|
|||
@ApiModelProperty("获取题数")
|
||||
private int Num;
|
||||
|
||||
/**
|
||||
* 题目
|
||||
*/
|
||||
@ApiModelProperty("题目")
|
||||
private String question;
|
||||
|
||||
}
|
||||
|
|
|
@ -0,0 +1,14 @@
|
|||
|
||||
package com.jwl.driver.server.dto;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
@Data
|
||||
public class WechatPayDto {
|
||||
|
||||
private Double money;//金额
|
||||
|
||||
private String code;
|
||||
|
||||
|
||||
}
|
|
@ -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;
|
||||
|
||||
}
|
||||
|
|
|
@ -31,4 +31,6 @@ public interface TdQuestionMapper extends BaseMapper<TdQuestion> {
|
|||
* @return
|
||||
*/
|
||||
List<QusetionVo> queryQuestionByRandom(@Param("queryDto") QuestionQueryDto queryDto);
|
||||
|
||||
int updateQuestion(@Param("qusetionVo") QusetionVo qusetionVo);
|
||||
}
|
||||
|
|
|
@ -53,4 +53,11 @@ public interface ITdQuestionService extends IService<TdQuestion> {
|
|||
* @return
|
||||
*/
|
||||
List<QusetionCategoryVo> questionCategory(QuestionQueryDto queryDto);
|
||||
|
||||
/**
|
||||
* 修改题库
|
||||
* @param qusetionVo
|
||||
* @return
|
||||
*/
|
||||
int updateQuestion(QusetionVo qusetionVo);
|
||||
}
|
||||
|
|
|
@ -125,4 +125,9 @@ public class TdQuestionServiceImpl extends ServiceImpl<TdQuestionMapper, TdQuest
|
|||
}
|
||||
return resultList;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int updateQuestion(QusetionVo qusetionVo) {
|
||||
return this.getBaseMapper().updateQuestion(qusetionVo);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,6 +61,10 @@ public class SmsUtil {
|
|||
String code = (int)(Math.random()*999999)+ "";
|
||||
if (code.length() == 5){
|
||||
code = "0" + code;
|
||||
} else if(code.length() == 4){
|
||||
code = "00" + code;
|
||||
} else if(code.length() == 3){
|
||||
code = "000" + code;
|
||||
}
|
||||
// codeMap.put(phone, code);
|
||||
return code;
|
||||
|
|
|
@ -0,0 +1,7 @@
|
|||
package com.jwl.driver.server.util;
|
||||
|
||||
/**
|
||||
* 微信支付工具
|
||||
*/
|
||||
public class WechatPayUtil {
|
||||
}
|
|
@ -150,4 +150,25 @@ public class QusetionVo {
|
|||
*/
|
||||
@ApiModelProperty("是否生效")
|
||||
private String isActive;
|
||||
|
||||
/**
|
||||
* 是否vip题型
|
||||
*/
|
||||
@ApiModelProperty("是否VIP")
|
||||
private Integer isVip;
|
||||
/**
|
||||
* 是否易错
|
||||
*/
|
||||
@ApiModelProperty("是否易错")
|
||||
private Integer isError;
|
||||
/**
|
||||
* 是否v新规
|
||||
*/
|
||||
@ApiModelProperty("是否新规")
|
||||
private Integer isNew;
|
||||
/**
|
||||
* 考点
|
||||
*/
|
||||
@ApiModelProperty("考点")
|
||||
private String examKeys;
|
||||
}
|
||||
|
|
|
@ -42,6 +42,8 @@ driver:
|
|||
- /driver-api/swagger-resources
|
||||
- /driver-api/favicon.ico
|
||||
- /driver-api/tdSysUser/code
|
||||
- /tdQuestion/duima/list
|
||||
- /tdQuestion/duima/update
|
||||
|
||||
# 需要权限校验url集合
|
||||
needAuthEndPoints:
|
||||
|
@ -54,3 +56,13 @@ token:
|
|||
message:
|
||||
code:
|
||||
expireTime: 300
|
||||
|
||||
|
||||
|
||||
wechatpay:
|
||||
appId: 'wx756a7425037609fb'
|
||||
mchId: '1650477646'
|
||||
apiV3Key: 'JingWuLianJiaKao20120813ZhouHong'
|
||||
mchSerialNo: '52974C99DFCC518EA2E5AD20C3753E38B924868D'
|
||||
privateKeyPath: 'classpath*:/wechatPay/**Mapper.xml'
|
||||
|
||||
|
|
|
@ -25,7 +25,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
|
||||
left join td_point_question tpq on tq.QUESTION_ID = tpq.QUESTION_ID and tq.CAR_TYPE_ID = tpq.CAR_TYPE_ID and
|
||||
tpq.IS_ACTIVE = '0'
|
||||
|
@ -43,6 +47,9 @@
|
|||
<if test="queryDto.chapter !=null and queryDto.chapter !=''">
|
||||
and tq.CHAPTER = #{queryDto.chapter}
|
||||
</if>
|
||||
<if test="queryDto.question !=null and queryDto.question !=''">
|
||||
and tq.QUESTION like concat('%' , #{queryDto.question} , '%')
|
||||
</if>
|
||||
<if test="queryDto.subject !=null and queryDto.subject !=''">
|
||||
and tq.SUBJECT = #{queryDto.subject}
|
||||
</if>
|
||||
|
@ -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
|
||||
<where>
|
||||
tq.IS_ACTIVE = '0'
|
||||
|
@ -105,4 +116,25 @@
|
|||
</where>
|
||||
order by rand() limit ${queryDto.num};
|
||||
</select>
|
||||
|
||||
<update id="updateQuestion" parameterType="com.jwl.driver.server.vo.QusetionVo">
|
||||
update td_question
|
||||
<trim prefix="SET" suffixOverrides=",">
|
||||
<if test="qusetionVo.isVip !=null">
|
||||
IS_VIP = #{qusetionVo.isVip},
|
||||
</if>
|
||||
<if test="qusetionVo.isError !=null">
|
||||
IS_ERROR = #{qusetionVo.isError},
|
||||
</if>
|
||||
<if test="qusetionVo.isNew !=null">
|
||||
IS_NEW = #{qusetionVo.isNew},
|
||||
</if>
|
||||
<if test="qusetionVo.examKeys !=null">
|
||||
EXAM_KEYS = #{qusetionVo.examKeys},
|
||||
</if>
|
||||
</trim>
|
||||
where QUESTION_ID = #{qusetionVo.questionId}
|
||||
</update>
|
||||
|
||||
|
||||
</mapper>
|
||||
|
|
|
@ -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-----
|
|
@ -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-----
|
Loading…
Reference in New Issue