项目调整

master
caolin 19 hours ago
parent d9e89b5c62
commit 59cc49e110
  1. 124
      .idea/uiDesigner.xml
  2. 2
      src/main/java/com/wrj/driver/server/constant/Constants.java
  3. 207
      src/main/java/com/wrj/driver/server/controller/AppletPayController.java
  4. 152
      src/main/java/com/wrj/driver/server/controller/H5PayController.java
  5. 20
      src/main/java/com/wrj/driver/server/controller/OrderPayInfoController.java
  6. 209
      src/main/java/com/wrj/driver/server/controller/PayNoticeLogController.java
  7. 22
      src/main/java/com/wrj/driver/server/controller/PayPrepayController.java
  8. 20
      src/main/java/com/wrj/driver/server/controller/PayPrepayResultController.java
  9. 20
      src/main/java/com/wrj/driver/server/controller/PayRefundController.java
  10. 20
      src/main/java/com/wrj/driver/server/controller/PayRefundResultController.java
  11. 28
      src/main/java/com/wrj/driver/server/controller/SysUserController.java
  12. 31
      src/main/java/com/wrj/driver/server/controller/TdCarouselImageController.java
  13. 20
      src/main/java/com/wrj/driver/server/controller/TdCategoryQuestionController.java
  14. 20
      src/main/java/com/wrj/driver/server/controller/TdExaminationRoomController.java
  15. 20
      src/main/java/com/wrj/driver/server/controller/TdExaminationRoomRoadController.java
  16. 52
      src/main/java/com/wrj/driver/server/controller/TdMemberController.java
  17. 20
      src/main/java/com/wrj/driver/server/controller/TdModuleQuestionController.java
  18. 20
      src/main/java/com/wrj/driver/server/controller/TdPointQuestionController.java
  19. 36
      src/main/java/com/wrj/driver/server/controller/TdProjectController.java
  20. 37
      src/main/java/com/wrj/driver/server/controller/TdQuestionJxController.java
  21. 52
      src/main/java/com/wrj/driver/server/controller/TdQuestionVersionController.java
  22. 29
      src/main/java/com/wrj/driver/server/controller/TdSecretController.java
  23. 26
      src/main/java/com/wrj/driver/server/controller/TdSecretQuestionController.java
  24. 136
      src/main/java/com/wrj/driver/server/controller/TdSysUserMemberController.java
  25. 31
      src/main/java/com/wrj/driver/server/controller/TdTenantCarController.java
  26. 20
      src/main/java/com/wrj/driver/server/controller/TdTrafficSignCategoryController.java
  27. 20
      src/main/java/com/wrj/driver/server/controller/TdTrafficSignQuestionController.java
  28. 20
      src/main/java/com/wrj/driver/server/controller/TdVideosController.java
  29. 53
      src/main/java/com/wrj/driver/server/controller/VoiceController.java
  30. 12
      src/main/java/com/wrj/driver/server/controller/WrjChapterController.java
  31. 18
      src/main/java/com/wrj/driver/server/controller/WrjDriverTypeController.java
  32. 47
      src/main/java/com/wrj/driver/server/controller/WrjQuestionController.java
  33. 12
      src/main/java/com/wrj/driver/server/controller/WrjQuestionTestController.java
  34. 32
      src/main/java/com/wrj/driver/server/controller/WrjSysConfigController.java
  35. 38
      src/main/java/com/wrj/driver/server/controller/WrjSysConfigListController.java
  36. 12
      src/main/java/com/wrj/driver/server/dto/BaseQueryDto.java
  37. 12
      src/main/java/com/wrj/driver/server/dto/ChapterQueryDto.java
  38. 31
      src/main/java/com/wrj/driver/server/dto/DriverSchoolDto.java
  39. 12
      src/main/java/com/wrj/driver/server/dto/LoginUserDto.java
  40. 52
      src/main/java/com/wrj/driver/server/dto/MemberQueryDto.java
  41. 55
      src/main/java/com/wrj/driver/server/dto/ProjectDto.java
  42. 75
      src/main/java/com/wrj/driver/server/dto/QuestionAddDto.java
  43. 26
      src/main/java/com/wrj/driver/server/dto/QuestionJxQueryDto.java
  44. 91
      src/main/java/com/wrj/driver/server/dto/QuestionQueryDto.java
  45. 13
      src/main/java/com/wrj/driver/server/dto/SecretQueryDto.java
  46. 20
      src/main/java/com/wrj/driver/server/dto/SysConfigDto.java
  47. 17
      src/main/java/com/wrj/driver/server/dto/TestQueryDto.java
  48. 3
      src/main/java/com/wrj/driver/server/dto/TestQuestionTypeDto.java
  49. 18
      src/main/java/com/wrj/driver/server/dto/TestSubmitDto.java
  50. 10
      src/main/java/com/wrj/driver/server/dto/UserMemberDto.java
  51. 139
      src/main/java/com/wrj/driver/server/entity/OrderPayInfo.java
  52. 85
      src/main/java/com/wrj/driver/server/entity/PayNoticeLog.java
  53. 130
      src/main/java/com/wrj/driver/server/entity/PayPrepay.java
  54. 124
      src/main/java/com/wrj/driver/server/entity/PayPrepayResult.java
  55. 118
      src/main/java/com/wrj/driver/server/entity/PayRefund.java
  56. 106
      src/main/java/com/wrj/driver/server/entity/PayRefundResult.java
  57. 52
      src/main/java/com/wrj/driver/server/entity/SysDistribution.java
  58. 63
      src/main/java/com/wrj/driver/server/entity/SysDistributionDetail.java
  59. 60
      src/main/java/com/wrj/driver/server/entity/SysUser.java
  60. 36
      src/main/java/com/wrj/driver/server/entity/SysUserLog.java
  61. 71
      src/main/java/com/wrj/driver/server/entity/TdCar.java
  62. 27
      src/main/java/com/wrj/driver/server/entity/TdCarouselImage.java
  63. 57
      src/main/java/com/wrj/driver/server/entity/TdCategoryQuestion.java
  64. 40
      src/main/java/com/wrj/driver/server/entity/TdChapter.java
  65. 70
      src/main/java/com/wrj/driver/server/entity/TdExaminationRoom.java
  66. 76
      src/main/java/com/wrj/driver/server/entity/TdExaminationRoomRoad.java
  67. 101
      src/main/java/com/wrj/driver/server/entity/TdMember.java
  68. 92
      src/main/java/com/wrj/driver/server/entity/TdMemberDiscount.java
  69. 58
      src/main/java/com/wrj/driver/server/entity/TdModuleQuestion.java
  70. 58
      src/main/java/com/wrj/driver/server/entity/TdPointQuestion.java
  71. 81
      src/main/java/com/wrj/driver/server/entity/TdProject.java
  72. 40
      src/main/java/com/wrj/driver/server/entity/TdQuestionJx.java
  73. 58
      src/main/java/com/wrj/driver/server/entity/TdQuestionVersion.java
  74. 28
      src/main/java/com/wrj/driver/server/entity/TdSecret.java
  75. 26
      src/main/java/com/wrj/driver/server/entity/TdSecretQuestion.java
  76. 61
      src/main/java/com/wrj/driver/server/entity/TdSysUserDiscount.java
  77. 72
      src/main/java/com/wrj/driver/server/entity/TdSysUserMember.java
  78. 64
      src/main/java/com/wrj/driver/server/entity/TdTenantApplet.java
  79. 50
      src/main/java/com/wrj/driver/server/entity/TdTenantCar.java
  80. 56
      src/main/java/com/wrj/driver/server/entity/TdTenantUser.java
  81. 82
      src/main/java/com/wrj/driver/server/entity/TdTrafficSignCategory.java
  82. 46
      src/main/java/com/wrj/driver/server/entity/TdUserDistribution.java
  83. 82
      src/main/java/com/wrj/driver/server/entity/TdVideos.java
  84. 75
      src/main/java/com/wrj/driver/server/entity/WrjChapter.java
  85. 29
      src/main/java/com/wrj/driver/server/entity/WrjDriverType.java
  86. 95
      src/main/java/com/wrj/driver/server/entity/WrjQuestion.java
  87. 24
      src/main/java/com/wrj/driver/server/entity/WrjQuestionTest.java
  88. 10
      src/main/java/com/wrj/driver/server/entity/WrjSysConfig.java
  89. 10
      src/main/java/com/wrj/driver/server/entity/WrjSysConfigList.java
  90. 42
      src/main/java/com/wrj/driver/server/entity/WrjTypeChapter.java
  91. 16
      src/main/java/com/wrj/driver/server/mapper/OrderPayInfoMapper.java
  92. 16
      src/main/java/com/wrj/driver/server/mapper/PayNoticeLogMapper.java
  93. 16
      src/main/java/com/wrj/driver/server/mapper/PayPrepayMapper.java
  94. 16
      src/main/java/com/wrj/driver/server/mapper/PayPrepayResultMapper.java
  95. 16
      src/main/java/com/wrj/driver/server/mapper/PayRefundMapper.java
  96. 16
      src/main/java/com/wrj/driver/server/mapper/PayRefundResultMapper.java
  97. 10
      src/main/java/com/wrj/driver/server/mapper/SysDistributionDetailMapper.java
  98. 8
      src/main/java/com/wrj/driver/server/mapper/SysDistributionMapper.java
  99. 7
      src/main/java/com/wrj/driver/server/mapper/SysUserLogMapper.java
  100. 13
      src/main/java/com/wrj/driver/server/mapper/TdCarChapterMapper.java
  101. Some files were not shown because too many files have changed in this diff Show More

@ -0,0 +1,124 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="Palette2">
<group name="Swing">
<item class="com.intellij.uiDesigner.HSpacer" tooltip-text="Horizontal Spacer" icon="/com/intellij/uiDesigner/icons/hspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="1" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="com.intellij.uiDesigner.VSpacer" tooltip-text="Vertical Spacer" icon="/com/intellij/uiDesigner/icons/vspacer.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="1" anchor="0" fill="2" />
</item>
<item class="javax.swing.JPanel" icon="/com/intellij/uiDesigner/icons/panel.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3" />
</item>
<item class="javax.swing.JScrollPane" icon="/com/intellij/uiDesigner/icons/scrollPane.svg" removable="false" auto-create-binding="false" can-attach-label="true">
<default-constraints vsize-policy="7" hsize-policy="7" anchor="0" fill="3" />
</item>
<item class="javax.swing.JButton" icon="/com/intellij/uiDesigner/icons/button.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="0" fill="1" />
<initial-values>
<property name="text" value="Button" />
</initial-values>
</item>
<item class="javax.swing.JRadioButton" icon="/com/intellij/uiDesigner/icons/radioButton.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="RadioButton" />
</initial-values>
</item>
<item class="javax.swing.JCheckBox" icon="/com/intellij/uiDesigner/icons/checkBox.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="3" anchor="8" fill="0" />
<initial-values>
<property name="text" value="CheckBox" />
</initial-values>
</item>
<item class="javax.swing.JLabel" icon="/com/intellij/uiDesigner/icons/label.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="8" fill="0" />
<initial-values>
<property name="text" value="Label" />
</initial-values>
</item>
<item class="javax.swing.JTextField" icon="/com/intellij/uiDesigner/icons/textField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JPasswordField" icon="/com/intellij/uiDesigner/icons/passwordField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JFormattedTextField" icon="/com/intellij/uiDesigner/icons/formattedTextField.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1">
<preferred-size width="150" height="-1" />
</default-constraints>
</item>
<item class="javax.swing.JTextArea" icon="/com/intellij/uiDesigner/icons/textArea.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTextPane" icon="/com/intellij/uiDesigner/icons/textPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JEditorPane" icon="/com/intellij/uiDesigner/icons/editorPane.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JComboBox" icon="/com/intellij/uiDesigner/icons/comboBox.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="2" anchor="8" fill="1" />
</item>
<item class="javax.swing.JTable" icon="/com/intellij/uiDesigner/icons/table.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JList" icon="/com/intellij/uiDesigner/icons/list.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="2" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTree" icon="/com/intellij/uiDesigner/icons/tree.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3">
<preferred-size width="150" height="50" />
</default-constraints>
</item>
<item class="javax.swing.JTabbedPane" icon="/com/intellij/uiDesigner/icons/tabbedPane.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSplitPane" icon="/com/intellij/uiDesigner/icons/splitPane.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="3" hsize-policy="3" anchor="0" fill="3">
<preferred-size width="200" height="200" />
</default-constraints>
</item>
<item class="javax.swing.JSpinner" icon="/com/intellij/uiDesigner/icons/spinner.svg" removable="false" auto-create-binding="true" can-attach-label="true">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSlider" icon="/com/intellij/uiDesigner/icons/slider.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="8" fill="1" />
</item>
<item class="javax.swing.JSeparator" icon="/com/intellij/uiDesigner/icons/separator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="6" anchor="0" fill="3" />
</item>
<item class="javax.swing.JProgressBar" icon="/com/intellij/uiDesigner/icons/progressbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1" />
</item>
<item class="javax.swing.JToolBar" icon="/com/intellij/uiDesigner/icons/toolbar.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="6" anchor="0" fill="1">
<preferred-size width="-1" height="20" />
</default-constraints>
</item>
<item class="javax.swing.JToolBar$Separator" icon="/com/intellij/uiDesigner/icons/toolbarSeparator.svg" removable="false" auto-create-binding="false" can-attach-label="false">
<default-constraints vsize-policy="0" hsize-policy="0" anchor="0" fill="1" />
</item>
<item class="javax.swing.JScrollBar" icon="/com/intellij/uiDesigner/icons/scrollbar.svg" removable="false" auto-create-binding="true" can-attach-label="false">
<default-constraints vsize-policy="6" hsize-policy="0" anchor="0" fill="2" />
</item>
</group>
</component>
</project>

@ -6,7 +6,7 @@ package com.wrj.driver.server.constant;
public class Constants {
public static Integer DEFAULT_CARTYPE_ID = -1;
public static Integer DEFAULT_TYPE_ID = -1;
//租户id
public static String HEADER_TENANT_ID = "tenant-id";

@ -1,207 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.constant.Constants;
import com.wrj.driver.server.entity.OrderPayInfo;
import com.wrj.driver.server.entity.TdTenantApplet;
import com.wrj.driver.server.exception.BusinessException;
import com.wrj.driver.server.interceptor.TenantContextHolder;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.IOrderPayInfoService;
import com.wrj.driver.server.service.ITdTenantAppletService;
import com.wrj.driver.server.util.WechatPayUtil;
import com.wrj.driver.server.vo.AppletPayVo;
import com.wechat.pay.java.core.Config;
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
import com.wechat.pay.java.core.RSAPublicKeyConfig;
import com.wechat.pay.java.core.exception.ServiceException;
import com.wechat.pay.java.service.payments.jsapi.JsapiServiceExtension;
import com.wechat.pay.java.service.payments.jsapi.model.*;
import com.wechat.pay.java.service.payments.model.Transaction;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
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;
import javax.annotation.Resource;
import java.math.BigDecimal;
/**
* 微信支付小程序 接口
*/
@Api(tags = "小程序支付")
@RestController
@RequestMapping("/applet/pay")
@Slf4j
public class AppletPayController {
@Resource
// private WechatPayConfig wechatPayConfig;
@Autowired
private IOrderPayInfoService orderPayInfoService;
@Autowired
private ITdTenantAppletService tdTenantAppletService;
//生成预支付订单
@ApiOperation("生成预支付订单")
@PostMapping("/prepay")
public BaseResponse createPrepay(@RequestBody AppletPayVo payDto){
// 构建service
log.info("payDto===================>{}",payDto);
payDto.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
//查询租户商户信息
TdTenantApplet tdTenantApplet = tdTenantAppletService.getById(payDto.getTenantId());
if (tdTenantApplet == null){
throw new BusinessException( "商户信息不存在,请联系服务人员");
}
OrderPayInfo orderPayInfo = orderPayInfoService
.createOrderPayInfo(payDto.getMoney(),payDto.getUserId(), payDto.getDescription(),
payDto.getTradeType(), payDto.getOutTradeNo(),"applet",
payDto.getDetailId(), payDto.getTenantId());
JsapiServiceExtension service = null;
if (tdTenantApplet.getIsNew()){
//新支付
service = createNewService(tdTenantApplet);
} else {
//老支付
service = createService(tdTenantApplet);
}
// JsapiServiceExtension service = createService(tdTenantApplet);
// 请求下单参数
PrepayRequest request = new PrepayRequest();
Amount amount = new Amount();
amount.setTotal(Integer.valueOf((payDto.getMoney().multiply(new BigDecimal("100")).setScale(0).toString())+""));
request.setAmount(amount);
request.setAppid(tdTenantApplet.getAppId());
request.setMchid(tdTenantApplet.getMchId());
request.setDescription(payDto.getDescription());
request.setNotifyUrl(tdTenantApplet.getPayNoticeUrl());
request.setOutTradeNo(orderPayInfo.getPayId().toString());
Payer payer = new Payer();
payer.setOpenid(WechatPayUtil.getOpenId(tdTenantApplet.getAppId(), tdTenantApplet.getAppSecret(), payDto.getCode()));
request.setPayer(payer);
// 调用下单方法,得到应答
PrepayWithRequestPaymentResponse response = service.prepayWithRequestPayment(request);
// 使用微信扫描 code_url 对应的二维码,即可体验Native支付
log.info("response=================>{}",response);
// return BaseResponse.success();
return BaseResponse.success(response);
}
private JsapiServiceExtension createNewService(TdTenantApplet tdTenantApplet) {
//现代码
Config config =
new RSAPublicKeyConfig.Builder()
.merchantId(tdTenantApplet.getMchId())
.privateKeyFromPath(tdTenantApplet.getPrivateKeyPath())
.publicKeyFromPath(tdTenantApplet.getPubKeyPath())
.publicKeyId(tdTenantApplet.getPubKeyId())
.merchantSerialNumber(tdTenantApplet.getMchSerialNo())
.apiV3Key(tdTenantApplet.getApiV3Key())
.build();
JsapiServiceExtension service = new JsapiServiceExtension.Builder().config(config).build();
return service;
}
/** 构建service */
private JsapiServiceExtension createService(TdTenantApplet tdTenantApplet) {
Config config =
new RSAAutoCertificateConfig.Builder()
.merchantId(tdTenantApplet.getMchId())
// .privateKey(PemUtil.loadPrivateKeyFromString(InputStreamUtil.getContentStr(tdTenantApplet.getPrivateKeyPath())))
.privateKeyFromPath(tdTenantApplet.getPrivateKeyPath())
.merchantSerialNumber(tdTenantApplet.getMchSerialNo())
.apiV3Key(tdTenantApplet.getApiV3Key())
.build();
JsapiServiceExtension service = new JsapiServiceExtension.Builder().config(config).build();
return service;
}
//查询订单接口
@ApiOperation("查询支付订单")
@PostMapping("/queryOrder")
public BaseResponse queryOrder(@RequestBody AppletPayVo payDto){
payDto.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
//查询租户商户信息
TdTenantApplet tdTenantApplet = tdTenantAppletService.getById(payDto.getTenantId());
if (tdTenantApplet == null){
throw new BusinessException( "商户信息不存在,请联系服务人员");
}
//获取openId
QueryOrderByOutTradeNoRequest queryRequest = new QueryOrderByOutTradeNoRequest();
queryRequest.setMchid(tdTenantApplet.getMchId());
//支付订单id
queryRequest.setOutTradeNo(payDto.getOutTradeNo());
JsapiServiceExtension service = null;
if (tdTenantApplet.getIsNew()){
//新支付
service = createNewService(tdTenantApplet);
} else {
//老支付
service = createService(tdTenantApplet);
}
try {
Transaction result = service.queryOrderByOutTradeNo(queryRequest);
System.out.println(result.getTradeState());
return BaseResponse.success(result);
} catch (ServiceException e) {
// API返回失败, 例如ORDER_NOT_EXISTS
System.out.printf("code=[%s], message=[%s]\n", e.getErrorCode(), e.getErrorMessage());
System.out.printf("reponse body=[%s]\n", e.getResponseBody());
return BaseResponse.fail(e.getErrorMessage());
}
}
//关闭订单接口
@ApiOperation("关闭支付订单")
@PostMapping("/closeOrder")
public BaseResponse closeOrder(@RequestBody AppletPayVo payDto){
payDto.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
//查询租户商户信息
TdTenantApplet tdTenantApplet = tdTenantAppletService.getById(payDto.getTenantId());
if (tdTenantApplet == null){
throw new BusinessException( "商户信息不存在,请联系服务人员");
}
JsapiServiceExtension service = null;
if (tdTenantApplet.getIsNew()){
//新支付
service = createNewService(tdTenantApplet);
} else {
//老支付
service = createService(tdTenantApplet);
}
CloseOrderRequest closeRequest = new CloseOrderRequest();
closeRequest.setMchid(tdTenantApplet.getMchId());
closeRequest.setOutTradeNo(payDto.getOutTradeNo());
// 方法没有返回值,意味着成功时API返回204 No Content
service.closeOrder(closeRequest);
return BaseResponse.success();
}
}

@ -1,152 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.config.WechatPayConfig;
import com.wrj.driver.server.constant.Constants;
import com.wrj.driver.server.entity.OrderPayInfo;
import com.wrj.driver.server.entity.TdTenantApplet;
import com.wrj.driver.server.exception.BusinessException;
import com.wrj.driver.server.interceptor.TenantContextHolder;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.IOrderPayInfoService;
import com.wrj.driver.server.service.ITdTenantAppletService;
import com.wrj.driver.server.util.InputStreamUtil;
import com.wrj.driver.server.vo.H5PayVo;
import com.wechat.pay.java.core.Config;
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
import com.wechat.pay.java.core.exception.ServiceException;
import com.wechat.pay.java.core.util.PemUtil;
import com.wechat.pay.java.service.payments.h5.H5Service;
import com.wechat.pay.java.service.payments.h5.model.*;
import com.wechat.pay.java.service.payments.model.Transaction;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
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;
import javax.annotation.Resource;
import java.math.BigDecimal;
/**
* 微信支付小程序 接口
*/
@Api(tags = "H5支付")
@RestController
@RequestMapping("/H5/pay")
@Slf4j
public class H5PayController {
@Resource
private WechatPayConfig tdTenantApplet;
@Autowired
private IOrderPayInfoService orderPayInfoService;
@Autowired
private ITdTenantAppletService tdTenantAppletService;
//生成预支付订单
@ApiOperation("生成预支付订单")
@PostMapping("/prepay")
public BaseResponse createPrepay(@RequestBody H5PayVo payVo){
// 构建service
payVo.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
//查询租户商户信息
TdTenantApplet tdTenantApplet = tdTenantAppletService.getById(payVo.getTenantId());
if (tdTenantApplet == null){
throw new BusinessException( "商户信息不存在,请联系服务人员");
}
H5Service service = createService(tdTenantApplet);
//在order_pay_info里新增一条数据
OrderPayInfo orderPayInfo = orderPayInfoService.createOrderPayInfo(payVo.getMoney(),payVo.getUserId(),payVo.getDescription(), payVo.getTradeType(), payVo.getOutTradeNo(), "h5", payVo.getDetailId(), payVo.getTenantId());
// 请求下单参数
PrepayRequest request = new PrepayRequest();
Amount amount = new Amount();
amount.setTotal(Integer.valueOf((payVo.getMoney().multiply(new BigDecimal("100")).setScale(0).toString())+""));
request.setAmount(amount);
request.setAppid(tdTenantApplet.getAppId());
request.setMchid(tdTenantApplet.getMchId());
request.setDescription(payVo.getDescription());
request.setNotifyUrl(tdTenantApplet.getPayNoticeUrl());
request.setOutTradeNo(orderPayInfo.getPayId().toString());
//场景参数
SceneInfo sceneInfo = new SceneInfo();
sceneInfo.setPayerClientIp(payVo.getClientIp());
request.setSceneInfo(sceneInfo);
// 调用下单方法,得到应答
PrepayResponse response = service.prepay(request);
// 使用微信扫描 code_url 对应的二维码,即可体验Native支付
// log.info(response);
return BaseResponse.success(response);
}
private H5Service createService(TdTenantApplet tdTenantApplet) {
Config config =
new RSAAutoCertificateConfig.Builder()
.merchantId(tdTenantApplet.getMchId())
.privateKey(PemUtil.loadPrivateKeyFromString(InputStreamUtil.getContentStr(tdTenantApplet.getPrivateKeyPath())))
// .privateKeyFromPath(tdTenantApplet.getPrivateKeyPath())
.merchantSerialNumber(tdTenantApplet.getMchSerialNo())
.apiV3Key(tdTenantApplet.getApiV3Key())
.build();
H5Service service = new H5Service.Builder().config(config).build();
return service;
}
//查询订单接口
@ApiOperation("查询支付订单")
@PostMapping("/queryOrder")
public BaseResponse queryOrder(@RequestBody H5PayVo payVo){
payVo.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
//查询租户商户信息
TdTenantApplet tdTenantApplet = tdTenantAppletService.getById(payVo.getTenantId());
if (tdTenantApplet == null){
throw new BusinessException( "商户信息不存在,请联系服务人员");
}
//获取openId
QueryOrderByOutTradeNoRequest queryRequest = new QueryOrderByOutTradeNoRequest();
queryRequest.setMchid(tdTenantApplet.getMchId());
//支付订单id
queryRequest.setOutTradeNo(payVo.getOutTradeNo());
H5Service service = createService(tdTenantApplet);
try {
Transaction result = service.queryOrderByOutTradeNo(queryRequest);
System.out.println(result.getTradeState());
return BaseResponse.success(result);
} catch (ServiceException e) {
// API返回失败, 例如ORDER_NOT_EXISTS
System.out.printf("code=[%s], message=[%s]\n", e.getErrorCode(), e.getErrorMessage());
System.out.printf("reponse body=[%s]\n", e.getResponseBody());
return BaseResponse.fail(e.getErrorMessage());
}
}
//关闭订单接口
@ApiOperation("关闭支付订单")
@PostMapping("/closeOrder")
public BaseResponse closeOrder(@RequestBody H5PayVo payVo){
payVo.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
//查询租户商户信息
TdTenantApplet tdTenantApplet = tdTenantAppletService.getById(payVo.getTenantId());
if (tdTenantApplet == null){
throw new BusinessException( "商户信息不存在,请联系服务人员");
}
H5Service service = createService(tdTenantApplet);
CloseOrderRequest closeRequest = new CloseOrderRequest();
closeRequest.setMchid(tdTenantApplet.getMchId());
closeRequest.setOutTradeNo(payVo.getOutTradeNo());
// 方法没有返回值,意味着成功时API返回204 No Content
service.closeOrder(closeRequest);
return BaseResponse.success();
}
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 支付表 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//orderPayInfo")
public class OrderPayInfoController {
}

@ -1,209 +0,0 @@
package com.wrj.driver.server.controller;
import cn.hutool.core.util.StrUtil;
import com.alibaba.fastjson.JSONObject;
import com.wrj.driver.server.entity.OrderPayInfo;
import com.wrj.driver.server.entity.TdTenantApplet;
import com.wrj.driver.server.enums.PurchaseProductTypeEnum;
import com.wrj.driver.server.exception.BusinessException;
import com.wrj.driver.server.service.IOrderPayInfoService;
import com.wrj.driver.server.service.ITdSysUserMemberService;
import com.wrj.driver.server.service.ITdTenantAppletService;
import com.wrj.driver.server.util.InputStreamUtil;
import com.wechat.pay.java.core.RSAAutoCertificateConfig;
import com.wechat.pay.java.core.RSAPublicKeyConfig;
import com.wechat.pay.java.core.notification.NotificationConfig;
import com.wechat.pay.java.core.notification.NotificationParser;
import com.wechat.pay.java.core.notification.RequestParam;
import com.wechat.pay.java.core.util.PemUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 支付回调日志表 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Api(tags = "支付回调")
@RestController
@RequestMapping("/payNoticeLog")
@Slf4j
public class PayNoticeLogController {
// @Resource
// private WechatPayConfig tdTenantApplet;
@Autowired
private ITdSysUserMemberService userMemberService;
@Autowired
private IOrderPayInfoService payInfoService;
@Autowired
private ITdTenantAppletService tdTenantAppletService;
/**
* 寻驾小程序 支付回调接口 本接口不能做验证
* @param wechatPayCertificateSerialNumber
* @param signature
* @param timstamp
* @param nonce
* @param requestBody
* @return
*/
@ApiOperation("支付回调接口")
@PostMapping("/{tenantId}")
public JSONObject payNotice(@RequestHeader("Wechatpay-Serial") String wechatPayCertificateSerialNumber,
@RequestHeader("Wechatpay-Signature") String signature,
@RequestHeader("Wechatpay-Timestamp") String timstamp,
@RequestHeader("Wechatpay-Nonce") String nonce,
@RequestBody String requestBody,
@PathVariable("tenantId") Long tenantId){
log.info("支付回调信息==============》{}",requestBody);
log.info("支付回调信息==============》tenantId{}",tenantId);
//查询租户id
TdTenantApplet tdTenantApplet = null;
if (tenantId != null){
//查询租户商户信息
tdTenantApplet = tdTenantAppletService.getById(tenantId);
}
if (tdTenantApplet == null){
log.info("支付回调==============》商户信息不存在");
throw new BusinessException( "商户信息不存在,请联系服务人员");
}
NotificationConfig config = null;
if (tdTenantApplet.getIsNew()){
//新支付
config = new RSAPublicKeyConfig.Builder()
.merchantId(tdTenantApplet.getMchId())
.privateKeyFromPath(tdTenantApplet.getPrivateKeyPath())
.publicKeyFromPath(tdTenantApplet.getPubKeyPath())
.publicKeyId(tdTenantApplet.getPubKeyId())
.merchantSerialNumber(tdTenantApplet.getMchSerialNo())
.apiV3Key(tdTenantApplet.getApiV3Key())
.build();
} else {
//老支付
config = new RSAAutoCertificateConfig.Builder()
.merchantId(tdTenantApplet.getMchId())
// .privateKey(PemUtil.loadPrivateKeyFromString(InputStreamUtil.getContentStr(tdTenantApplet.getPrivateKeyPath())))
.privateKeyFromPath(tdTenantApplet.getPrivateKeyPath())
.merchantSerialNumber(tdTenantApplet.getMchSerialNo())
.apiV3Key(tdTenantApplet.getApiV3Key())
.build();
}
RequestParam requestParam = new RequestParam.Builder()
.serialNumber(wechatPayCertificateSerialNumber)
.nonce(nonce)
.signature(signature)
.timestamp(timstamp)
// 若未设置signType,默认值为 WECHATPAY2-SHA256-RSA2048
.body(requestBody)
.build();
// 初始化 NotificationParser
NotificationParser parser = new NotificationParser(config);
// 验签并解密报文
JSONObject decryptObject = parser.parse(requestParam,JSONObject.class);
System.out.println("decryptObject="+decryptObject.toJSONString());
String trade_state=decryptObject.getString("trade_state");
//取业务id
String outTradeNo = decryptObject.getString("out_trade_no");
JSONObject jsonResponse = new JSONObject();
OrderPayInfo payInfo = payInfoService.getById(Long.parseLong(outTradeNo));
if(trade_state.equals("SUCCESS")) {
//各种业务逻辑
//1.订单详情表里修改数据
payInfoService.payNotice(payInfo,Boolean.TRUE);
//2.如果购买商品是会员则冲会员,其余的则不做操作
if (StrUtil.equals(payInfo.getPurchaseProductType(), PurchaseProductTypeEnum.MEMBER.getValue())){
userMemberService.purchaseMember(payInfo);
}
}else{
//还是各种业务逻辑
//1.订单详情表里修改数据
payInfoService.payNotice(payInfo,Boolean.FALSE);
}
jsonResponse.put("code", "SUCCESS");
jsonResponse.put("message", "成功");
return jsonResponse;
}
@ApiOperation("通关考支付回调接口")
@PostMapping("/tgk")
public JSONObject tGKPayNotice(@RequestHeader("Wechatpay-Serial") String wechatPayCertificateSerialNumber,
@RequestHeader("Wechatpay-Signature") String signature,
@RequestHeader("Wechatpay-Timestamp") String timstamp,
@RequestHeader("Wechatpay-Nonce") String nonce,
@RequestBody String requestBody){
log.info("支付回调信息==============》{}",requestBody);
//查询租户id
Long tenantId = 51710003l;
TdTenantApplet tdTenantApplet = tdTenantAppletService.getById(tenantId);
if (tdTenantApplet == null){
throw new BusinessException( "商户信息不存在,请联系服务人员");
}
NotificationConfig config = new RSAAutoCertificateConfig.Builder()
.merchantId(tdTenantApplet.getMchId())
.privateKey(PemUtil.loadPrivateKeyFromString(InputStreamUtil.getContentStr(tdTenantApplet.getPrivateKeyPath())))
// .privateKeyFromPath(tdTenantApplet.getPrivateKeyPath())
.merchantSerialNumber(tdTenantApplet.getMchSerialNo())
.apiV3Key(tdTenantApplet.getApiV3Key())
.build();
RequestParam requestParam = new RequestParam.Builder()
.serialNumber(wechatPayCertificateSerialNumber)
.nonce(nonce)
.signature(signature)
.timestamp(timstamp)
// 若未设置signType,默认值为 WECHATPAY2-SHA256-RSA2048
.body(requestBody)
.build();
// 初始化 NotificationParser
NotificationParser parser = new NotificationParser(config);
// 验签并解密报文
JSONObject decryptObject = parser.parse(requestParam,JSONObject.class);
System.out.println("decryptObject="+decryptObject.toJSONString());
String trade_state=decryptObject.getString("trade_state");
//取业务id
String outTradeNo = decryptObject.getString("out_trade_no");
JSONObject jsonResponse = new JSONObject();
OrderPayInfo payInfo = payInfoService.getById(Long.parseLong(outTradeNo));
if(trade_state.equals("SUCCESS")) {
//各种业务逻辑
//1.订单详情表里修改数据
payInfoService.payNotice(payInfo,Boolean.TRUE);
//2.如果购买商品是会员则冲会员,其余的则不做操作
if (StrUtil.equals(payInfo.getPurchaseProductType(), PurchaseProductTypeEnum.MEMBER.getValue())){
userMemberService.purchaseMember(payInfo);
}
}else{
//还是各种业务逻辑
//1.订单详情表里修改数据
payInfoService.payNotice(payInfo,Boolean.FALSE);
}
jsonResponse.put("code", "SUCCESS");
jsonResponse.put("message", "成功");
return jsonResponse;
}
}

@ -1,22 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RestController;
/**
* <p>
* 预支付表 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@RestController
@RequestMapping("/payPrepay")
public class PayPrepayController {
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 支付结果表 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//payPrepayResult")
public class PayPrepayResultController {
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 申请退款表 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//payRefund")
public class PayRefundController {
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 退款结果表 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//payRefundResult")
public class PayRefundResultController {
}

@ -3,12 +3,10 @@ package com.wrj.driver.server.controller;
import com.alibaba.fastjson.JSONObject;
import com.wrj.driver.server.constant.Constants;
import com.wrj.driver.server.dto.DriverSchoolDto;
import com.wrj.driver.server.dto.LoginUserDto;
import com.wrj.driver.server.interceptor.TenantContextHolder;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdSysUserLogService;
import com.wrj.driver.server.service.ITdSysUserService;
import com.wrj.driver.server.service.ISysUserLogService;
import com.wrj.driver.server.service.ISysUserService;
import com.wrj.driver.server.vo.LoginUserVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -29,15 +27,15 @@ import java.time.LocalDateTime;
*/
@RestController
@Api(tags = "用户管理")
@RequestMapping("/tdSysUser")
@RequestMapping("/sysUser")
@Slf4j
public class TdSysUserController {
public class SysUserController {
@Autowired
private ITdSysUserService userService;
private ISysUserService userService;
@Autowired
private ITdSysUserLogService userLogService;
private ISysUserLogService userLogService;
@ApiOperation("获取验证码")
@GetMapping("/code")
@ -50,9 +48,8 @@ public class TdSysUserController {
@PostMapping("/login")
public BaseResponse login(@RequestBody @Valid LoginUserDto loginUserDto) {
log.info("用户登录======>loginUserDto:{}", loginUserDto);
loginUserDto.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
LoginUserVo userVo = userService.login(loginUserDto);
userLogService.saveLog("用户登录", 4, loginUserDto.getDevice(), 1, userVo.getUserId(), JSONObject.toJSONString(loginUserDto), JSONObject.toJSONString(userVo), 0, LocalDateTime.now(), loginUserDto.getTenantId());
userLogService.saveLog("用户登录", 4, loginUserDto.getDevice(), 1, userVo.getUserId(), JSONObject.toJSONString(loginUserDto), JSONObject.toJSONString(userVo), 0, LocalDateTime.now());
return BaseResponse.success(userVo);
}
@ -61,7 +58,7 @@ public class TdSysUserController {
public BaseResponse loginOut(){
log.info("用户登出======>{}", LocalDateTime.now());
Long userId = userService.loginOut();
userLogService.saveLog("用户登出", 5, null, 1, userId, null, null, 0, LocalDateTime.now(), null);
userLogService.saveLog("用户登出", 5, null, 1, userId, null, null, 0, LocalDateTime.now());
return BaseResponse.success(userId);
}
@ -72,13 +69,4 @@ public class TdSysUserController {
log.info("获取用户信息======>");
return BaseResponse.success(userService.queryUserMessage());
}
@ApiOperation("用户绑定驾校")
@PostMapping("/bindSchool")
public BaseResponse bindSchool(@RequestBody @Valid DriverSchoolDto schoolDto) {
log.info("用户绑定驾校信息======>schoolDto{}",schoolDto);
return BaseResponse.success(userService.bindSchool(schoolDto));
}
}

@ -1,31 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.interceptor.TenantContextHolder;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdCarouselImageService;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@RequestMapping("/tdCarouselImage")
@Slf4j
public class TdCarouselImageController {
@Resource
private ITdCarouselImageService carouselImageService;
//查询轮播图信息
@ApiOperation("根据车型和科目查询章节")
@PostMapping("/queryList")
public BaseResponse queryList() {
log.info("获取轮播图======>queryDto:{}");
return BaseResponse.success(carouselImageService.queryList(TenantContextHolder.getTenantId()));
}
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 题型题目表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//tdCategoryQuestion")
public class TdCategoryQuestionController {
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 考场信息表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//tdExaminationRoom")
public class TdExaminationRoomController {
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 考场线路表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//tdExaminationRoomRoad")
public class TdExaminationRoomRoadController {
}

@ -1,52 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.dto.MemberQueryDto;
import com.wrj.driver.server.interceptor.TenantContextHolder;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdMemberService;
import com.wrj.driver.server.util.SecurityUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
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;
/**
* <p>
* 会员类型表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Api(tags = "会员")
@RestController
@RequestMapping("/tdMember")
@Slf4j
public class TdMemberController {
@Autowired
private ITdMemberService memberService;
@ApiOperation("查询会员列表")
@PostMapping("/queryMember")
public BaseResponse queryMember(@RequestBody MemberQueryDto queryDto) {
log.info("获取会员列表======>queryDto:{}", queryDto);
queryDto.setTenantId(TenantContextHolder.getTenantId());
return BaseResponse.success(memberService.queryMember(queryDto));
}
@ApiOperation("查询用户开通的会员")
@PostMapping("/queryUserMember")
public BaseResponse queryUserMember(@RequestBody MemberQueryDto queryDto) {
log.info("获取用户会员列表======>queryDto:{}", queryDto);
queryDto.setTenantId(TenantContextHolder.getTenantId());
return BaseResponse.success(memberService.queryUserMember(queryDto, SecurityUtil.getUserId()));
}
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 模块题目表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//tdModuleQuestion")
public class TdModuleQuestionController {
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 考点题目表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//tdPointQuestion")
public class TdPointQuestionController {
}

@ -1,36 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.dto.ProjectDto;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdProjectService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 考试项目表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Api(tags = "考试项目")
@RestController
@RequestMapping("/tdTestProject")
@Slf4j
public class TdProjectController {
@Autowired
private ITdProjectService projectService;
@ApiOperation("获取项目列表 (考试项目和基础操作)")
@PostMapping("/queryProjectList")
public BaseResponse list(@RequestBody ProjectDto projectDto) {
log.info("获取考试项目=========》projectDto{}",projectDto);
return BaseResponse.success(projectService.queryProjectList(projectDto));
}
}

@ -1,37 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.dto.QuestionJxQueryDto;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdQuestionJxService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* <p>
* 题库; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Api(tags = "精选题库")
@RestController
@RequestMapping("/tdQuestionJx")
@Slf4j
public class TdQuestionJxController {
@Autowired
private ITdQuestionJxService tdQuestionJxService;
@ApiOperation("查询精选题库id")
@PostMapping("/queryJXQuestionIds")
public BaseResponse queryJXQuestionIds(@RequestBody QuestionJxQueryDto queryDto) {
log.info("获取精选题型======>queryDto:{}", queryDto);
return BaseResponse.success(tdQuestionJxService.queryJXQuestionIds(queryDto));
}
}

@ -1,52 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.entity.TdQuestionVersion;
import com.wrj.driver.server.exception.BusinessException;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdQuestionVersionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.Objects;
/**
* <p>
* 题库版本表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-09-03
*/
@Api(tags = "题库版本")
@RestController
@RequestMapping("/tdQuestionVersion")
@Slf4j
public class TdQuestionVersionController {
@Autowired
private ITdQuestionVersionService versionService;
@ApiOperation("获取题库当前版本")
@GetMapping("/currentVersion")
public BaseResponse testSubmit(@RequestParam Integer carTypeId) {
log.info("获取题库当前版本======>carTypeId:{}", carTypeId);
return BaseResponse.success(versionService.currentVersion(carTypeId));
}
@ApiOperation("题库版本更新")
@PostMapping("/addVersion")
public BaseResponse addVersion(@RequestBody TdQuestionVersion versionDto) {
log.info("题库版本更新======>versionDto:{}", versionDto);
if (Objects.isNull(versionDto.getCarTypeId())){
throw new BusinessException("缺少必要参数");
}
return BaseResponse.success(versionService.addVersion(versionDto));
}
}

@ -1,29 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.dto.BaseQueryDto;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdSecretService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
/**
* 密卷
*/
@RestController
@RequestMapping("/tdSecret")
@Slf4j
public class TdSecretController {
@Resource
private ITdSecretService secretService;
//查询
@PostMapping("/querySecretIds")
public BaseResponse querySecretIds(@RequestBody BaseQueryDto queryDto) {
log.info("获取密卷ids======>queryDto:{}", queryDto);
return BaseResponse.success(secretService.querySecretIds(queryDto));
}
}

@ -1,26 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.dto.SecretQueryDto;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdSecretQuestionService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
@RestController
@RequestMapping("/tdSecretQuestion")
@Slf4j
public class TdSecretQuestionController {
@Resource
private ITdSecretQuestionService secretQuestionService;
//查询
@PostMapping("/querySecretQuestionIds")
public BaseResponse querySecretQuestionIds(@RequestBody SecretQueryDto queryDto) {
log.info("获取密卷明细ids======>queryDto:{}", queryDto);
return BaseResponse.success(secretQuestionService.querySecretQuestionIds(queryDto));
}
}

@ -1,136 +0,0 @@
package com.wrj.driver.server.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wrj.driver.server.dto.MemberQueryDto;
import com.wrj.driver.server.dto.UserMemberDto;
import com.wrj.driver.server.entity.TdMember;
import com.wrj.driver.server.entity.TdSysUser;
import com.wrj.driver.server.entity.TdSysUserMember;
import com.wrj.driver.server.service.ITdCarService;
import com.wrj.driver.server.service.ITdMemberService;
import com.wrj.driver.server.service.ITdSysUserMemberService;
import com.wrj.driver.server.service.ITdSysUserService;
import com.wrj.driver.server.vo.UserMemberVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.util.HashMap;
import java.util.Map;
/**
* <p>
* 用户会员表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@RestController
@RequestMapping("/tdSysUserMember")
@Slf4j
@Api(tags = "用户会员")
public class TdSysUserMemberController {
@Resource
private ITdMemberService memberService;
@Resource
private ITdSysUserMemberService userMemberService;
@Resource
private ITdCarService tdCarService;
@Resource
private ITdSysUserService userService;
/**
* 查询会员列表
* */
@ApiOperation("查询车型列表")
@GetMapping("/duima/car/list")
public Map getCarList(){
Map<String, Object> result = new HashMap<>();
result.put("code", 200);
result.put("data", tdCarService.list());
return result;
}
/**
* 查询会员列表
* */
@ApiOperation("查询会员类型列表")
@GetMapping("/duima/member/list")
public Map getMemberList(MemberQueryDto memberQueryDto){
Map<String, Object> result = new HashMap<>();
result.put("code", 200);
result.put("data", memberService.queryMember(memberQueryDto));
return result;
}
//查询用户会员列表
@ApiOperation("查询会员用户列表")
@GetMapping("/duima/user/member/list")
public Map getUserMemberList(UserMemberDto userMemberDto){
Map<String, Object> result = new HashMap<>();
result.put("code", 200);
result.put("data", userMemberService.queryUserMemberList(userMemberDto));
return result;
}
//新增会员
@ApiOperation("新增用户会员")
@PostMapping("/duima/user/member")
public Map addUserMember(@RequestBody UserMemberVo userMemberVo){
Map<String, Object> result = new HashMap<>();
final LocalDateTime nowTime = LocalDateTime.now();
//跟进手机号查询用户
LambdaQueryWrapper<TdSysUser> cond = new LambdaQueryWrapper<TdSysUser>()
.eq(TdSysUser::getPhone,userMemberVo.getPhone());
TdSysUser user = userService.getOne(cond);
if(user == null){
result.put("code", 500);
result.put("msg", "用户不存在");
return result;
}
//查询会员信息
TdMember member = memberService.getById(userMemberVo.getMemberId());
if (member == null){
result.put("code", 500);
result.put("msg", "会员信息不存在");
return result;
}
TdSysUserMember userMember = new TdSysUserMember()
.setMemberId(userMemberVo.getMemberId())
.setUserId(user.getUserId())
.setCreateTime(nowTime)
.setUpdateTime(nowTime)
.setStartDate(LocalDateTime.of(LocalDate.now(), LocalTime.MIN));
//会员有效期
if ("1".equals(member.getUnit())){
//日
userMember.setEndDate(LocalDateTime.of(LocalDate.now(), LocalTime.MIN).plusDays(member.getDuration()).minusSeconds(1));
} else if ("2".equals(member.getUnit())){
//月
userMember.setEndDate(LocalDateTime.of(LocalDate.now(), LocalTime.MIN).plusMonths(member.getDuration()).minusSeconds(1));
} else if ("3".equals(member.getUnit())){
//年
userMember.setEndDate(LocalDateTime.of(LocalDate.now(), LocalTime.MIN).plusYears(member.getDuration()).minusSeconds(1));
}
result.put("code", 200);
result.put("data", userMemberService.saveOrUpdate(userMember));
return result;
}
}

@ -1,31 +0,0 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.interceptor.TenantContextHolder;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdTenantCarService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@RestController
@Api(tags = "租户车型")
@RequestMapping("/tdTenantCar")
@Slf4j
public class TdTenantCarController {
@Resource
private ITdTenantCarService tdTenantCarService;
//查询租户车型信息
@ApiOperation("查询租户车型信息")
@PostMapping("/list")
public BaseResponse queryList() {
log.info("获取租户车型信息======>tenantId:{}", TenantContextHolder.getTenantId());
return BaseResponse.success(tdTenantCarService.queryList(TenantContextHolder.getTenantId()));
}
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 图标分类表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//tdTrafficSignCategory")
public class TdTrafficSignCategoryController {
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 图标分类相关题目表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Controller
@RequestMapping("//tdTrafficSignQuestion")
public class TdTrafficSignQuestionController {
}

@ -1,20 +0,0 @@
package com.wrj.driver.server.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.stereotype.Controller;
/**
* <p>
* 视频标识表; 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-20
*/
@Controller
@RequestMapping("//tdVideos")
public class TdVideosController {
}

@ -1,53 +0,0 @@
package com.wrj.driver.server.controller;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import javax.sound.sampled.*;
import java.io.File;
import java.io.IOException;
/**
* <p>
* 支付表 前端控制器
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@RestController
@RequestMapping("/voice")
@Slf4j
public class VoiceController {
@ApiOperation("文字转语音")
@GetMapping("/contentToAudio")
public void contentToAudio(@RequestParam String content) {
log.info("文字转语音======>content:{}", content);
final AudioFormat format = new AudioFormat(44100, 16, 1, true, false);
DataLine.Info dataLineInfo = new DataLine.Info(TargetDataLine.class, format);
if (!AudioSystem.isLineSupported(dataLineInfo)) {
return;
}
TargetDataLine targetDataLine;
try {
targetDataLine = (TargetDataLine) AudioSystem.getLine(dataLineInfo);
targetDataLine.open(format);
targetDataLine.start();
// Record audio
AudioInputStream audioInputStream = new AudioInputStream(targetDataLine);
// Save audio to file
File audioFile = new File("recorded_audio.wav");
AudioSystem.write(audioInputStream, AudioFileFormat.Type.WAVE, audioFile);
targetDataLine.close();
} catch (LineUnavailableException | IOException e) {
e.printStackTrace();
}
}
}

@ -3,7 +3,7 @@ package com.wrj.driver.server.controller;
import com.wrj.driver.server.dto.ChapterQueryDto;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdChapterService;
import com.wrj.driver.server.service.IWrjChapterService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@ -20,18 +20,18 @@ import org.springframework.web.bind.annotation.*;
*/
@Api(tags = "章节")
@RestController
@RequestMapping("/tdChapter")
@RequestMapping("/wrjChapter")
@Slf4j
public class TdChapterController {
public class WrjChapterController {
@Autowired
private ITdChapterService tdChapterService;
private IWrjChapterService wrjChapterService;
@ApiOperation("根据车型和科目查询章节")
@ApiOperation("根据驾驶员类型查询章节")
@PostMapping("/queryChapter")
public BaseResponse queryChapter(@RequestBody ChapterQueryDto queryDto) {
log.info("获取章节======>queryDto:{}", queryDto);
return BaseResponse.success(tdChapterService.queryChapter(queryDto));
return BaseResponse.success(wrjChapterService.queryChapter(queryDto));
}

@ -2,9 +2,9 @@ package com.wrj.driver.server.controller;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.wrj.driver.server.entity.TdCar;
import com.wrj.driver.server.entity.WrjDriverType;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdCarService;
import com.wrj.driver.server.service.IWrjDriverTypeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@ -22,20 +22,20 @@ import org.springframework.web.bind.annotation.RestController;
* @author Automated procedures
* @since 2023-08-10
*/
@Api(tags = "型")
@Api(tags = "无人记驾驶员类型")
@RestController
@RequestMapping("/tdCar")
@RequestMapping("/wrjDriverType")
@Slf4j
public class TdCarController {
public class WrjDriverTypeController {
@Autowired
private ITdCarService carService;
private IWrjDriverTypeService driverTypeService;
@ApiOperation("获取型列表")
@ApiOperation("获取无人机驾驶员类型列表")
@GetMapping("/list")
public BaseResponse list() {
return BaseResponse.success(carService.list(new LambdaQueryWrapper<TdCar>()
.eq(TdCar::getIsActive, "0")));
return BaseResponse.success(driverTypeService.list(new LambdaQueryWrapper<WrjDriverType>()
.eq(WrjDriverType::getIsActive, "0")));
}
}

@ -6,7 +6,7 @@ import com.wrj.driver.server.dto.QuestionAddDto;
import com.wrj.driver.server.dto.QuestionQueryDto;
import com.wrj.driver.server.exception.BusinessException;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdQuestionService;
import com.wrj.driver.server.service.IWrjQuestionService;
import com.wrj.driver.server.vo.QuestionVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
@ -30,74 +30,55 @@ import java.util.Objects;
*/
@Api(tags = "考试题库")
@RestController
@RequestMapping("/tdQuestion")
@RequestMapping("/wrjQuestion")
@Slf4j
public class TdQuestionController {
public class WrjQuestionController {
@Autowired
private ITdQuestionService tdQuestionService;
private IWrjQuestionService questionService;
@ApiOperation("根据id获取题目")
@PostMapping("/queryQuestionById")
public BaseResponse queryQuestionById(@RequestBody QuestionQueryDto queryDto) {
log.info("获取题型======>queryDto:{}", queryDto);
return BaseResponse.success(tdQuestionService.queryQuestionById(queryDto));
return BaseResponse.success(questionService.queryQuestionById(queryDto));
}
@ApiOperation("根据id列表获取题目")
@PostMapping("/queryQuestionByIdList")
public BaseResponse queryQuestionByIdList(@RequestBody QuestionQueryDto queryDto) {
log.info("获取题型======>queryDto:{}", queryDto);
return BaseResponse.success(tdQuestionService.queryQuestionByIdList(queryDto));
return BaseResponse.success(questionService.queryQuestionByIdList(queryDto));
}
@ApiOperation("根据查询条件获取题目")
@PostMapping("/queryQuestion")
public BaseResponse queryQuestion(@RequestBody QuestionQueryDto queryDto) {
log.info("根据查询条件获取题目======>queryDto:{}", queryDto);
return BaseResponse.success(tdQuestionService.queryQuestion(queryDto));
return BaseResponse.success(questionService.queryQuestion(queryDto));
}
@ApiOperation("根据查询条件获取题目Id")
@PostMapping("/queryQuestionId")
public BaseResponse queryQuestionId(@RequestBody QuestionQueryDto queryDto) {
log.info("根据查询条件获取题目Id======>queryDto:{}", queryDto);
return BaseResponse.success(tdQuestionService.queryQuestionId(queryDto));
return BaseResponse.success(questionService.queryQuestionId(queryDto));
}
@ApiOperation("获取模拟考试题目")
@PostMapping("/getTestQuestion")
public BaseResponse getTestQuestion(@RequestBody QuestionQueryDto queryDto) {
log.info("获取模拟考试题目======>queryDto:{}", queryDto);
if (Objects.isNull(queryDto.getCarTypeId()) && Objects.isNull(queryDto.getSubject())){
throw new BusinessException("缺少必要参数");
}
return BaseResponse.success(tdQuestionService.getTestQuestion(queryDto));
return BaseResponse.success(questionService.getTestQuestion(queryDto));
}
@ApiOperation("获取模拟考试题目Id")
@PostMapping("/getTestQuestionId")
public BaseResponse getTestQuestionId(@RequestBody QuestionQueryDto queryDto) {
log.info("根据查询条件获取题目Id======>queryDto:{}", queryDto);
return BaseResponse.success(tdQuestionService.getTestQuestionId(queryDto));
return BaseResponse.success(questionService.getTestQuestionId(queryDto));
}
// @ApiOperation("获取资格证模拟考试题目Id")
// @PostMapping("/zgz/getTestQuestionId")
// public BaseResponse getZgzTestQuestionId(@RequestBody QuestionQueryDto queryDto) {
// log.info("根据查询条件获取题目Id======>queryDto:{}", queryDto);
// return BaseResponse.success(tdQuestionService.getTestQuestionId(queryDto));
// }
@ApiOperation("题目分类")
@PostMapping("/questionCategory")
public BaseResponse questionCategory(@RequestBody QuestionQueryDto queryDto) {
log.info("分类题目标识======>questionIdList:{}", queryDto.getQuestionIdList());
if (CollectionUtil.isEmpty(queryDto.getQuestionIdList())){
return BaseResponse.success(Collections.emptyList());
}
return BaseResponse.success(tdQuestionService.questionCategory(queryDto));
}
@ApiOperation("对嘛接口-根据查询条件获取题目")
@GetMapping("/duima/list")
@ -105,7 +86,7 @@ public class TdQuestionController {
log.info("获取题型======>queryDto:{}", queryDto);
Map<String, Object> result = new HashMap<>();
result.put("code", 200);
result.put("data", tdQuestionService.queryQuestion(queryDto));
result.put("data", questionService.queryQuestion(queryDto));
return result;
}
@ -115,7 +96,7 @@ public class TdQuestionController {
log.info("修改题库======>questionVo:{}", questionVo);
Map<String, Object> result = new HashMap<>();
result.put("code", 200);
result.put("data", tdQuestionService.updateQuestion(questionVo));
result.put("data", questionService.updateQuestion(questionVo));
return result;
}
@ -125,7 +106,7 @@ public class TdQuestionController {
log.info("新增题库======>QuestionAddDto:{}", addDto);
Map<String, Object> result = new HashMap<>();
result.put("code", 200);
result.put("data", tdQuestionService.insertQuestion(addDto));
result.put("data", questionService.insertQuestion(addDto));
return result;
}
@ -133,7 +114,7 @@ public class TdQuestionController {
@PostMapping("/querySpecialNum")
public BaseResponse querySpecialNum(@RequestBody QuestionQueryDto queryDto) {
log.info("查询各专项分类题目数量======>queryDto:{}", queryDto);
return BaseResponse.success(tdQuestionService.querySpecialNum(queryDto));
return BaseResponse.success(questionService.querySpecialNum(queryDto));
}
}

@ -4,9 +4,8 @@ package com.wrj.driver.server.controller;
import com.wrj.driver.server.constant.Constants;
import com.wrj.driver.server.dto.TestQueryDto;
import com.wrj.driver.server.dto.TestSubmitDto;
import com.wrj.driver.server.interceptor.TenantContextHolder;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdQuestionTestService;
import com.wrj.driver.server.service.IWrjQuestionTestService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@ -25,18 +24,17 @@ import javax.validation.Valid;
*/
@Api(tags = "考试")
@RestController
@RequestMapping("/tdQuestionTest")
@RequestMapping("/wrjQuestionTest")
@Slf4j
public class TdQuestionTestController {
public class WrjQuestionTestController {
@Autowired
private ITdQuestionTestService testService;
private IWrjQuestionTestService testService;
@ApiOperation("提交考试成绩")
@PostMapping("/testSubmit")
public BaseResponse testSubmit(@RequestBody @Valid TestSubmitDto submitDto) {
log.info("考试成绩======>submitDto:{}", submitDto);
submitDto.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
return testService.testSubmit(submitDto);
}
@ -44,7 +42,6 @@ public class TdQuestionTestController {
@PostMapping("/testTotal")
public BaseResponse testTotal(@RequestBody @Valid TestQueryDto queryDto) {
log.info("考试统计查询======>queryDto:{}", queryDto);
queryDto.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
return BaseResponse.success(testService.testTotal(queryDto));
}
@ -52,7 +49,6 @@ public class TdQuestionTestController {
@PostMapping("/getTestScore")
public BaseResponse getTestScore(@RequestBody @Valid TestQueryDto queryDto) {
log.info("获取考试成绩======>queryDto:{}", queryDto);
queryDto.setTenantId(TenantContextHolder.getTenantId() == null ? Constants.DEFAULT_TENANT_ID : TenantContextHolder.getTenantId());
return BaseResponse.success(testService.getTestScore(queryDto));
}
}

@ -2,9 +2,9 @@ package com.wrj.driver.server.controller;
import com.wrj.driver.server.dto.SysConfigDto;
import com.wrj.driver.server.entity.TdSysConfig;
import com.wrj.driver.server.entity.WrjSysConfig;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdSysConfigService;
import com.wrj.driver.server.service.IWrjSysConfigService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@ -24,40 +24,40 @@ import java.util.Map;
*/
@Api(tags = "字典值配置")
@RestController
@RequestMapping("/tdSysConfig")
@RequestMapping("/wrjSysConfig")
@Slf4j
public class TdSysConfigController {
public class WrjSysConfigController {
@Autowired
private ITdSysConfigService configService;
private IWrjSysConfigService configService;
/**
* 根据配置key和carTypeId获取配置信息,配置与车型无关则carTypeId为-1
* 根据配置key和driverTypeId获取配置信息,配置与无人机无关则driverTypeId为-1
*/
@ApiOperation("根据配置key和carTypeId获取配置信息,配置与车型无关则carTypeId为-1")
@ApiOperation("根据配置key和driverTypeId获取配置信息,配置与无人机无关则driverTypeId为-1")
@GetMapping(value = "/queryConfigByKey")
public BaseResponse queryConfigByKey(@RequestParam("configKey") String configKey, @RequestParam("carTypeId") Integer carTypeId) {
return BaseResponse.success(configService.queryConfigByKey(configKey, carTypeId));
public BaseResponse queryConfigByKey(@RequestParam("configKey") String configKey, @RequestParam("driverTypeId") Integer driverTypeId) {
return BaseResponse.success(configService.queryConfigByKey(configKey, driverTypeId));
}
/**
* 根据配置key和carTypeId获取配置值,配置与车型无关则carTypeId为-1
* 根据配置key和driverTypeId获取配置信息,配置与无人机无关则driverTypeId为-1
*/
@ApiOperation("根据配置key获取配置值")
@GetMapping(value = "/queryConfigValueByKey")
public BaseResponse<String> queryConfigValueByKey(@RequestParam("configKey") String configKey, @RequestParam("carTypeId") Integer carTypeId) {
public BaseResponse<String> queryConfigValueByKey(@RequestParam("configKey") String configKey, @RequestParam("driverTypeId") Integer driverTypeId) {
return BaseResponse.success(configService.queryConfigValueByKey(configKey, carTypeId));
return BaseResponse.success(configService.queryConfigValueByKey(configKey, driverTypeId));
}
/**
* 根据配置keys和carTypeId获取配置信息,配置与车型无关则carTypeId为-1
* 根据配置keys和driverTypeId获取配置信息,配置与无人机无关则driverTypeId为-1
*/
@ApiOperation("根据配置keys和carTypeId获取配置信息,配置与车型无关则carTypeId为-1")
@ApiOperation("根据配置keys和driverTypeId获取配置信息,配置与无人机无关则driverTypeId为-1")
@GetMapping(value = "/queryConfigByKeys")
public BaseResponse<Map<String, TdSysConfig>> queryConfigByKeys(@RequestParam("configKeys") String configKeys, @RequestParam("carTypeId") Integer carTypeId) {
return BaseResponse.success(configService.queryConfigByKeys(Arrays.asList(configKeys.split(",")),carTypeId));
public BaseResponse<Map<String, WrjSysConfig>> queryConfigByKeys(@RequestParam("configKeys") String configKeys, @RequestParam("driverTypeId") Integer driverTypeId) {
return BaseResponse.success(configService.queryConfigByKeys(Arrays.asList(configKeys.split(",")),driverTypeId));
}

@ -1,9 +1,9 @@
package com.wrj.driver.server.controller;
import com.wrj.driver.server.entity.TdSysConfigList;
import com.wrj.driver.server.entity.WrjSysConfigList;
import com.wrj.driver.server.response.BaseResponse;
import com.wrj.driver.server.service.ITdSysConfigListService;
import com.wrj.driver.server.service.IWrjSysConfigListService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
@ -24,43 +24,43 @@ import java.util.Map;
*/
@Api(tags = "字典值列表配置")
@RestController
@RequestMapping("/tdSysConfigList")
@RequestMapping("/wrjSysConfigList")
@Slf4j
public class TdSysConfigListController {
public class WrjSysConfigListController {
@Autowired
private ITdSysConfigListService configListService;
private IWrjSysConfigListService configListService;
/**
* 根据configKey和carTypeId查询系统配置列表
*/
@ApiOperation("根据configKey和carTypeId查询系统配置列表")
@ApiOperation("根据configKey和driverTypeId查询系统配置列表")
@GetMapping("/querySysConfigList")
public BaseResponse querySysConfigList(@RequestParam("configKey") String configKey, @RequestParam("carTypeId") Integer carTypeId) {
log.info("request to querySysConfigList :{}, carTypeId:{}", configKey,carTypeId);
List<TdSysConfigList> resultList = configListService.querySysConfigList(configKey, carTypeId);
public BaseResponse querySysConfigList(@RequestParam("configKey") String configKey, @RequestParam("driverTypeId") Integer driverTypeId) {
log.info("request to querySysConfigList :{}, driverTypeId:{}", configKey,driverTypeId);
List<WrjSysConfigList> resultList = configListService.querySysConfigList(configKey, driverTypeId);
return BaseResponse.success(resultList);
}
/**
* 通过多个configKey以逗号分隔 carTypeId 查询多个配置列表
* 通过多个configKey以逗号分隔 driverTypeId 查询多个配置列表
*/
@ApiOperation("通过多个configKey(以逗号分隔) 和 carTypeId 查询多个配置列表")
@ApiOperation("通过多个configKey(以逗号分隔) 和 driverTypeId 查询多个配置列表")
@GetMapping("/querySysConfigMap")
public BaseResponse querySysConfigMap(@RequestParam("configKeys") String configKeys, @RequestParam("carTypeId") Integer carTypeId) {
log.info("request to querySysConfigMap :{}, carTypeId:{}", configKeys,carTypeId);
Map<String, Map<String, String>> map = configListService.querySysConfigMap(Arrays.asList(configKeys.split(",")), carTypeId);
public BaseResponse querySysConfigMap(@RequestParam("configKeys") String configKeys, @RequestParam("driverTypeId") Integer driverTypeId) {
log.info("request to querySysConfigMap :{}, driverTypeId:{}", configKeys,driverTypeId);
Map<String, Map<String, String>> map = configListService.querySysConfigMap(Arrays.asList(configKeys.split(",")), driverTypeId);
return BaseResponse.success(map);
}
/**
* 根据configKey和carTypeId查询系统配置列表数量
* 根据configKey和driverTypeId查询系统配置列表数量
*/
@ApiOperation("根据configKey和carTypeId查询系统配置列表数量")
@ApiOperation("根据configKey和driverTypeId查询系统配置列表数量")
@GetMapping("/querySysConfigListNum")
public BaseResponse querySysConfigListNum(@RequestParam("configKey") String configKey, @RequestParam("carTypeId") Integer carTypeId) {
log.info("request to querySysConfigListNum :{}, carTypeId:{}", configKey,carTypeId);
Integer listNum = configListService.querySysConfigListNum(configKey, carTypeId);
public BaseResponse querySysConfigListNum(@RequestParam("configKey") String configKey, @RequestParam("driverTypeId") Integer driverTypeId) {
log.info("request to querySysConfigListNum :{}, driverTypeId:{}", configKey,driverTypeId);
Integer listNum = configListService.querySysConfigListNum(configKey, driverTypeId);
return BaseResponse.success(listNum);
}

@ -10,21 +10,11 @@ import lombok.experimental.Accessors;
@ApiModel("基础查询查询入参")
public class BaseQueryDto {
/**
* 所属科目1:科目12:科目4
*/
@ApiModelProperty("所属科目,1:科目1,2:科目4")
private String subject;
/**
* 车型
*/
@ApiModelProperty("车型")
private Integer carTypeId;
private Integer driverTypeId;
/**
* 题库版本id
*/
@ApiModelProperty("题库版本id")
private Long versionId;
}

@ -14,15 +14,9 @@ public class ChapterQueryDto {
private Integer chapterId;
/**
* 章节名
* 驾驶员类型
*/
@ApiModelProperty("车型")
private Integer carTypeId;
/**
* 科目
*/
@ApiModelProperty("科目")
private Integer subject;
@ApiModelProperty("驾驶员类型")
private Integer driverTypeId;
}

@ -1,31 +0,0 @@
package com.wrj.driver.server.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
/**
* @author 曹林
* @description 登陆入参
* @create 2023/8/11 22:21
*/
@Data
@Accessors(chain = true)
public class DriverSchoolDto {
@ApiModelProperty(value = "驾校id",required = true)
@NotNull(message = "驾校id不能为空")
private Long schoolId;
@ApiModelProperty(value = "驾校名称",required = true)
@NotBlank(message = "驾校名称不能为空")
private String schoolName;
@ApiModelProperty(value = "驾校联系方式",required = false)
private String schoolPhone;
}

@ -24,21 +24,9 @@ public class LoginUserDto {
@NotBlank(message = "登陆验证码不能为空")
private String code;
@ApiModelProperty(value = "来源")
private String id;
@ApiModelProperty(value = "分销人员id")
private String distributionId;
@ApiModelProperty(value = "设备号")
private String device;
@ApiModelProperty(value = "租户id")
private Long tenantId;
@ApiModelProperty(value = "验证用户是否存在")
private Boolean isCheck;
@ApiModelProperty(value = "小程序id")
private String appId;
}

@ -1,52 +0,0 @@
package com.wrj.driver.server.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* <p>
* 会员查询入参;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@Accessors(chain = true)
@ApiModel("会员查询入参")
public class MemberQueryDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 会员标识
*/
@ApiModelProperty("会员标识")
private Integer memberId;
/**
* 车型标识
*/
@ApiModelProperty("车型标识")
private Integer carTypeId;
/**
* 科目标识
*/
@ApiModelProperty("科目标识")
private String subject;
/**
* 租户id
*/
@ApiModelProperty("租户id")
private Long tenantId = 10001l;
}

@ -1,55 +0,0 @@
package com.wrj.driver.server.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
* 考试项目查询;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@Accessors(chain = true)
@ApiModel("考试项目查询入参")
public class ProjectDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 考试项目
*/
@ApiModelProperty("考试项目")
private Integer projectId;
/**
* 类型
*/
@ApiModelProperty("类型 1:考试项目 2:基础操作")
private String type;
/**
* 所属科目
*/
@ApiModelProperty("所属科目")
private String subject;
/**
* 车型标识
*/
@ApiModelProperty("车型标识")
private Integer carTypeId;
/**
* 驾驶类型手动挡自动挡A2:B2等在字典表里配置
*/
@ApiModelProperty("驾驶类型")
private String driveType;
}

@ -12,12 +12,12 @@ import java.util.List;
/**
* @author 曹林
* @description 驾考新增入
* @description 无人机题目出
* @create 2023/8/13 17:13
*/
@Data
@Accessors(chain = true)
@ApiModel("驾考题目出参")
@ApiModel("无人机题目出参")
public class QuestionAddDto {
private static final long serialVersionUID = 1L;
@ -76,30 +76,12 @@ public class QuestionAddDto {
@ApiModelProperty("正确答案")
private String trueAnswer;
/**
* 未知
*/
@ApiModelProperty("未知")
private String cids;
/**
* 题型分类
*/
@ApiModelProperty("题型分类")
private String category;
/**
* 题目图片url
*/
@ApiModelProperty("题目图片url")
private String imageUrl;
/**
* 未知
*/
@ApiModelProperty("未知")
private String sohuImg;
/**
* 最佳回答
*/
@ -112,12 +94,6 @@ public class QuestionAddDto {
@ApiModelProperty("章节标识")
private String chapter;
/**
* 所属科目1:科目12:科目4
*/
@ApiModelProperty("所属科目,1:科目1,2:科目4")
private String subject;
/**
* 选择
*/
@ -137,56 +113,9 @@ public class QuestionAddDto {
@ApiModelProperty("显示序号")
private int showOrder;
/**
* 车型
*/
@ApiModelProperty("车型")
@NotNull
private Integer carTypeId;
/**
* 是否生效
*/
@ApiModelProperty("是否生效")
private String isActive;
/**
* 是否vip题型
*/
@ApiModelProperty("是否VIP")
@NotNull
private Integer isVip;
/**
* 是否易错
*/
@ApiModelProperty("是否易错")
private Integer isError;
/**
* 是否v新规
*/
@ApiModelProperty("是否新规")
private Integer isNew;
/**
* 考点
*/
@ApiModelProperty("考点")
private String examKeys;
/**
* 是否精讯600题
*/
@ApiModelProperty("精讯600题")
private Integer isVip2;
/**
* 是否密卷1
*/
@ApiModelProperty("是否密卷1")
private Integer isExam1;
/**
* 是否密卷2
*/
@ApiModelProperty("是否密卷2")
private Integer isExam2;
}

@ -1,26 +0,0 @@
package com.wrj.driver.server.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* <p>
* 题库查询入参;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@Accessors(chain = true)
@ApiModel("精选题目查询入参")
public class QuestionJxQueryDto extends BaseQueryDto implements Serializable {
private static final long serialVersionUID = 1L;
}

@ -27,6 +27,12 @@ public class QuestionQueryDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 无人记驾驶员类型
*/
@ApiModelProperty("无人记驾驶员类型")
private Integer driverTypeId;
/**
* 题目标识
*/
@ -39,29 +45,11 @@ public class QuestionQueryDto implements Serializable {
@ApiModelProperty("题目标识列表")
private List<Long> questionIdList;
/**
* 题型分类
*/
@ApiModelProperty("题型分类")
private String category;
/**
* 章节标识
*/
@ApiModelProperty("章节标识")
private String chapter;
/**
* 所属科目1:科目12:科目4
*/
@ApiModelProperty("所属科目,1:科目1,2:科目4")
private String subject;
/**
* 车型
*/
@ApiModelProperty("车型")
private Integer carTypeId;
private Integer chapter;
/**
* 题型: 单选 多选 判断题
@ -69,18 +57,6 @@ public class QuestionQueryDto implements Serializable {
@ApiModelProperty("题型: 单选 多选 判断题")
private String type;
/**
* 专项练习类型
*/
@ApiModelProperty("专项练习类型")
private String cid;
/**
* 考点
*/
@ApiModelProperty("考点")
private String point;
/**
* 获取题数
*/
@ -93,63 +69,10 @@ public class QuestionQueryDto implements Serializable {
@ApiModelProperty("题目")
private String question;
/**
* 是否易错
*/
@ApiModelProperty("是否易错")
private Integer isError;
/**
* 是否v新规
*/
@ApiModelProperty("是否v新规")
private Integer isNew;
/**
* 是否是图片
*/
@ApiModelProperty("是否是图片")
private Integer isImage;
/**
* 考点
*/
@ApiModelProperty("考点")
private String examKey;
/**
* 是否精讯500题
*/
@ApiModelProperty("是否精讯500题")
private Integer isVip;
/**
* 是否精讯600题
*/
@ApiModelProperty("是否精讯600题")
private Integer isVip2;
/**
* 是否密卷1
*/
@ApiModelProperty("是否密卷1")
private Integer isExam1;
/**
* 是否密卷2
*/
@ApiModelProperty("是否密卷2")
private Integer isExam2;
/**
* 题库版本id
*/
@ApiModelProperty("题库版本id")
private Long versionId;
/**
* 是否有水印
* */
private Boolean isWatermark;
}

@ -1,13 +0,0 @@
package com.wrj.driver.server.dto;
import io.swagger.annotations.ApiModel;
import lombok.Data;
import lombok.experimental.Accessors;
@Data
@Accessors(chain = true)
@ApiModel("密卷查询入参")
public class SecretQueryDto extends BaseQueryDto{
private Integer secretId;
}

@ -20,33 +20,33 @@ public class SysConfigDto implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 车型标识,-1为与车型无关
* 无人机驾驶类型标识,-1为与无人机驾驶类型标识无关
*/
@ApiModelProperty("CAR_TYPE_ID")
private Integer carTypeId;
@ApiModelProperty("无人机驾驶类型标识,-1为与无人机驾驶类型标识无关")
private Integer driverTypeId;
/**
* 配置项KEY
*/
@ApiModelProperty("CONFIG_KEY")
@ApiModelProperty("配置项KEY")
private String configKey;
/**
* 配置项值
*/
@ApiModelProperty("CONFIG_VALUE")
@ApiModelProperty("配置项值")
private String configValue;
/**
* 配置项名称
*/
@ApiModelProperty("CONFIG_NAME")
@ApiModelProperty("配置项名称")
private String configName;
/**
* 配置项说明
*/
@ApiModelProperty("CONFIG_DESC")
@ApiModelProperty("配置项说明")
private String configDesc;
/**
@ -60,19 +60,19 @@ public class SysConfigDto implements Serializable {
/**
* 配置项JSON值
*/
@ApiModelProperty("CONFIG_JSON")
@ApiModelProperty("配置项JSON值")
private String configJson;
/**
* 是否生效
*/
@ApiModelProperty("IS_ACTIVE")
@ApiModelProperty("是否生效")
private String isActive;
/**
* 创建时间
*/
@ApiModelProperty("CREATE_TIME")
@ApiModelProperty("创建时间 ")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime createTime;

@ -22,22 +22,11 @@ public class TestQueryDto {
/**
* 车型标识
*/
@ApiModelProperty(value = "型标识")
@NotNull(message = "型标识不能为空")
private Integer carTypeId;
@ApiModelProperty(value = "无人机驾驶员类型标识")
@NotNull(message = "无人机驾驶员类型标识不能为空")
private Integer driverTypeId;
/**
* 科目
*/
@ApiModelProperty(value = "科目")
// @NotNull(message = "考试科目不能为空")
private String subject ;
@ApiModelProperty(value = "租户id")
private Long tenantId = 999999l;
@ApiModelProperty(value = "用户id")
private Long userId;
}

@ -17,9 +17,6 @@ import java.util.List;
@Accessors(chain = true)
public class TestQuestionTypeDto {
//科目
private String subject;
private List<TestOfChapter> chapterList;
@Data

@ -25,23 +25,16 @@ public class TestSubmitDto {
/**
* 车型标识
*/
@ApiModelProperty(value = "型标识",required = true)
@NotNull(message = "型标识不能为空")
private Integer carTypeId;
@ApiModelProperty(value = "无人机驾驶员类型标识",required = true)
@NotNull(message = "无人机驾驶员类型标识不能为空")
private Integer driverTypeId;
/**
* 科目
*/
@ApiModelProperty(value = "科目",required = true)
@NotBlank(message = "考试科目不能为空")
private String subject ;
/**
* 考试得分
*/
@ApiModelProperty(value = "考试得分",required = true)
@NotNull(message = "考试得分不能为空")
@Max(100)
@Min(0)
private Integer score;
@ -53,9 +46,4 @@ public class TestSubmitDto {
@Max(3600)
@Min(0)
private Integer testTime;
@ApiModelProperty(value = "租户id",required = true)
private Long tenantId;
}

@ -1,10 +0,0 @@
package com.wrj.driver.server.dto;
import lombok.Data;
@Data
public class UserMemberDto {
private String phone;
private Integer memberId;
private Long tenantId = 10001l;
}

@ -1,139 +0,0 @@
package com.wrj.driver.server.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 支付表
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class OrderPayInfo implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 支付流水号
*/
@TableId("PAY_ID")
private Long payId;
/**
* 购买的商品类型1.购买会员2.证件照上传3.查询体检信息
*/
@TableField("PURCHASE_PRODUCT_TYPE")
private String purchaseProductType;
/**
* 购买商品主键标识
*/
@TableField("PURCHASE_PRODUCT_ID")
private String purchaseProductId;
/**
* 支付金额单位元
*/
@TableField("MONEY")
private BigDecimal money;
/**
* 备注说明
*/
@TableField("DESCRIPTION")
private String description;
/**
* 支付类型(weCharPay,aLiPay)
*/
@TableField("PAYMENT_TYPE")
private String paymentType;
/**
* 具体的支付方式例如微信的JSAPI,h5
*/
@TableField("PAY_TYPE")
private String payType;
/**
* 支付状态 1:未支付 2支付成功 3支付失败
*/
@TableField("PAY_STATUS")
private Integer payStatus;
/**
* 预支付ID
*/
@TableField("PREPAT_ID")
private String prepatId;
/**
* 0:正常,1:已删除
*/
@TableField("DELETE_STATUS")
private Integer deleteStatus;
/**
* 支付的账号
*/
@TableField("USER_ID")
private Long userId;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 最近的更新时间
*/
@TableField("UPDATE_TIME")
private LocalDateTime updateTime;
/**
* 分销人员id
*/
@TableField("DISTRIBUTION_ID")
private String distributionId;
/**
* 分销配置id
*/
@TableField("DETAIL_ID")
private Long detailId;
/**
* 原价
*/
@TableField("ORIGINAL_PRICE")
private BigDecimal originalPrice;
/**
* 提成
*/
@TableField("COMMISSION")
private BigDecimal commission;
/**
* 提成
*/
@TableField("TENANT_ID")
private Long tenantId;
}

@ -1,85 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 支付回调日志表
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PayNoticeLog implements Serializable {
private static final long serialVersionUID = 1L;
@TableId(value = "NOTICE_ID", type = IdType.AUTO)
private Long noticeId;
/**
* 回调内容json
*/
@TableField("CONTENR")
private String contenr;
/**
* 回调类型
*/
@TableField("TYPE")
private String type;
/**
* 本平台支付单号
*/
@TableField("PAY_PREPAY_ID")
private Long payPrepayId;
/**
* 第三方支付平台回调编号
*/
@TableField("NOTICE_NO")
private String noticeNo;
/**
* 第三方支付平台回调状态
*/
@TableField("NOTICE_STATUS")
private String noticeStatus;
/**
* 备注
*/
@TableField("REMARKS")
private String remarks;
/**
* 0:正常,1:已删除
*/
@TableField("DELETE_STATUS")
private Integer deleteStatus;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 最近的更新时间
*/
@TableField("UPDATE_TIME")
private LocalDateTime updateTime;
}

@ -1,130 +0,0 @@
package com.wrj.driver.server.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 预支付表
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PayPrepay implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 本平台预支付单号
*/
@TableId("PAY_PREPAY_ID")
private Long payPrepayId;
/**
* 支付流水号
*/
@TableField("PAY_ID")
private Long payId;
/**
* 支付金额单位元
*/
@TableField("MONEY")
private BigDecimal money;
/**
* 备注说明
*/
@TableField("DESCRIPTION")
private String description;
/**
* 支付类型(weCharPay,aLiPay)
*/
@TableField("PAYMENT_TYPE")
private String paymentType;
/**
* 具体的支付方式例如微信的JSAPI,h5
*/
@TableField("PAY_TYPE")
private String payType;
/**
* 支付状态 1:未支付 2支付成功 3支付失败
*/
@TableField("PAY_STATUS")
private Integer payStatus;
/**
* 预支付ID
*/
@TableField("PREPAT_ID")
private String prepatId;
/**
* 微信openid
*/
@TableField("OPEN_ID")
private String openId;
/**
* 第三方支付平台配置信息例如微信支付的appid,apiV3Key等
*/
@TableField("THIRD_CONFIG_JSON")
private String thirdConfigJson;
/**
* 本支付平台接收回调的https url
*/
@TableField("NOTIFY_URL")
private String notifyUrl;
/**
* 接收回调的微服务名称
*/
@TableField("NOTIFY_MICRO_SERVICE_NAME")
private String notifyMicroServiceName;
/**
* 微服务接收回调的具体url
*/
@TableField("NOTIFY_MICRO_SERVICE_URL")
private String notifyMicroServiceUrl;
/**
* 0:正常,1:已删除
*/
@TableField("DELETE_STATUS")
private Integer deleteStatus;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 最近的更新时间
*/
@TableField("UPDATE_TIME")
private LocalDateTime updateTime;
/**
* 系统名称
*/
@TableField("SERVER_NAME")
private String serverName;
}

@ -1,124 +0,0 @@
package com.wrj.driver.server.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 支付结果表
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PayPrepayResult implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 本平台支付单号
*/
@TableId("PAY_PREPAY_ID")
private Long payPrepayId;
/**
* 第三方支付单号
*/
@TableField("THIRD_PAY_ID")
private String thirdPayId;
/**
* 业务系统订单支付流水号
*/
@TableField("PAY_ID")
private Long payId;
/**
* 支付金额单位元
*/
@TableField("MONEY")
private BigDecimal money;
/**
* 已退款金额单位元
*/
@TableField("REFUND_MONEY")
private BigDecimal refundMoney;
/**
* 备注说明
*/
@TableField("DESCRIPTION")
private String description;
/**
* 支付完成时间
*/
@TableField("PAY_TIME")
private LocalDateTime payTime;
/**
* 银行类型采用字符串类型的银行标识银行标识请参考银行类型对照表
*/
@TableField("BANK_TYPE")
private String bankType;
/**
* 交易类型(weCharPay,aLiPay)
*/
@TableField("PAYMENT_TYPE")
private String paymentType;
/**
* 具体的支付方式例如微信的JSAPI,h5
*/
@TableField("PAY_TYPE")
private String payType;
/**
* 支付状态 1:未支付 2支付成功 3支付失败
*/
@TableField("PAY_STATUS")
private Integer payStatus;
/**
* 微信openid
*/
@TableField("OPEN_ID")
private String openId;
/**
* 0:正常,1:已删除
*/
@TableField("DELETE_STATUS")
private Integer deleteStatus;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 最近的更新时间
*/
@TableField("UPDATE_TIME")
private LocalDateTime updateTime;
/**
* 第三方支付平台支付状态
*/
@TableField("THIRD_PAY_STATUS")
private String thirdPayStatus;
}

@ -1,118 +0,0 @@
package com.wrj.driver.server.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 申请退款表
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PayRefund implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 本平台支付退款单号
*/
@TableId("PAY_REFUND_ID")
private Long payRefundId;
/**
* 业务系统支付退款流水号
*/
@TableField("REFUND_ID")
private String refundId;
/**
* 本平台支付单号
*/
@TableField("PAY_PREPAY_ID")
private Long payPrepayId;
/**
* 退款金额单位元
*/
@TableField("MONEY")
private BigDecimal money;
/**
* 备注说明
*/
@TableField("DESCRIPTION")
private String description;
/**
* 交易类型(weCharPay,aLiPay)
*/
@TableField("PAYMENT_TYPE")
private String paymentType;
/**
* 具体的支付方式例如微信的JSAPI,h5
*/
@TableField("PAY_TYPE")
private String payType;
/**
* 退款状态 1:未退款 2:退款成功 3退款关闭 4退款处理中 5退款异常
*/
@TableField("REFUND_STATUS")
private Integer refundStatus;
/**
* 第三方支付平台配置信息例如微信支付的appid,apiV3Key等
*/
@TableField("THIRD_CONFIG_JSON")
private String thirdConfigJson;
/**
* 本支付平台接收回调的https url
*/
@TableField("NOTIFY_URL")
private String notifyUrl;
/**
* 接收回调的微服务名称
*/
@TableField("NOTIFY_MICRO_SERVICE_NAME")
private String notifyMicroServiceName;
/**
* 微服务接收回调的具体url
*/
@TableField("NOTIFY_MICRO_SERVICE_URL")
private String notifyMicroServiceUrl;
/**
* 0:正常,1:已删除
*/
@TableField("DELETE_STATUS")
private Integer deleteStatus;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 最近的更新时间
*/
@TableField("UPDATE_TIME")
private LocalDateTime updateTime;
}

@ -1,106 +0,0 @@
package com.wrj.driver.server.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 退款结果表
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class PayRefundResult implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 本平台支付退款单号
*/
@TableId("PAY_REFUND_ID")
private Long payRefundId;
/**
* 第三方支付退款单号
*/
@TableField("THIRD_PAY_REFUND_NO")
private String thirdPayRefundNo;
/**
* 业务系统订单支付退款流水号
*/
@TableField("REFUND_ID")
private String refundId;
/**
* 本平台支付单号
*/
@TableField("PAY_PREPAY_ID")
private Long payPrepayId;
/**
* 退款金额单位元
*/
@TableField("MONEY")
private BigDecimal money;
/**
* 备注说明
*/
@TableField("DESCRIPTION")
private String description;
/**
* 交易类型(weCharPay,aLiPay)
*/
@TableField("PAYMENT_TYPE")
private String paymentType;
/**
* 具体的支付方式例如微信的JSAPI,h5
*/
@TableField("PAY_TYPE")
private String payType;
/**
* 退款完成时间
*/
@TableField("REFUND_TIME")
private LocalDateTime refundTime;
/**
* 退款状态 1:退款中 2:退款成功 3退款关闭 4退款处理中 5退款异常
*/
@TableField("REFUND_STATUS")
private Integer refundStatus;
/**
* 0:正常,1:已删除
*/
@TableField("DELETE_STATUS")
private Integer deleteStatus;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 最近的更新时间
*/
@TableField("UPDATE_TIME")
private LocalDateTime updateTime;
}

@ -1,52 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
* 分销配置对象 sys_distribution
*
* @author hd
* @date 2024-03-05
*/
@Data
@Accessors(chain = true)
public class SysDistribution
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
@TableId("distribution_id")
private String distributionId;
/** 手机号 */
@TableField("phone")
private String phone;
/** 姓名 */
@TableField("name")
private String name;
/** 标记 */
@TableField("mark")
private String mark;
@TableField("del_flag")
private String delFlag;
@TableField("member_id")
private Integer memberId;
@TableField("discount_id")
private Integer discountId;
@TableField("tenant_id")
private Long tenantId;
}

@ -1,63 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
@Data
@Accessors(chain = true)
public class SysDistributionDetail implements Serializable
{
private static final long serialVersionUID = 1L;
/** $column.columnComment */
@TableId("detail_id")
private Long detailId;
/** 分销id */
@TableField("distribution_id")
private String distributionId;
/** 会员id */
@TableField("member_id")
private Long memberId;
/** 优惠价 */
@TableField("discounted_price")
private BigDecimal discountedPrice;
/** 提成 */
@TableField("commission")
private BigDecimal commission;
/** 生效日期 */
@TableField("start_time")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date startTime;
@Override
public boolean equals(Object o) {
if (o == null || getClass() != o.getClass()) return false;
SysDistributionDetail that = (SysDistributionDetail) o;
if (distributionId == null || that.distributionId == null || memberId == null || that.memberId == null) return false;
if (!distributionId.equals(that.distributionId) || !memberId.equals(that.memberId)) return false;
return true;
}
@Override
public int hashCode() {
int result = (distributionId != null ? distributionId.hashCode() : 0);
result = 31 * result + (memberId != null ? memberId.hashCode() : 0);
return result;
}
}

@ -6,11 +6,11 @@ import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -26,91 +26,51 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdSysUser implements Serializable {
@TableName("sys_user")
public class SysUser implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户标识
*/
@TableId(value = "USER_ID", type = IdType.AUTO)
@TableId(value = "user_id", type = IdType.AUTO)
private Long userId;
/**
* 用户名
*/
@TableField("USER_NAME")
@TableField("user_name")
private String userName;
/**
* 手机号码
*/
@TableField("PHONE")
@TableField("phone")
private String phone;
/**
* 身份证
*/
@TableField("IDCARD")
private String idcard;
/**
* 性别
*/
@TableField("SEX")
@TableField("sex")
private Integer sex;
/**
* 备注
*/
@TableField("REMARK")
@TableField("remark")
private String remark;
/**
* 头像
*/
@TableField("AVATAR")
@TableField("avatar")
private String avatar;
/**
* 驾校标识
*/
@TableField("SCHOOL_ID")
private Long schoolId;
/**
* 驾校名称
*/
@TableField("SCHOOL_NAME")
private String schoolName;
/**
* 驾校电话
*/
@TableField("SCHOOL_PHONE")
private String schoolPhone;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
@TableField("create_time")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime createTime;
/**
* 分销人员
*/
@TableField("DISTRIBUTION_ID")
private String distributionId;
/**
* 绑定时间
*/
@TableField("BIND_TIME")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime bindTime;
}

@ -2,6 +2,7 @@ package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -12,40 +13,39 @@ import java.time.LocalDateTime;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdSysUserLog implements Serializable {
@TableId(value = "ID")
@TableName("sys_user_log")
public class SysUserLog implements Serializable {
@TableId(value = "id")
private Long id;
@TableField("TITLE")
@TableField("title")
private String title;
@TableField("BUSINESS_TYPE")
@TableField("business_type")
private Integer businessType;
@TableField("DEVICE")
@TableField("method")
private String method;
@TableField("device")
private String device;
@TableField("OPER_TYPE")
@TableField("oper_type")
private Integer operType;
@TableField("USER_ID")
@TableField("user_id")
private Long userId;
@TableField("OPER_PARAM")
@TableField("oper_pram")
private String operParam;
@TableField("JSON_RESULT")
@TableField("json_result")
private String jsonResult;
@TableField("STATUS")
@TableField("status")
private Integer status;
@TableField("ERROR_MSG")
private String errorMsg;
@TableField("OPER_TIME")
@TableField("oper_time")
private LocalDateTime operTime;
@TableField("TENANT_ID")
private Long tenantId;
}

@ -1,71 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 车型分类;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdCar implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 车型标识
*/
@TableId(value = "CAR_TYPE_ID", type = IdType.AUTO)
private Integer carTypeId;
/**
* 车型名称
*/
@TableField("CAR_NAME")
private String carName;
/**
* 描述
*/
@TableField("REMARK")
private String remark;
/**
* 车型图片url
*/
@TableField("IMAGE_URL")
private String imageUrl;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
/**
* 显示序号
*/
@TableField("SHOW_ORDER")
private Integer showOrder;
}

@ -1,27 +0,0 @@
package com.wrj.driver.server.entity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdCarouselImage implements Serializable {
private Integer id;
private Long tenantId;
private String imageName;
private String imageUrl;
private String isActive;
private String creator;
private LocalDateTime createTime;
}

@ -1,57 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 题型题目表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdCategoryQuestion implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 题型分类
*/
@TableId("CATEGORY")
private String category;
/**
* 车型
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
/**
* 题目标识
*/
@TableField("QUESTION_ID")
private Long questionId;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
}

@ -1,40 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdChapter implements Serializable {
/**
* 章节id
*/
@TableId("CHAPTER_ID")
private Integer chapterId;
/**
* 章节名
*/
@TableField("CHAPTER_NAME")
private String chapterName;
/**
* 题目数
*/
@TableField("COUNT")
private Integer count;
/**
* 科目
*/
@TableField("SUBJECT")
private Integer subject;
}

@ -1,70 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 考场信息表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdExaminationRoom implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 考场标识
*/
@TableId(value = "EXAMINATION_ROOM_ID", type = IdType.AUTO)
private Integer examinationRoomId;
/**
* 考场名称
*/
@TableField("EXAMINATION_ROOM_NAME")
private String examinationRoomName;
/**
* /
*/
@TableField("DISTRICT")
private String district;
/**
* /县名称
*/
@TableField("DISTRICT_NAME")
private String districtName;
/**
* 显示序号
*/
@TableField("SHOW_ORDER")
private Integer showOrder;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
}

@ -1,76 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 考场线路表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdExaminationRoomRoad implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 考场线路标识
*/
@TableId(value = "RODE_ID", type = IdType.AUTO)
private Integer rodeId;
/**
* 考场标识
*/
@TableField("EXAMINATION_ROOM_ID")
private Integer examinationRoomId;
/**
* 线路名称
*/
@TableField("RODE_NAME")
private String rodeName;
/**
* 车型标识
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
/**
* 线路图片
*/
@TableField("RODE_IMG")
private String rodeImg;
/**
* 线路视频链接
*/
@TableField("RODE_VIDEO_URL")
private String rodeVideoUrl;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
}

@ -1,101 +0,0 @@
package com.wrj.driver.server.entity;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 会员类型表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdMember implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 会员标识
*/
@TableId(value = "MEMBER_ID", type = IdType.AUTO)
private Integer memberId;
/**
* 会员名称
*/
@TableField("MEMBER_NAME")
private String memberName;
/**
* 车型标识
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
/**
* 科目
*/
@TableField("SUBJECTS")
private String subjects;
/**
* 会员价格单位元
*/
@TableField("PRICE")
private BigDecimal price;
/**
* 会员折扣单位元
*/
@TableField("DISCOUNT")
private BigDecimal discount;
/**
* 会员时间
*/
@TableField("DURATION")
private Integer duration;
/**
* 时长单位12 3
*/
@TableField("UNIT")
private String unit;
/**
* 会员描述
*/
@TableField("DESCRIPTION")
private String DESCRIPTION;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
/**
* 显示序号
*/
@TableField("SHOW_ORDER")
private Integer showOrder;
}

@ -1,92 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* <p>
* 会员折扣表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdMemberDiscount implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 会员标识
*/
@TableId(value = "ID", type = IdType.AUTO)
private Integer id;
/**
* 科目
*/
@TableField("SUBJECT")
private String subject;
/**
* 会员
*/
@TableField("DISCOUNT_TYPE")
private String discountType;
/**
* 会员折扣单位元
*/
@TableField("DISCOUNT")
private BigDecimal discount;
@TableField("PARAM1")
private String param1;
@TableField("PARAM2")
private String param2;
/**
* 会员时间
*/
@TableField("DURATION")
private Integer duration;
/**
* 时长单位12 3
*/
@TableField("UNIT")
private String unit;
/**
* 会员描述
*/
@TableField("DESCRIPTION")
private String description;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
}

@ -1,58 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 模块题目表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdModuleQuestion implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 模块标识
*/
@TableId(value = "MODULE", type = IdType.AUTO)
private Integer module;
/**
* 车型
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
/**
* 题目标识
*/
@TableField("QUESTION_ID")
private Long questionId;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
}

@ -1,58 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 考点题目表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdPointQuestion implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 考点标识
*/
@TableField(value = "POINT")
private String point;
/**
* 车型
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
/**
* 题目标识
*/
@TableField("QUESTION_ID")
private Long questionId;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
}

@ -1,81 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 考试项目表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdProject implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 考试项目
*/
@TableId("PROJECT_ID")
private Integer projectId;
/**
* 类型
*/
@TableField("TYPE")
private String type;
/**
* 所属科目
*/
@TableField("SUBJECT")
private String subject;
/**
* 车型标识
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
/**
* 驾驶类型手动挡自动挡A2:B2等在字典表里配置
*/
@TableField("DRIVE_TYPE")
private String driveType;
/**
* 描述
*/
@TableField("DESCRIPTION")
private String description;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
/**
* 显示序号
*/
@TableField("SHOW_ORDER")
private Integer showOrder;
}

@ -1,40 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdQuestionJx implements Serializable {
@TableId("ID")
private Integer id;
@TableField("CATEGORY_TITLE")
private String categoryTitle;
@TableField("CATEGORY_ID")
private String categoryId;
@TableField("QUESTION_ID")
private Long questionId;
@TableField("CHAPTER_ID")
private Integer chapterId;
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
@TableField("SUBJECT")
private Integer subject;
}

@ -1,58 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 题库版本表;
* </p>
*
* @author Automated procedures
* @since 2023-09-03
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdQuestionVersion implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 题库版本
*/
@TableId(value = "VERSION_ID", type = IdType.AUTO)
private Long versionId;
/**
* 车型标识
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
/**
* 备注说明
*/
@TableField("DESCRIPTION")
private String description;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
}

@ -1,28 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdSecret implements Serializable {
@TableId("SECRET_ID")
private Integer secretId;
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
@TableField("SUBJECT")
private Integer subject;
@TableField("QUESTION_COUNT")
private Integer questionCount;
}

@ -1,26 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdSecretQuestion implements Serializable {
@TableId("ID")
private Integer id;
@TableField("SECRET_ID")
private Integer secretId;
@TableField("QUESTION_ID")
private Long questionId;
}

@ -1,61 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
/**
* 用户折扣
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdSysUserDiscount {
@TableId(value = "ID", type = IdType.AUTO)
private Integer id;
@TableField(value = "USER_ID")
private Long userId;
@TableField(value = "DISCOUNT_ID")
private Integer discountId;
//折扣
@TableField(value = "DISCOUNT")
private BigDecimal discount;
/**
* 会员时间
*/
@TableField("DURATION")
private Integer duration;
/**
* 时长单位12 3
*/
@TableField("UNIT")
private String unit;
@TableField(value = "END_TIME")
private LocalDateTime endTime;
@TableField(value = "IS_INVALID")
private Integer isInvalid;
@TableField(value = "OPER_USER")
private String operUser;
@TableField(value = "OPER_TIME")
private LocalDateTime operTime;
private Integer useType;
}

@ -1,72 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 用户会员表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdSysUserMember implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户标识
*/
@TableId("USER_ID")
private Long userId;
/**
* 会员标识
*/
@TableField("MEMBER_ID")
private Integer memberId;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 更新时间
*/
@TableField("UPDATE_TIME")
private LocalDateTime updateTime;
/**
* 会员开始时间
*/
@TableField("START_DATE")
private LocalDateTime startDate;
/**
* 会员结束时间
*/
@TableField("END_DATE")
private LocalDateTime endDate;
@TableField("OPER_USER")
private String operUser;
@TableField("USE_TYPE")
private Integer useType;
}

@ -1,64 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 租户用户表
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("td_tenant_applet")
public class TdTenantApplet implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户标识
*/
@TableId(value = "tenant_id")
private Long tenantId;
@TableField(value = "app_id")
private String appId;
@TableField(value = "app_name")
private String appName;
@TableField(value = "app_secret")
private String appSecret;
@TableField(value = "mch_id")
private String mchId;
@TableField(value = "api_v3_key")
private String apiV3Key;
@TableField(value = "mch_serial_no")
private String mchSerialNo;
@TableField(value = "private_key_path")
private String privateKeyPath;
@TableField(value = "pub_key_id")
private String pubKeyId;
@TableField(value = "pub_key_path")
private String pubKeyPath;
@TableField(value = "pay_notice_url")
private String payNoticeUrl;
@TableField(value = "is_new")
private Boolean isNew;
}

@ -1,50 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 租户用户表
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("td_tenant_car")
public class TdTenantCar implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户标识
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户标识
*/
@TableField(value = "tenant_id")
private Long tenantId;
/**
* 考试类型
*/
@TableField(value = "car_type_id")
private String carTypeId;
/**
* 状态
*/
@TableField("is_active")
private String icActive;
}

@ -1,56 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.util.List;
/**
* 租户用户表
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("td_tenant_user")
public class TdTenantUser implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户标识
*/
@TableId(value = "id", type = IdType.AUTO)
private Long id;
/**
* 用户标识
*/
@TableField(value = "user_id")
private Long userId;
/**
* 用户标识
*/
@TableField(value = "tenant_id")
private Long tenantId;
/**
* 考试类型
*/
@TableField(value = "car_type_ids")
private String carTypeIds;
/**
* 考试类型
*/
@TableField("is_active")
private String icActive;
}

@ -1,82 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 图标分类表;
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdTrafficSignCategory implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 图标分类标识
*/
@TableId(value = "SIGN_CATEGORY_ID", type = IdType.AUTO)
private Integer signCategoryId;
/**
* 图标分类名称
*/
@TableField("SIGN_CATEGORY_NAME")
private String signCategoryName;
/**
* 图标分类图片链接
*/
@TableField("SIGN_IMG_URL")
private String signImgUrl;
/**
* 父类图标分类标识
*/
@TableField("PARENT_SIGN_CATEGORY_ID")
private Integer parentSignCategoryId;
/**
* 是否有子项子项才会与题目关联
*/
@TableField("HAS_CHILD")
private String hasChild;
/**
* 图标数量
*/
@TableField("SIGN_NUM")
private Integer signNum;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
/**
* 显示序号
*/
@TableField("SHOW_ORDER")
private Integer showOrder;
}

@ -1,46 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
import com.fasterxml.jackson.datatype.jsr310.ser.LocalDateTimeSerializer;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdUserDistribution implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 用户标识
*/
@TableId(value = "record_id", type = IdType.AUTO)
private Long recordId;
@TableField("user_id")
private Long userId;
@TableField("distribution_id")
private String distributionId;
/**
* 绑定时间
*/
@TableField("bind_time")
@JsonDeserialize(using = LocalDateTimeDeserializer.class)
@JsonSerialize(using = LocalDateTimeSerializer.class)
private LocalDateTime bindTime;
@TableField("tenant_id")
private Long tenantId;
}

@ -1,82 +0,0 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 视频标识表;
* </p>
*
* @author Automated procedures
* @since 2023-08-20
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdVideos implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 视频标识
*/
@TableId(value = "VIDEO_ID", type = IdType.AUTO)
private Integer videoId;
/**
* 类型标识
*/
@TableField("TYPE_ID")
private Integer typeId;
/**
* 视频图片
*/
@TableField("VIDEO_IMAGE")
private String videoImage;
/**
* 视频链接
*/
@TableField("VIDEO_URL")
private String videoUrl;
/**
* 视频时长()
*/
@TableField("VIDEO_TIME")
private Integer videoTime;
/**
* 显示序号
*/
@TableField("SHOW_ORDER")
private Integer showOrder;
/**
* 描述
*/
@TableField("DESCRIPTION")
private String description;
/**
* 创建时间
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
private String isActive;
}

@ -0,0 +1,75 @@
package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import java.io.Serializable;
import java.time.LocalDateTime;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("wrj_chapter")
public class WrjChapter implements Serializable {
/**
* 章节id
*/
@TableId("chapter_id")
private Integer chapterId;
/**
* 章节名
*/
@TableField("chapter_name")
private String chapterName;
/**
* 状态 0 正常 1 禁用
*/
@TableField("is_active")
private String isActive;
/**
* 排序
*/
@TableField("sort")
private Integer sort;
/**
* summary
*/
@TableField("summary")
private String summary;
/**
* 创建者
*/
@TableField("creator")
private String creator;
/**
* 创建时间
*/
@TableField("create_time")
private LocalDateTime createTime;
/**
* 更新者
*/
@TableField("updater")
private String updater;
/**
* 更新时间
*/
@TableField("update_time")
private LocalDateTime updateTime;
}

@ -5,13 +5,15 @@ import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* <p>
* 图标分类相关题目表;
* 无人机驾驶员类型;
* </p>
*
* @author Automated procedures
@ -20,33 +22,32 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdTrafficSignQuestion implements Serializable {
@TableName("wrj_type_chapter")
public class WrjDriverType implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 图标分类标识
* 驾驶员类型标识
*/
@TableId(value = "SIGN_CATEGORY_ID", type = IdType.AUTO)
private Integer signCategoryId;
@TableId(value = "type_id", type = IdType.AUTO)
private Integer typeId;
/**
* 题目标识
* 类型名称
*/
@TableField("QUESTION_ID")
private Long questionId;
@TableField("type_name")
private String typeName;
/**
* 创建时间
* 无人机机型
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
@TableField("model_id")
private String modelId;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
@TableField("is_active")
private String isActive;
}

@ -5,7 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -21,178 +21,167 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdQuestion implements Serializable {
@TableName("wrj_question")
public class WrjQuestion implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 题目标识
*/
@TableId(value = "QUESTION_ID", type = IdType.AUTO)
@TableId(value = "question_id", type = IdType.AUTO)
private Long questionId;
/**
* 题目内容
*/
@TableField("QUESTION")
@TableField("question")
private String question;
/**
* 选项A
*/
@TableField("CHOOSE_A")
@TableField("choose_a")
private String chooseA;
/**
* 选项B
*/
@TableField("CHOOSE_B")
@TableField("choose_b")
private String chooseB;
/**
* 选项C
*/
@TableField("CHOOSE_C")
@TableField("choose_c")
private String chooseC;
/**
* 选项D
*/
@TableField("CHOOSE_D")
@TableField("choose_d")
private String chooseD;
/**
* 选项E
*/
@TableField("CHOOSE_E")
@TableField("choose_e")
private String chooseE;
/**
* 选项F
*/
@TableField("CHOOSE_F")
@TableField("choose_f")
private String chooseF;
/**
* 选项G
*/
@TableField("CHOOSE_G")
@TableField("choose_g")
private String chooseG;
/**
* 正确答案
*/
@TableField("TRUE_ANSWER")
@TableField("true_answer")
private String trueAnswer;
/**
* 未知
*/
@TableField("CIDS")
private String cids;
/**
* 题型分类
*/
@TableField("CATEGORY")
private String category;
/**
* 题目图片url
*/
@TableField("IMAGE_URL")
@TableField("image_url")
private String imageUrl;
/**
* 最佳回答
*/
@TableField("BEST_ANSWER")
@TableField("best_answer")
private String bestAnswer;
/**
* 答题技巧
*/
@TableField("SKILL_INFO")
@TableField("skill_info")
private String skillInfo;
/**
* 章节标识
* 错误答案解析
*/
@TableField("CHAPTER")
private String chapter;
@TableField("error_info")
private String errorInfo;
/**
* 所属科目1:科目12:科目4
* 章节标识
*/
@TableField("SUBJECT")
private String subject;
@TableField("chapter")
private Integer chapter;
/**
* 选择
*/
@TableField("OPTIONS")
@TableField("options")
private String options;
/**
* 题目类型1选择题 2判断题3多选题
*/
@TableField("TYPE")
@TableField("type")
private String type;
/**
* 显示序号
*/
@TableField("SHOW_ORDER")
@TableField("show_order")
private int showOrder;
/**
* 车型
* 源id
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
@TableField("origin_id")
private String originId;
/**
* 是否生效
*/
@TableField("IS_ACTIVE")
@TableField("is_active")
private String isActive;
/**
* 是否密卷2
* 题目关键字
*/
@TableField("TITLE_WORDS")
@TableField("title_words")
private String titleWords;
/**
* 是否密卷2
* 答题技巧关键字
*/
@TableField("SKILL_WORDS")
@TableField("skill_words")
private String skillWords;
/**
* 是否密卷2
* 选项A关键字
*/
@TableField("A_WORDS")
@TableField("a_words")
private String aWords;
/**
* 是否密卷2
* 选项B关键字
*/
@TableField("B_WORDS")
@TableField("b_words")
private String bWords;
/**
* 是否密卷2
* 选项C关键字
*/
@TableField("C_WORDS")
@TableField("c_words")
private String cWords;
/**
* 是否密卷2
* 选项D关键字
*/
@TableField("D_WORDS")
@TableField("d_words")
private String dWords;
}

@ -6,7 +6,7 @@ import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModelProperty;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -22,27 +22,28 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdQuestionTest implements Serializable {
@TableName("wrj_question_test")
public class WrjQuestionTest implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 模拟考试成绩标识
*/
@TableId(value = "TEST_ID", type = IdType.AUTO)
@TableId(value = "test_id", type = IdType.AUTO)
private Long testId;
/**
* 车型标识
* 无人机驾驶员类型
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
@TableField("type_id")
private Integer typeId;
/**
* 考试科目
* 无人机型标识
*/
@TableField("SUBJECT")
private String subject;
@TableField("model_id")
private Integer modelId;
/**
* 用户标识
@ -67,9 +68,4 @@ public class TdQuestionTest implements Serializable {
*/
@TableField("CREATE_TIME")
private LocalDateTime createTime;
@TableField("TENANT_ID")
private Long tenantId;
}

@ -5,6 +5,7 @@ import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
@ -24,15 +25,16 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdSysConfig implements Serializable {
@TableName("wrj_sys_config")
public class WrjSysConfig implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 车型标识,-1为与车型无关
* 无人机驾驶类型标识,-1为与无人机驾驶类型标识无关
*/
@TableId("CAR_TYPE_ID")
private Integer carTypeId;
@TableId("DRIVER_TYPE_ID")
private Integer driverTypeId;
/**
* 配置项KEY

@ -5,6 +5,7 @@ import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.datatype.jsr310.deser.LocalDateTimeDeserializer;
@ -24,15 +25,16 @@ import lombok.experimental.Accessors;
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdSysConfigList implements Serializable {
@TableName("wrj_sys_config_list")
public class WrjSysConfigList implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 车型标识,-1为与车型无关
* 无人机驾驶类型标识,-1为与无人机驾驶类型标识无关
*/
@TableId("CAR_TYPE_ID")
private Integer carTypeId;
@TableId("DRIVER_TYPE_ID")
private Integer driverTypeId;
@TableField("CONFIG_KEY")
private String configKey;

@ -2,6 +2,7 @@ package com.wrj.driver.server.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
@ -9,51 +10,52 @@ import lombok.experimental.Accessors;
import java.io.Serializable;
/**
* 型章节表
* 无人机驾驶员类型章节表
*/
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
public class TdCarChapter implements Serializable {
@TableName("wrj_type_chapter")
public class WrjTypeChapter implements Serializable {
@TableId("ID")
private Integer ID;
@TableId("id")
private Integer id;
/**
* 章节id
* 机型iD
*/
@TableField("CHAPTER_ID")
private Integer chapterId;
@TableField("model_id")
private Integer modelId;
/**
* 驾驶类型id
*/
@TableField("type_id")
private Integer typeId;
/**
* 车型id
* 章节id
*/
@TableField("CAR_TYPE_ID")
private Integer carTypeId;
@TableField("chapter_id")
private Integer chapterId;
/**
* 判断题
*/
@TableField("JUDGE_NUM")
@TableField("judge_num")
private Integer judgeNum;
/**
* 单选题
*/
@TableField("RADIO_NUM")
@TableField("radio_num")
private Integer radioNum;
/**
* 多选题
*/
@TableField("MULTIPLE_CHOICE_NUM")
@TableField("multiple_choice_num")
private Integer multipleChoiceNum;
/**
* 科目
*/
@TableField("SUBJECT")
private Integer subject;
}

@ -1,16 +0,0 @@
package com.wrj.driver.server.mapper;
import com.wrj.driver.server.entity.OrderPayInfo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 支付表 Mapper 接口
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
public interface OrderPayInfoMapper extends BaseMapper<OrderPayInfo> {
}

@ -1,16 +0,0 @@
package com.wrj.driver.server.mapper;
import com.wrj.driver.server.entity.PayNoticeLog;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 支付回调日志表 Mapper 接口
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
public interface PayNoticeLogMapper extends BaseMapper<PayNoticeLog> {
}

@ -1,16 +0,0 @@
package com.wrj.driver.server.mapper;
import com.wrj.driver.server.entity.PayPrepay;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 预支付表 Mapper 接口
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
public interface PayPrepayMapper extends BaseMapper<PayPrepay> {
}

@ -1,16 +0,0 @@
package com.wrj.driver.server.mapper;
import com.wrj.driver.server.entity.PayPrepayResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 支付结果表 Mapper 接口
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
public interface PayPrepayResultMapper extends BaseMapper<PayPrepayResult> {
}

@ -1,16 +0,0 @@
package com.wrj.driver.server.mapper;
import com.wrj.driver.server.entity.PayRefund;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 申请退款表 Mapper 接口
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
public interface PayRefundMapper extends BaseMapper<PayRefund> {
}

@ -1,16 +0,0 @@
package com.wrj.driver.server.mapper;
import com.wrj.driver.server.entity.PayRefundResult;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* <p>
* 退款结果表 Mapper 接口
* </p>
*
* @author Automated procedures
* @since 2023-08-10
*/
public interface PayRefundResultMapper extends BaseMapper<PayRefundResult> {
}

@ -1,10 +0,0 @@
package com.wrj.driver.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wrj.driver.server.entity.SysDistributionDetail;
import java.util.List;
public interface SysDistributionDetailMapper extends BaseMapper<SysDistributionDetail> {
List<SysDistributionDetail> selectCurrentTimeList(String distributionId, String startTime);
}

@ -1,8 +0,0 @@
package com.wrj.driver.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wrj.driver.server.entity.SysDistribution;
public interface SysDistributionMapper extends BaseMapper<SysDistribution> {
SysDistribution selectById(String distributionId);
}

@ -0,0 +1,7 @@
package com.wrj.driver.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wrj.driver.server.entity.SysUserLog;
public interface SysUserLogMapper extends BaseMapper<SysUserLog> {
}

@ -1,13 +0,0 @@
package com.wrj.driver.server.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.wrj.driver.server.dto.BaseQueryDto;
import com.wrj.driver.server.entity.TdCarChapter;
import com.wrj.driver.server.vo.CarChapterVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
public interface TdCarChapterMapper extends BaseMapper<TdCarChapter> {
List<CarChapterVo> queryCarChapter(@Param("param") BaseQueryDto queryDto1);
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save