支付宝小程序开发笔记

[复制链接]
发表于 2024-12-2 07:14:39 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×


本地yaml设置

  1. server:
  2.   port: 9638
  3.   devtools:
  4.     restart:
  5.       enabled: true  #设置开启热部署
  6.       additional-paths: src/main/java/com/example/demo3 #重启目录
  7.       exclude: WEB-INF/**
  8.     thymeleaf:
  9.       cache: false  #使用Thymeleaf模板引擎,关闭缓存
  10.   server-header:
  11. mybatis:
  12.   mapper-locations: classpath:mybatis/mapper/*.xml
  13.   type-aliases-package: com.example.demo.entry.pojo
  14. mybatis-plus:
  15.   mapper-locations: classpath:mapper/*.xml
  16.   configuration:
  17.     map-underscore-to-camel-case: false
  18. spring:
  19.   application:
  20.     name: exam-provider-basic
  21.   datasource:
  22.     driver-class-name: com.mysql.cj.jdbc.Driver
  23.     username: root
  24.     password: 123456
  25.     #    url: jdbc:mysql://localhost:3306/best?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
  26.   #    url:  jdbc:mysql:150.158.136.15//116.62.47.169:11955/huanbao?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
  27.     url:  jdbc:mysql://127.0.0.1:3306/yu?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8&allowMultiQueries=true
  28.   servlet:
  29.     multipart:
  30.       max-request-size: 500MB
  31.       max-file-size: 100MB
  32.   # knife4启动部署策略防止启动报错
  33.   mvc:
  34.     pathmatch:
  35.       matching-strategy: ant_path_matcher
  36. files:
  37.   upload:
  38. #    path: /home/huanbao/images/
  39.     path: C:/Users/l/Desktop/photo/upload/
复制代码
 sql文件

  1. /*
  2. Navicat Premium Data Transfer
  3. Source Server         : nn
  4. Source Server Type    : MySQL
  5. Source Server Version : 80016 (8.0.16)
  6. Source Host           : localhost:3306
  7. Source Schema         : yu
  8. Target Server Type    : MySQL
  9. Target Server Version : 80016 (8.0.16)
  10. File Encoding         : 65001
  11. Date: 30/11/2024 15:01:09
  12. */
  13. SET NAMES utf8mb4;
  14. SET FOREIGN_KEY_CHECKS = 0;
  15. -- ----------------------------
  16. -- Table structure for chuyulaji
  17. -- ----------------------------
  18. DROP TABLE IF EXISTS `chuyulaji`;
  19. CREATE TABLE `chuyulaji`  (
  20.   `id` int(11) NOT NULL,
  21.   `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名字',
  22.   PRIMARY KEY (`id`) USING BTREE
  23. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
  24. -- ----------------------------
  25. -- Records of chuyulaji
  26. -- ----------------------------
  27. -- ----------------------------
  28. -- Table structure for document
  29. -- ----------------------------
  30. DROP TABLE IF EXISTS `document`;
  31. CREATE TABLE `document`  (
  32.   `id` int(20) NOT NULL AUTO_INCREMENT,
  33.   `openid` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  34.   `wenzhangname` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  35.   `coin` int(11) NOT NULL DEFAULT 2,
  36.   `time` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  37.   PRIMARY KEY (`id`) USING BTREE,
  38.   UNIQUE INDEX `document_id_uindex`(`id` ASC) USING BTREE
  39. ) ENGINE = InnoDB AUTO_INCREMENT = 78644061 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
  40. -- ----------------------------
  41. -- Records of document
  42. -- ----------------------------
  43. INSERT INTO `document` VALUES (16677383, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', 'y', 2, '2024-03-25 15:56:09');
  44. INSERT INTO `document` VALUES (17692053, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', '1231231231231111111111111111111111111111', 2, '2024-03-25 16:04:51');
  45. INSERT INTO `document` VALUES (19721610, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', 'qweqweqweqweqew', 2, '2024-03-25 15:56:54');
  46. INSERT INTO `document` VALUES (34211426, '015pzv1m7FVTamTkYKYdaZ78hvoye7mtTrRRaxTEYBgXXM3', '风险', 2, '2024-03-25 18:47:34');
  47. INSERT INTO `document` VALUES (39719110, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '1', 2, '2024-03-25 15:08:35');
  48. INSERT INTO `document` VALUES (40877447, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '1', 2, '2024-03-25 15:22:36');
  49. INSERT INTO `document` VALUES (42437406, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '1', 2, '2024-03-25 15:20:23');
  50. INSERT INTO `document` VALUES (69509827, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '1', 2, '2024-03-25 15:27:33');
  51. INSERT INTO `document` VALUES (78644060, '099pzv1m7FVTamTkYKYdaZ78lsKEzjNo6IqmfZ0snKQMaI6', '永远永远', 2, '2024-03-25 19:58:52');
  52. -- ----------------------------
  53. -- Table structure for errrorquestion
  54. -- ----------------------------
  55. DROP TABLE IF EXISTS `errrorquestion`;
  56. CREATE TABLE `errrorquestion`  (
  57.   `erorid` int(11) NOT NULL COMMENT '随机生成的错题id',
  58.   `openid` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'OpenId\n',
  59.   `questionname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '题目名字',
  60.   `userAnswer` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '用户答案',
  61.   `zhengquedaan` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '正确答案',
  62.   `questionid` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '错题题目id',
  63.   UNIQUE INDEX `errrorquestion_erorid_uindex`(`erorid` ASC) USING BTREE
  64. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
  65. -- ----------------------------
  66. -- Records of errrorquestion
  67. -- ----------------------------
  68. -- ----------------------------
  69. -- Table structure for goods
  70. -- ----------------------------
  71. DROP TABLE IF EXISTS `goods`;
  72. CREATE TABLE `goods`  (
  73.   `id` int(20) NOT NULL AUTO_INCREMENT,
  74.   `shopImage` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '商品图片',
  75.   `goodTitle` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品标题',
  76.   `column_4` int(11) NULL DEFAULT NULL,
  77.   `shopJs` varchar(500) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '商品介绍',
  78.   `shopCoin` int(11) NOT NULL COMMENT '所需积分',
  79.   PRIMARY KEY (`id`) USING BTREE,
  80.   UNIQUE INDEX `goods_id_uindex`(`id` ASC) USING BTREE
  81. ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
  82. -- ----------------------------
  83. -- Records of goods
  84. -- ----------------------------
  85. -- ----------------------------
  86. -- Table structure for items
  87. -- ----------------------------
  88. DROP TABLE IF EXISTS `items`;
  89. CREATE TABLE `items`  (
  90.   `id` int(11) NOT NULL AUTO_INCREMENT,
  91.   `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  92.   `description` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL,
  93.   PRIMARY KEY (`id`) USING BTREE
  94. ) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  95. -- ----------------------------
  96. -- Records of items
  97. -- ----------------------------
  98. -- ----------------------------
  99. -- Table structure for kehuishou
  100. -- ----------------------------
  101. DROP TABLE IF EXISTS `kehuishou`;
  102. CREATE TABLE `kehuishou`  (
  103.   `id` int(11) NOT NULL,
  104.   `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名字',
  105.   PRIMARY KEY (`id`) USING BTREE
  106. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
  107. -- ----------------------------
  108. -- Records of kehuishou
  109. -- ----------------------------
  110. -- ----------------------------
  111. -- Table structure for ks
  112. -- ----------------------------
  113. DROP TABLE IF EXISTS `ks`;
  114. CREATE TABLE `ks`  (
  115.   `paperid` int(20) NULL DEFAULT NULL COMMENT 'sj试卷id',
  116.   `openid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT 'openid',
  117.   `nowdate` datetime NULL DEFAULT NULL COMMENT '当前时间 ',
  118.   `useranswer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '用户作答记录',
  119.   `zhengquedaan` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '正确答案\n',
  120.   `questionid` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  121.   `fenshu` int(10) NULL DEFAULT NULL COMMENT '分数',
  122.   `timumignzi` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL COMMENT '考试的题目名字'
  123. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '考试' ROW_FORMAT = COMPACT;
  124. -- ----------------------------
  125. -- Records of ks
  126. -- ----------------------------
  127. INSERT INTO `ks` VALUES (69439969, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', '2024-03-20 10:04:51', '可回收垃圾,其他垃圾,其他垃圾,厨余垃圾,其他垃圾', '可回收垃圾,其他垃圾,其他垃圾,其他垃圾,厨余垃圾', '6,23,20,15,9', 3, '纸巾,塑料薄膜,布料碎片,纸屑,鱼鳞');
  128. INSERT INTO `ks` VALUES (15913846, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', '2024-03-20 10:09:26', '可回收垃圾,其他垃圾,厨余垃圾,有害垃圾,其他垃圾', '可回收垃圾,厨余垃圾,厨余垃圾,厨余垃圾,厨余垃圾', '3,13,12,14,5', 2, '塑料瓶,茶叶渣,香蕉皮,大蒜皮,菜叶');
  129. INSERT INTO `ks` VALUES (9877581, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', '2024-03-21 07:00:29', '其他垃圾,厨余垃圾,其他垃圾,可回收垃圾,厨余垃圾', '厨余垃圾,厨余垃圾,可回收垃圾,可回收垃圾,厨余垃圾', '8,12,3,6,4', 3, '剩饭剩菜,香蕉皮,塑料瓶,纸巾,苹果核');
  130. INSERT INTO `ks` VALUES (43329237, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-21 14:50:57', '厨余垃圾,厨余垃圾,可回收垃圾,可回收垃圾,可回收垃圾', '可回收垃圾,厨余垃圾,厨余垃圾,其他垃圾,其他垃圾', '3,1,4,20,22', 1, '塑料瓶,橙子皮,苹果核,布料碎片,猫砂');
  131. INSERT INTO `ks` VALUES (4121673, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-21 15:10:35', '厨余垃圾,厨余垃圾,可回收垃圾,可回收垃圾,可回收垃圾', '厨余垃圾,可回收垃圾,其他垃圾,可回收垃圾,其他垃圾', '5,3,19,11,18', 2, '菜叶,塑料瓶,化妆品,杂志,一次性餐具');
  132. INSERT INTO `ks` VALUES (55440237, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-23 04:55:11', '其他垃圾,厨余垃圾,有害垃圾,其他垃圾,可回收垃圾', '可回收垃圾,厨余垃圾,其他垃圾,其他垃圾,厨余垃圾', '3,1,23,16,12', 2, '塑料瓶,橙子皮,塑料薄膜,陶瓷碎片,香蕉皮');
  133. INSERT INTO `ks` VALUES (73032352, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', '2024-03-23 07:14:45', '其他垃圾,厨余垃圾,其他垃圾,其他垃圾,其他垃圾', '其他垃圾,厨余垃圾,厨余垃圾,可回收垃圾,其他垃圾', '23,7,1,2,15', 3, '塑料薄膜,鸡骨头,橙子皮,纸板箱,纸屑');
  134. INSERT INTO `ks` VALUES (69168659, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-25 07:21:28', '厨余垃圾,厨余垃圾,可回收垃圾,可回收垃圾,可回收垃圾', '可回收垃圾,厨余垃圾,有害垃圾,其他垃圾,厨余垃圾', '30,5,25,17,9', 1, '铁丝,菜叶,废水银温度计,碎玻璃,鱼鳞');
  135. INSERT INTO `ks` VALUES (90187525, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-25 07:25:07', '厨余垃圾,厨余垃圾,可回收垃圾,可回收垃圾,可回收垃圾', '厨余垃圾,其他垃圾,可回收垃圾,可回收垃圾,其他垃圾', '7,20,31,29,23', 3, '鸡骨头,布料碎片,信封,桌布,塑料薄膜');
  136. INSERT INTO `ks` VALUES (15544065, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-25 07:55:22', '厨余垃圾,有害垃圾,有害垃圾,厨余垃圾,其他垃圾', '可回收垃圾,可回收垃圾,有害垃圾,厨余垃圾,其他垃圾', '29,11,28,38,15', 3, '桌布,杂志,老鼠药,动物内脏,纸屑');
  137. INSERT INTO `ks` VALUES (55909233, '015pzv1m7FVTamTkYKYdaZ78hvoye7mtTrRRaxTEYBgXXM3', '2024-03-25 10:45:36', '厨余垃圾,厨余垃圾,有害垃圾,可回收垃圾,有害垃圾', '厨余垃圾,其他垃圾,其他垃圾,可回收垃圾,其他垃圾', '40,18,19,2,23', 2, '蛋壳,一次性餐具,化妆品,纸板箱,塑料薄膜');
  138. INSERT INTO `ks` VALUES (33676755, '099pzv1m7FVTamTkYKYdaZ78lsKEzjNo6IqmfZ0snKQMaI6', '2024-03-25 11:59:24', '有害垃圾,有害垃圾,有害垃圾,有害垃圾,有害垃圾', '其他垃圾,厨余垃圾,可回收垃圾,有害垃圾,厨余垃圾', '36,39,32,26,40', 1, '消毒剂,茶渣,广告单,废油漆,蛋壳');
  139. INSERT INTO `ks` VALUES (20302666, '091pzv1m7FVTamTkYKYdaZ78u_aR5qYcoYmVepFDpXm-UMe', '2024-03-25 14:57:42', '其他垃圾,其他垃圾,其他垃圾,其他垃圾,其他垃圾', '其他垃圾,厨余垃圾,其他垃圾,可回收垃圾,有害垃圾', '21,5,22,11,25', 2, '泡沫板,菜叶,猫砂,杂志,废水银温度计');
  140. INSERT INTO `ks` VALUES (5168503, '015pzv1m7FVTamTkYKYdaZ78hBFZnOzvW3_2B-uYNpCChsb', '2024-04-02 12:46:57', '厨余垃圾,可回收垃圾,厨余垃圾,厨余垃圾,可回收垃圾', '厨余垃圾,可回收垃圾,厨余垃圾,厨余垃圾,可回收垃圾', '5,3,7,14,2', 5, '菜叶,塑料瓶,鸡骨头,大蒜皮,纸板箱');
  141. INSERT INTO `ks` VALUES (87236085, '015pzv1m7FVTamTkYKYdaZ78hBFZnOzvW3_2B-uYNpCChsb', '2024-04-02 12:47:19', '厨余垃圾,可回收垃圾,可回收垃圾,可回收垃圾,有害垃圾', '厨余垃圾,可回收垃圾,可回收垃圾,可回收垃圾,有害垃圾', '41,29,10,3,28', 5, '小鸡骨,桌布,易拉罐,塑料瓶,老鼠药');
  142. INSERT INTO `ks` VALUES (84763647, '061pzv1m7FVTamTkYKYdaZ78hqg8LrYqnCkXEgn_kdnMCI7', '2024-04-18 10:43:37', '可回收垃圾,可回收垃圾,厨余垃圾,其他垃圾,其他垃圾', '可回收垃圾,其他垃圾,其他垃圾,其他垃圾,厨余垃圾', '30,34,17,21,9', 2, '铁丝,泡沫塑料,碎玻璃,泡沫板,鱼鳞');
  143. -- ----------------------------
  144. -- Table structure for paper
  145. -- ----------------------------
  146. DROP TABLE IF EXISTS `paper`;
  147. CREATE TABLE `paper`  (
  148.   `id` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  149.   `questionname` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  150.   `xuanxiangyi` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  151.   `xuanxianger` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  152.   `xuanxiangsan` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  153.   `xuanxiangsi` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL,
  154.   `answer` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  155.   `openid` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  156.   `coin` int(10) NULL DEFAULT NULL COMMENT '0',
  157.   `pid` int(10) NULL DEFAULT NULL
  158. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci ROW_FORMAT = COMPACT;
  159. -- ----------------------------
  160. -- Records of paper
  161. -- ----------------------------
  162. -- ----------------------------
  163. -- Table structure for qitalaji
  164. -- ----------------------------
  165. DROP TABLE IF EXISTS `qitalaji`;
  166. CREATE TABLE `qitalaji`  (
  167.   `id` int(11) NOT NULL,
  168.   `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名字',
  169.   PRIMARY KEY (`id`) USING BTREE
  170. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
  171. -- ----------------------------
  172. -- Records of qitalaji
  173. -- ----------------------------
  174. -- ----------------------------
  175. -- Table structure for question
  176. -- ----------------------------
  177. DROP TABLE IF EXISTS `question`;
  178. CREATE TABLE `question`  (
  179.   `id` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  180.   `questionname` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  181.   `xuanxiangyi` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '可回收垃圾' COMMENT '选项一',
  182.   `xuanxianger` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '其他垃圾' COMMENT '选项二',
  183.   `xuanxiangsi` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '有害垃圾' COMMENT '选项四',
  184.   `xuanxiangsan` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '厨余垃圾' COMMENT '选项三',
  185.   `zhengquedaan` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT '可回收垃圾' COMMENT '答案',
  186.   PRIMARY KEY (`id`) USING BTREE
  187. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
  188. -- ----------------------------
  189. -- Records of question
  190. -- ----------------------------
  191. INSERT INTO `question` VALUES ('1', '橙子皮', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  192. INSERT INTO `question` VALUES ('10', '易拉罐', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  193. INSERT INTO `question` VALUES ('11', '杂志', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  194. INSERT INTO `question` VALUES ('12', '香蕉皮', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  195. INSERT INTO `question` VALUES ('13', '茶叶渣', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  196. INSERT INTO `question` VALUES ('14', '大蒜皮', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  197. INSERT INTO `question` VALUES ('15', '纸屑', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  198. INSERT INTO `question` VALUES ('16', '陶瓷碎片', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  199. INSERT INTO `question` VALUES ('17', '碎玻璃', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  200. INSERT INTO `question` VALUES ('18', '一次性餐具', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  201. INSERT INTO `question` VALUES ('19', '化妆品', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  202. INSERT INTO `question` VALUES ('2', '纸板箱', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  203. INSERT INTO `question` VALUES ('20', '布料碎片', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  204. INSERT INTO `question` VALUES ('21', '泡沫板', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  205. INSERT INTO `question` VALUES ('22', '猫砂', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  206. INSERT INTO `question` VALUES ('23', '塑料薄膜', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  207. INSERT INTO `question` VALUES ('24', '废电池', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '有害垃圾');
  208. INSERT INTO `question` VALUES ('25', '废水银温度计', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '有害垃圾');
  209. INSERT INTO `question` VALUES ('26', '废油漆', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '有害垃圾');
  210. INSERT INTO `question` VALUES ('27', '废灯管', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '有害垃圾');
  211. INSERT INTO `question` VALUES ('28', '老鼠药', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '有害垃圾');
  212. INSERT INTO `question` VALUES ('29', '桌布', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  213. INSERT INTO `question` VALUES ('3', '塑料瓶', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  214. INSERT INTO `question` VALUES ('30', '铁丝', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  215. INSERT INTO `question` VALUES ('31', '信封', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  216. INSERT INTO `question` VALUES ('32', '广告单', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  217. INSERT INTO `question` VALUES ('33', '布料', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  218. INSERT INTO `question` VALUES ('34', '泡沫塑料', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  219. INSERT INTO `question` VALUES ('35', '橡皮泥', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  220. INSERT INTO `question` VALUES ('36', '消毒剂', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '其他垃圾');
  221. INSERT INTO `question` VALUES ('37', '废弃食用油', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  222. INSERT INTO `question` VALUES ('38', '动物内脏', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  223. INSERT INTO `question` VALUES ('39', '茶渣', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  224. INSERT INTO `question` VALUES ('4', '苹果核', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  225. INSERT INTO `question` VALUES ('40', '蛋壳', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  226. INSERT INTO `question` VALUES ('41', '小鸡骨', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  227. INSERT INTO `question` VALUES ('5', '菜叶', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  228. INSERT INTO `question` VALUES ('6', '纸巾', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '可回收垃圾');
  229. INSERT INTO `question` VALUES ('7', '鸡骨头', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  230. INSERT INTO `question` VALUES ('8', '剩饭剩菜', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  231. INSERT INTO `question` VALUES ('9', '鱼鳞', '可回收垃圾', '其他垃圾', '有害垃圾', '厨余垃圾', '厨余垃圾');
  232. -- ----------------------------
  233. -- Table structure for rubbish
  234. -- ----------------------------
  235. DROP TABLE IF EXISTS `rubbish`;
  236. CREATE TABLE `rubbish`  (
  237.   `id` int(11) NOT NULL COMMENT 'id',
  238.   `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  239.   `type` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  240.   PRIMARY KEY (`id`) USING BTREE
  241. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '垃圾总表' ROW_FORMAT = DYNAMIC;
  242. -- ----------------------------
  243. -- Records of rubbish
  244. -- ----------------------------
  245. -- ----------------------------
  246. -- Table structure for sj
  247. -- ----------------------------
  248. DROP TABLE IF EXISTS `sj`;
  249. CREATE TABLE `sj`  (
  250.   `paper` int(11) NOT NULL COMMENT '试卷id',
  251.   `openid` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NULL DEFAULT NULL,
  252.   `nowdate` datetime NULL DEFAULT NULL COMMENT '当前时间\n\n',
  253.   PRIMARY KEY (`paper`) USING BTREE
  254. ) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci COMMENT = '试卷' ROW_FORMAT = COMPACT;
  255. -- ----------------------------
  256. -- Records of sj
  257. -- ----------------------------
  258. INSERT INTO `sj` VALUES (4121673, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-21 15:10:34');
  259. INSERT INTO `sj` VALUES (5168503, '015pzv1m7FVTamTkYKYdaZ78hBFZnOzvW3_2B-uYNpCChsb', '2024-04-02 12:46:57');
  260. INSERT INTO `sj` VALUES (9877581, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', '2024-03-21 07:00:29');
  261. INSERT INTO `sj` VALUES (15043373, '1', '2024-03-20 16:06:26');
  262. INSERT INTO `sj` VALUES (15544065, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-25 07:55:22');
  263. INSERT INTO `sj` VALUES (15913846, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', '2024-03-20 10:09:26');
  264. INSERT INTO `sj` VALUES (20302666, '091pzv1m7FVTamTkYKYdaZ78u_aR5qYcoYmVepFDpXm-UMe', '2024-03-25 14:57:42');
  265. INSERT INTO `sj` VALUES (33676755, '099pzv1m7FVTamTkYKYdaZ78lsKEzjNo6IqmfZ0snKQMaI6', '2024-03-25 11:59:24');
  266. INSERT INTO `sj` VALUES (43329237, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-21 14:50:57');
  267. INSERT INTO `sj` VALUES (48266426, '1', '2024-03-20 16:10:11');
  268. INSERT INTO `sj` VALUES (55440237, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-23 04:55:11');
  269. INSERT INTO `sj` VALUES (55909233, '015pzv1m7FVTamTkYKYdaZ78hvoye7mtTrRRaxTEYBgXXM3', '2024-03-25 10:45:36');
  270. INSERT INTO `sj` VALUES (69168659, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-25 07:21:28');
  271. INSERT INTO `sj` VALUES (69439969, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', '2024-03-20 10:04:51');
  272. INSERT INTO `sj` VALUES (73032352, '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', '2024-03-23 07:14:45');
  273. INSERT INTO `sj` VALUES (84763647, '061pzv1m7FVTamTkYKYdaZ78hqg8LrYqnCkXEgn_kdnMCI7', '2024-04-18 10:43:37');
  274. INSERT INTO `sj` VALUES (87236085, '015pzv1m7FVTamTkYKYdaZ78hBFZnOzvW3_2B-uYNpCChsb', '2024-04-02 12:47:19');
  275. INSERT INTO `sj` VALUES (90187525, '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '2024-03-25 07:25:07');
  276. INSERT INTO `sj` VALUES (93957644, '091pzv1m7FVTamTkYKYdaZ78u_aR5qYcoYmVepFDpXm-UMe', '2024-03-19 03:02:37');
  277. -- ----------------------------
  278. -- Table structure for user
  279. -- ----------------------------
  280. DROP TABLE IF EXISTS `user`;
  281. CREATE TABLE `user`  (
  282.   `id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT 'id',
  283.   `userAccount` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '账号',
  284.   `userPassword` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '密码',
  285.   `unionId` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '微信开放平台id',
  286.   `mpOpenId` varchar(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '公众号openId',
  287.   `userName` varchar(100) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户昵称',
  288.   `userAvatar` varchar(700) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户头像',
  289.   `userProfile` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '用户简介',
  290.   `userRole` varchar(50) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT 'user' COMMENT '用户角色:user/admin/ban',
  291.   `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  292.   `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  293.   `isDelete` tinyint(4) NOT NULL DEFAULT 0 COMMENT '是否删除',
  294.   `coin` int(11) NULL DEFAULT 0 COMMENT '积分'
  295. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '用户' ROW_FORMAT = COMPACT;
  296. -- ----------------------------
  297. -- Records of user
  298. -- ----------------------------
  299. INSERT INTO `user` VALUES ('39aff64f-ba2e-49dd-80f1-d3122db1d375', '12345678', '123456', '123456678', '096pzv1m7FVTamTkYKYdaZ78gQEpWLpbCXclR0sykUQgZof', NULL, NULL, '用户简介', 'user', '2024-03-19 19:02:28', '2024-03-19 19:02:28', 0, 0);
  300. INSERT INTO `user` VALUES ('93d13808-4b16-4506-8c7b-dbc1272795c4', '12345678', '123456', '123456678', '096pzv1m7FVTamTkYKYdaZ78gQEpWLpbCXclR0sykUQgZof', NULL, NULL, '用户简介', 'user', '2024-03-19 19:02:28', '2024-03-19 19:02:28', 0, 0);
  301. INSERT INTO `user` VALUES ('9281668a-615f-44cc-813f-8087454dbe7b', '12345678', '123456', '123456678', '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8', 'xiaoIDE', 'https://tfs.alipayobjects.com/images/partner/ATyFkDTLhpEe4AAAAAAAAAAAAADtl2AA', '用户简介', 'user', '2024-03-20 18:03:37', '2024-03-25 16:04:51', 0, 15);
  302. INSERT INTO `user` VALUES ('da3b02a3-5f3e-4483-a8c8-933cee47c7af', '12345678', '123456', '123456678', '015pzv1m7FVTamTkYKYdaZ78hBFZnOzvW3_2B-uYNpCChsb', '郝秋吉', 'https://tfs.alipayobjects.com/images/partner/ATJYdMQIytQOAAAAAAAAAAAAAADtl2AA', '用户简介', 'user', '2024-03-21 12:46:31', '2024-04-02 20:47:29', 0, 10);
  303. INSERT INTO `user` VALUES ('2bf04c87-f6cc-4403-aede-d6576769f66e', '12345678', '123456', '123456678', '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f', '马钰博', 'https://tfs.alipayobjects.com/images/partner/AT-ggAQo25zggAAAAAAAAAAAAADtl2AA', '用户简介', 'user', '2024-03-21 22:22:30', '2024-03-25 15:56:09', 0, 30);
  304. INSERT INTO `user` VALUES ('99c40520-3178-4a7c-8d5d-2a549f9c2e0a', '12345678', '123456', '123456678', '097pzv1m7FVTamTkYKYdaZ78ogNvy3ouoEI61Dbv_5lCWoc', '测试', 'https://tfs.alipayobjects.com/images/partner/ATjhg5SYgsCEQAAAAAAAAAAAAADtl2AA', '用户简介', 'user', '2024-03-23 16:22:38', '2024-03-23 16:22:38', 0, 0);
  305. INSERT INTO `user` VALUES ('ca9e3441-572f-4502-92d2-33e1235749c6', '12345678', '123456', '123456678', '028pzv1m7FVTamTkYKYdaZ78lT8ilGo9NyHKCoh-JVD9ns4', NULL, NULL, '用户简介', 'user', '2024-03-23 16:35:19', '2024-03-23 16:35:19', 0, 0);
  306. INSERT INTO `user` VALUES ('5e97116f-61b2-446c-be1c-0cf3640778ce', '12345678', '123456', '123456678', '015pzv1m7FVTamTkYKYdaZ78hvoye7mtTrRRaxTEYBgXXM3', '林天云', 'https://tfs.alipayobjects.com/images/partner/ATWrMFTKG7fmUAAAAAAAAAAAAADtl2AA', '用户简介', 'user', '2024-03-25 18:44:10', '2024-03-25 18:47:34', 0, 4);
  307. INSERT INTO `user` VALUES ('d0825985-f693-4d22-b270-f3d00e4fb1a5', '12345678', '123456', '123456678', '099pzv1m7FVTamTkYKYdaZ78lsKEzjNo6IqmfZ0snKQMaI6', '小程序审核', 'https://tfs.alipayobjects.com/images/partner/ATsxhST55kinkAAAAAAAAAAAAADtl2AA', '用户简介', 'user', '2024-03-25 19:58:14', '2024-03-25 19:59:29', 0, 3);
  308. INSERT INTO `user` VALUES ('73e1af4e-80ee-41a5-8023-d20c71aeed3f', '12345678', '123456', '123456678', '000pzv1m7FVTamTkYKYdaZ78mBRk3-wjQkQjGJE1_ZejLI9', 'ο▬▬▬◙▅▅▆▆▇▇◤40米', 'https://tfs.alipayobjects.com/images/partner/TB1KHeRb7RDDuNkUvNmXXXSypXa', '用户简介', 'user', '2024-03-25 20:10:24', '2024-03-25 20:10:24', 0, 0);
  309. INSERT INTO `user` VALUES ('402816ca-884f-4c82-a145-54a1d2de1ebe', '12345678', '123456', '123456678', '072pzv1m7FVTamTkYKYdaZ78oWZohk6acmB9BoGS_xnnWs8', 'Yang', 'https://tfs.alipayobjects.com/images/partner/T1AiJkXbdeXXXXXXXX', '用户简介', 'user', '2024-03-25 20:15:25', '2024-03-25 20:15:25', 0, 0);
  310. INSERT INTO `user` VALUES ('5f820f69-20d7-409c-b4dd-02302e3f5479', '12345678', '123456', '123456678', '007pzv1m7FVTamTkYKYdaZ78ifFKTxywQRNdIZEdskp2HM8', NULL, NULL, '用户简介', 'user', '2024-04-07 10:12:02', '2024-04-07 10:12:02', 0, 0);
  311. INSERT INTO `user` VALUES ('28b0ef35-07a5-490d-b548-a1b44b6f35ab', '12345678', '123456', '123456678', '097pzv1m7FVTamTkYKYdaZ78u6oLfxeHF3Z7_HGRd_HosU6', NULL, 'https://tfs.alipayobjects.com/images/partner/TB1PGMgbKxFDuNjm2EuXXaJ6pXa', '用户简介', 'user', '2024-04-07 10:29:19', '2024-04-07 10:29:19', 0, 0);
  312. INSERT INTO `user` VALUES ('935f2c59-1ce5-44ec-8f7a-926d8ddf1184', '12345678', '123456', '123456678', '099pzv1m7FVTamTkYKYdaZ78lM0hRLIUyDvLQMsmiD-nOw3', '伟', 'https://tfs.alipayobjects.com/images/partner/T15_ReXkRoXXXXXXXX', '用户简介', 'user', '2024-04-12 19:24:34', '2024-04-12 19:24:34', 0, 0);
  313. INSERT INTO `user` VALUES ('9586e167-94b4-4b52-83b4-5339233a3eac', '12345678', '123456', '123456678', '036pzv1m7FVTamTkYKYdaZ78romfPKRB04qwy59jyUbEgk9', NULL, NULL, '用户简介', 'user', '2024-04-17 19:14:14', '2024-04-17 19:14:14', 0, 0);
  314. INSERT INTO `user` VALUES ('8a9610e9-32c7-40f1-9c90-ba1f6b76e019', '12345678', '123456', '123456678', '038pzv1m7FVTamTkYKYdaZ78gL2ZkFKShEkSbYwRD3F8j0e', NULL, 'https://tfs.alipayobjects.com/images/partner/T1ZXVfXcJkXXXXXXXX', '用户简介', 'user', '2024-04-18 14:37:30', '2024-04-18 14:37:30', 0, 0);
  315. INSERT INTO `user` VALUES ('94ed1de1-e6d4-4b32-9fb6-c07274b8ada7', '12345678', '123456', '123456678', '061pzv1m7FVTamTkYKYdaZ78hqg8LrYqnCkXEgn_kdnMCI7', 'Sophie', 'https://tfs.alipayobjects.com/images/partner/TB1ZcQrc1dFDuNkUvLNXXXMFXXa', '用户简介', 'user', '2024-04-18 18:43:07', '2024-04-18 18:43:47', 0, 2);
  316. INSERT INTO `user` VALUES ('3e6878da-c392-497e-b639-46f1c5cea5c5', '12345678', '123456', '123456678', '095pzv1m7FVTamTkYKYdaZ78mxq6mxgT1ymenpvm-DjDok5', '英鑫', 'https://tfs.alipayobjects.com/images/partner/T1A8heXotjXXXXXXXX', '用户简介', 'user', '2024-04-19 20:48:49', '2024-04-19 20:48:49', 0, 0);
  317. INSERT INTO `user` VALUES ('69a826f3-475b-4a36-bc6e-36ad7f55cd15', '12345678', '123456', '123456678', '066pzv1m7FVTamTkYKYdaZ78r3TtNvI1jbT6TdG6Hp_J783', NULL, 'https://tfs.alipayobjects.com/images/partner/AT08hwRbJeOpEAAAAAAAAAAAAADtl2AA', '用户简介', 'user', '2024-04-29 11:03:42', '2024-04-29 11:03:42', 0, 0);
  318. INSERT INTO `user` VALUES ('1786315482182139905', 'baiqier', '1234567', NULL, NULL, '测', '无', NULL, 'admin', '2024-05-03 16:42:53', '2024-05-08 14:39:19', 0, 0);
  319. INSERT INTO `user` VALUES ('1786415995846352897', 'luyou', '12345678', NULL, NULL, NULL, NULL, NULL, 'user', '2024-05-03 23:22:18', '2024-05-03 23:22:18', 0, 0);
  320. INSERT INTO `user` VALUES ('1805620925128105986', '11111111111', 'f50bc72cecfa64b96cc36137d0e3c95a', NULL, NULL, NULL, NULL, NULL, 'user', '2024-06-25 23:15:50', '2024-06-25 23:15:50', 0, 0);
  321. INSERT INTO `user` VALUES ('1805621027066470401', '111111111', '7375746f30d54c526cf3c514b314c2e5', NULL, NULL, NULL, NULL, NULL, 'user', '2024-06-25 23:16:14', '2024-06-25 23:16:14', 0, 0);
  322. -- ----------------------------
  323. -- Table structure for userlogs
  324. -- ----------------------------
  325. DROP TABLE IF EXISTS `userlogs`;
  326. CREATE TABLE `userlogs`  (
  327.   `id` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  328.   `userlogin` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  329.   `userName` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
  330.   `loginTime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  331.   PRIMARY KEY (`id`) USING BTREE
  332. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
  333. -- ----------------------------
  334. -- Records of userlogs
  335. -- ----------------------------
  336. INSERT INTO `userlogs` VALUES ('0e8d5eae2a9845c6893520ed58b954ba', 'baiqier', '测', '2024-05-03 23:20:05');
  337. INSERT INTO `userlogs` VALUES ('147ee733e3f740e19af0c32f53e62e7f', 'baiqier', '测', '2024-05-03 23:27:12');
  338. INSERT INTO `userlogs` VALUES ('183a12a332e64169a15aba99e6f0e138', 'baiqier', '测', '2024-05-03 23:27:00');
  339. INSERT INTO `userlogs` VALUES ('194d82b6cfba4d44a3aa0980ad3f7464', 'user', '测', '1714728569228');
  340. INSERT INTO `userlogs` VALUES ('1c4ba57fd8c34e4686ea908633b5a2b4', 'baiqier', '测', '2024-05-03 23:27:12');
  341. INSERT INTO `userlogs` VALUES ('24a6c2733889487586730953d62e9708', 'baiqier', '测', '2024-05-04 00:02:34');
  342. INSERT INTO `userlogs` VALUES ('2c54f240a4b847bbacd2abdf9cc93fd6', 'baiqier', '测', '2024-05-03 23:52:10');
  343. INSERT INTO `userlogs` VALUES ('2e7f2358add64f05be66484af0c75a4f', 'baiqier', '测', '2024-05-03 23:27:12');
  344. INSERT INTO `userlogs` VALUES ('2e8d7006abf24ee5b3a88c299494efc0', 'baiqier', '测', '2024-05-08 16:03:47');
  345. INSERT INTO `userlogs` VALUES ('2f978375010545e1b2624e2ac9388a9e', 'baiqier', '测', '2024-05-08 16:04:47');
  346. INSERT INTO `userlogs` VALUES ('322d1fb261be4e668e4c4aed000f3afe', 'baiqier', '测', '2024-05-03 17:33:24');
  347. INSERT INTO `userlogs` VALUES ('37fee90f32bc4b79bf2d60475f2638df', 'luyou', NULL, '2024-05-08 16:04:21');
  348. INSERT INTO `userlogs` VALUES ('3d7dda70077e4415baf00e31a2071804', 'baiqier', '测', '2024-05-03 23:26:58');
  349. INSERT INTO `userlogs` VALUES ('444fcba6f240491b801f37f5ca916006', 'baiqier', '测', '2024-05-08 17:16:30');
  350. INSERT INTO `userlogs` VALUES ('4ea54fe73cba4980b58bc7a71b892942', 'baiqier', '测', '2024-05-03 23:49:31');
  351. INSERT INTO `userlogs` VALUES ('54a8cc1078214ed8857e695dd67c6831', 'baiqier', '测', '2024-05-03 23:27:12');
  352. INSERT INTO `userlogs` VALUES ('553af491fb1542c4af186593c203e1f7', 'baiqier', '测', '2024-05-08 15:10:26');
  353. INSERT INTO `userlogs` VALUES ('5c61f283543d4c3798739445ada63496', 'baiqier', '测', '2024-05-03 23:20:05');
  354. INSERT INTO `userlogs` VALUES ('60b0bd7b8b304eb99adcc8ff9d9f99eb', 'baiqier', '测', '2024-05-03 23:43:36');
  355. INSERT INTO `userlogs` VALUES ('6e9a5789214d4c29b587e12eea5393b9', 'baiqier', '测', '2024-05-08 14:28:00');
  356. INSERT INTO `userlogs` VALUES ('70c218327c2143beacfc680d287b9e01', 'baiqier', '测', '2024-05-03 23:38:58');
  357. INSERT INTO `userlogs` VALUES ('72196d607d5b433b89769998e64afd82', 'baiqier', '测', '2024-05-04 00:03:09');
  358. INSERT INTO `userlogs` VALUES ('786ca97237ff444e8324159c766a78e7', 'baiqier', '测', '2024-05-08 14:25:58');
  359. INSERT INTO `userlogs` VALUES ('83d1c1d1e5f646ca87ed1f70e292853b', 'baiqier', '测', '2024-05-03 23:27:13');
  360. INSERT INTO `userlogs` VALUES ('96c78b3b1c7445d287fe8886de494040', 'baiqier', '测', '2024-05-08 15:09:57');
  361. INSERT INTO `userlogs` VALUES ('9b4e9af3a88040a88c9323ecd65e0728', 'baiqier', '测', '2024-05-08 17:24:46');
  362. INSERT INTO `userlogs` VALUES ('ad9b15e3ce074d8682c7843ecc3c9590', 'baiqier', '测', '2024-05-03 23:27:00');
  363. INSERT INTO `userlogs` VALUES ('b4f3c4c55ffb4291957de3b536941520', 'baiqier', '测', '2024-05-08 17:23:44');
  364. INSERT INTO `userlogs` VALUES ('b5f5005715894d77bbb9410a802aec6b', 'baiqier', '测', '2024-05-03 23:20:05');
  365. INSERT INTO `userlogs` VALUES ('c0bcb5937373477d8794f45463dd6393', 'baiqier', '测', '2024-05-08 17:24:14');
  366. INSERT INTO `userlogs` VALUES ('c0fedac4e3824632ab9ab23500e3184c', 'baiqier', '测', '2024-05-03 23:20:01');
  367. INSERT INTO `userlogs` VALUES ('c4c97250840c4f8388c3d0d64ed44bb8', 'baiqier', '测', '2024-05-03 23:20:05');
  368. INSERT INTO `userlogs` VALUES ('c56cd28db43747238142ce9b85111bf3', 'baiqier', '测', '2024-05-08 15:13:03');
  369. INSERT INTO `userlogs` VALUES ('c740b4821e5945a78682d427131acf88', 'baiqier', '测', '2024-05-07 11:34:15');
  370. INSERT INTO `userlogs` VALUES ('e2188162c35a41c2989d08662125c594', 'baiqier', '测', '2024-05-03 23:27:12');
  371. -- ----------------------------
  372. -- Table structure for wenzhang
  373. -- ----------------------------
  374. DROP TABLE IF EXISTS `wenzhang`;
  375. CREATE TABLE `wenzhang`  (
  376.   `id` varchar(40) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  377.   `title` varchar(512) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标题',
  378.   `content` text CHARACTER SET utf8 COLLATE utf8_general_ci NULL COMMENT '内容',
  379.   `tags` varchar(1024) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '标签列表',
  380.   `thumbNum` int(11) NOT NULL DEFAULT 0 COMMENT '点赞数',
  381.   `favourNum` int(11) NOT NULL DEFAULT 0 COMMENT '收藏数',
  382.   `userId` varchar(20) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL COMMENT '创建用户 id',
  383.   `createTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
  384.   `updateTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
  385.   `image` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  386.   `mpOpenId` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
  387.   PRIMARY KEY (`id`) USING BTREE
  388. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
  389. -- ----------------------------
  390. -- Records of wenzhang
  391. -- ----------------------------
  392. INSERT INTO `wenzhang` VALUES ('116571760', '保护环境,人人有责', '我们可以从日常生活的点滴做起,比如使用环保购物袋代替塑料袋,选择公共交通工具而非私家车,节约用水用电,分类垃圾,支持和使用可再生能源。此外,我们还可以通过教育和宣传,提高自己和他人的环保意识。\n让我们行动起来,为了我们和后代子孙的美好未来,共同守护我们的蓝色星球。只有每个人都参与', NULL, 0, 0, '马钰博', '2024-03-23 13:01:20', '2024-03-23 13:01:20', 'https://cksys.xuande.work:9638/photo/90cb716ee60a42d5879a6c790fe49986.png', '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f');
  393. INSERT INTO `wenzhang` VALUES ('168580243', 'aksdhaksdhaksjdh1233', 'hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaahahahahahahahahahahahhaahhaahhaahahahahahahahahahahahahahahahhahaahah', NULL, 0, 0, 'xiaoIDE', '2024-03-21 16:36:41', '2024-03-23 06:12:22', 'https://cksys.xuande.work:9638/photo/278044a5cdae42f5bf991bd5cbf03456.jpg', '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8');
  394. INSERT INTO `wenzhang` VALUES ('248443029', '垃圾垃圾垃圾', '杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修杂修', NULL, 0, 0, 'xiaoIDE', '2024-03-21 15:54:59', '2024-03-21 15:54:59', 'https://cksys.xuande.work:9638/photo/1f9a3102e1bb4632a4c205ef0afa0229.jpg', '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8');
  395. INSERT INTO `wenzhang` VALUES ('347929185', '绿色生活', '我们可以从日常生活的点滴做起,比如使用环保购物袋代替塑料袋,选择公共交通工具而非私家车,节约用水用电,分类垃圾,支持和使用可再生能源。此外,我们还可以通过教育和宣传,提高自己和他人的环保意识。', NULL, 0, 0, '马钰博', '2024-03-23 13:06:02', '2024-03-23 13:06:02', 'https://cksys.xuande.work:9638/photo/037f22d5839e484fbb7e8657a0a8f5b9.jpg', '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f');
  396. INSERT INTO `wenzhang` VALUES ('412102686', 'aksdhaksdhaksjdh1', 'hahahahahahahahahahahahahahahahahahahahahahahahahahahahahahahaahahahahahahahahahahahhaahhaahhaahahahahahahahahahahahahahahahhahaahah', NULL, 0, 0, 'xiaoIDE', '2024-03-21 17:05:57', '2024-03-21 17:05:57', 'https://cksys.xuande.work:9638/photo/278044a5cdae42f5bf991bd5cbf03456.jpg', '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8');
  397. INSERT INTO `wenzhang` VALUES ('468787179', '环境保护:共同的使命', '为了一个更加绿色、更加美丽的地球,共同努力。因为只有一个健康的环境,才能支撑起一个繁荣的社会和一个充满活力的地球。', NULL, 0, 0, '马钰博', '2024-03-23 13:04:09', '2024-03-25 11:44:32', 'https://cksys.xuande.work:9638/photo/aa1cfea94cd0448b809da686d1c5062a.png', '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f');
  398. INSERT INTO `wenzhang` VALUES ('624357619', '永远永远', '我以为', NULL, 0, 0, '小程序审核', '2024-03-25 19:58:53', '2024-03-25 19:58:53', 'https://cksys.xuande.work:9638/photo/e2db15c52e4e4338bf296c131c640daa.jpg', '099pzv1m7FVTamTkYKYdaZ78lsKEzjNo6IqmfZ0snKQMaI6');
  399. INSERT INTO `wenzhang` VALUES ('646190828', '保护环境,从我做起', '我们生活的地球,正面临着前所未有的环境危机。空气污染、水资源短缺、生物多样性的丧失,这些问题都在提醒我们,环境保护刻不容缓。作为地球上的一份子,我们每个人都应该负起责任,为保护环境出一份力。\n', NULL, 0, 0, '马钰博', '2024-03-23 12:57:52', '2024-03-23 12:57:52', 'https://cksys.xuande.work:9638/photo/a8b13e1ea51c4433897c0265a2743c4a.png', '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f');
  400. INSERT INTO `wenzhang` VALUES ('799036919', 'qweqweqweqweqew', 'qweqasdasdasdasdasdsadadaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa', NULL, 0, 0, 'xiaoIDE', '2024-03-25 15:56:55', '2024-03-25 15:56:55', 'https://cksys.xuande.work:9638/photo/82ec69a55cb34aa8bb02f2bd752e2f5d.jpg', '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8');
  401. INSERT INTO `wenzhang` VALUES ('827155916', '1231231231231111111111111111111111111111', '12312311111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111', NULL, 0, 0, 'xiaoIDE', '2024-03-25 16:04:52', '2024-03-25 16:04:52', 'https://cksys.xuande.work:9638/photo/8931cf53205d4b96944fc2bf9714e76a.jpg', '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8');
  402. INSERT INTO `wenzhang` VALUES ('831265540', '老弟', '123123123123', NULL, 0, 0, 'xiaoIDE', '2024-03-20 18:04:27', '2024-03-20 18:04:27', 'https://cksys.xuande.work:9638/photo/ebc8e31995094be7a7a0e1820c9e4063.jpg', '062pzv1m7FVTamTkYKYdaZ78ioTgvWzPwzdtv_FJWDUpts8');
  403. INSERT INTO `wenzhang` VALUES ('931726238', '环境保护,从我做起', '让我们行动起来,为了我们和后代子孙的美好未来,共同守护我们的蓝色星球。只有每个人都参与进来,我们才能共创一个更加绿色、更加健康的地球家园。', NULL, 0, 0, '马钰博', '2024-03-23 13:04:55', '2024-03-23 13:04:55', 'https://cksys.xuande.work:9638/photo/2cf52f6a6114485a956b72f8171e2af7.png', '038pzv1m7FVTamTkYKYdaZ78gv0vWzPrhXUiECsaf3tYw0f');
  404. -- ----------------------------
  405. -- Table structure for youhai
  406. -- ----------------------------
  407. DROP TABLE IF EXISTS `youhai`;
  408. CREATE TABLE `youhai`  (
  409.   `id` int(11) NOT NULL,
  410.   `name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '名字',
  411.   PRIMARY KEY (`id`) USING BTREE
  412. ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = DYNAMIC;
  413. -- ----------------------------
  414. -- Records of youhai
  415. -- ----------------------------
  416. INSERT INTO `youhai` VALUES (55, '78');
  417. INSERT INTO `youhai` VALUES (90, '九零');
  418. INSERT INTO `youhai` VALUES (888, 'hhhh');
  419. -- ----------------------------
  420. -- Procedure structure for CompareAnswers
  421. -- ----------------------------
  422. DROP PROCEDURE IF EXISTS `CompareAnswers`;
  423. delimiter ;;
  424. CREATE PROCEDURE `CompareAnswers`(IN user_openid VARCHAR(255))
  425. BEGIN
  426.     -- 定义变量
  427.     DECLARE finished INTEGER DEFAULT 0;
  428.     DECLARE qid VARCHAR(20);
  429.     DECLARE uans VARCHAR(255);
  430.     DECLARE cans VARCHAR(255);
  431.     DECLARE cur CURSOR FOR
  432.         SELECT questionid, useranswer, zhengquedaan FROM ks
  433.         WHERE openid = user_openid AND useranswer != zhengquedaan;
  434.     DECLARE CONTINUE HANDLER FOR NOT FOUND SET finished = 1;
  435.     -- 创建一个临时表来存储不匹配的questionid
  436.     DROP TEMPORARY TABLE IF EXISTS TempQuestionIds;
  437.     CREATE TEMPORARY TABLE TempQuestionIds (questionid VARCHAR(20));
  438.     -- 打开游标
  439.     OPEN cur;
  440.     -- 循环获取每一行记录
  441.     get_answers: LOOP
  442.         FETCH cur INTO qid, uans, cans;
  443.         IF finished = 1 THEN
  444.             LEAVE get_answers;
  445.         END IF;
  446.         -- 此处应编写比较逗号分隔字符串的逻辑
  447.         -- 比如,使用自定义函数分割字符串并比较
  448.         -- 例如:CALL CompareCommaSeparatedStrings(uans, cans, qid);
  449.     END LOOP get_answers;
  450.     -- 关闭游标
  451.     CLOSE cur;
  452.     -- 返回结果
  453.     SELECT * FROM TempQuestionIds;
  454.     -- 清除临时表
  455.     DROP TEMPORARY TABLE IF EXISTS TempQuestionIds;
  456. END
  457. ;;
  458. delimiter ;
  459. SET FOREIGN_KEY_CHECKS = 1;
复制代码
登录


根据code登录获取用户信息

  1. package com.example.demo3.controller;
  2. import cn.hutool.core.lang.UUID;
  3. import com.alibaba.fastjson2.JSON;
  4. import com.alipay.api.AlipayApiException;
  5. import com.alipay.api.AlipayClient;
  6. import com.alipay.api.AlipayConfig;
  7. import com.alipay.api.DefaultAlipayClient;
  8. import com.alipay.api.request.AlipaySystemOauthTokenRequest;
  9. import com.alipay.api.request.AlipayUserInfoShareRequest;
  10. import com.alipay.api.response.AlipaySystemOauthTokenResponse;
  11. import com.alipay.api.response.AlipayUserInfoShareResponse;
  12. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  13. import com.example.demo3.entry.pojo.User;
  14. import com.example.demo3.mapper.UserMapper;
  15. import com.example.demo3.util.Result;
  16. import io.swagger.annotations.Api;
  17. import org.springframework.web.bind.annotation.GetMapping;
  18. import org.springframework.web.bind.annotation.RequestMapping;
  19. import org.springframework.web.bind.annotation.RequestParam;
  20. import org.springframework.web.bind.annotation.RestController;
  21. import javax.annotation.Resource;
  22. import javax.servlet.http.HttpServletResponse;
  23. import java.io.IOException;
  24. import java.io.PrintWriter;
  25. import java.util.*;
  26. import java.util.concurrent.CompletableFuture;
  27. import java.util.concurrent.ExecutionException;
  28. @Api(tags = "一步获取用户信息")
  29. @RestController
  30. @RequestMapping("/yibu")
  31. public class yibuController {
  32.     @Resource
  33.     UserMapper userMapper;
  34.     private static final String URL = "https://openapi.alipay.com/gateway.do";
  35.     private static final String APPID = "2021004129682309";
  36.     private static final String PRIVATE_KEY = "MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQCO5L5iTpA3wYaqYWD1quQS8MCc08DbY6uJjbL1RsDkN0Ib36yjmiEH3vy0p0420rOTwSIF3+Wcnvcf5mN8RyGekk3qzl8tCrcsuufnOrL3OthG0NONv2IvrnnFfLNxQ0gzgEVrPc2OREKQkTR0d0ETUbrg1CmGntsTpNAQyJxGx0h+nKcYhi5+W5wdgrdqyDqvs4N3puiG5vWt7ILxbI8Yh2l5m43YytCqxoSO6KUGVwXJCusvUUOPPYLyxMxPUhIinJ6fBkiAgX1RiggT0AIWljmfEQaiLjQgdXrrH1tM26Ud7VS6wMfnG4srynkUHAP9KxNz6ifkl8BuCAqT/JtNAgMBAAECggEBAI09pr2vIDgsbzq8VEWgLB5YoFqjqA5y31xwloKA9CrgP9UjaxavQ5TvIWRDtzjTXbNfhIy/+cqtCmIarR1rhdyiiqfcYxE3dUWeXZkeWUWsgZjF00ZZ9OhiknTVRN1gft6BHJzbEvJboFwbWvj/43AAKjMPIxiwrqUlFJByap492k6f0uZAbm+2S32LDXV902O/lg2KS2WatXM6+M+B7AieOEqa6IlwYrF0nzL6Efzf6E9u9H90LAmbtKiIVDGuBjqeuxUUzmZOJL74m0r6E+cVc+ScJ/PFTqMio+fCg5kk8t0MecxMwlNXUtsWWnIB2NhxaLmms+0if1Upi1HzauECgYEA8hvr/HYPoea1W3ToA6CpxJd51Bn0M04Q+FcgmfdsqwRhVmtKHUojmEqhrNlhZUep+qCVdXgaLOmXvjgGtfE7NIu+au9MPKXfIXPBcA0AWxJeGVdJuyBcaJouY84j1RN7vFHPYZKplxbCnQTFcG5AFurysLmXog0QQOa8ouyeQIUCgYEAlxeNWa4AVlkakmqGl1FiKGTjZ23aINo0DW5xaVQPeJvQ/o/kZPcG70YjoXiLpsx26+7IpcXp4drCEypxZuEoN/6N2F3hIfPeb3aeLVW8qv/VzpIZApQ+Ax46IcEMQFQIMGXYMAVKu5mkhHgZlOAoBTtf0y7LggVksiZSx/u5DikCgYEAk0vphu9NE3MJY1r8zTgyESkXNbOUnqIgMPbRHtspgeJoVetwa+FvRnghZMfcOYIgKBsK0yz+v9RePZxYeNkK7C0Y7HYqK7u+xNtoFIPUc5P5K/GvKenGTt1+27nOkxQHc8tSIEraYtG2FVGRzZVF6KuIe3xuhGjuOo4mtfi/TwECgYA9ZXWr1ngOnoCctKrifFCdx3lcwxfbN6/lMVbmjSEISpDfkIsnt/Xaby71Y22kJvvAHbTtIAJNI76vWRTh0GauckMjg+qDCHz/4DyggXF8Lx+rpFSDZsfYLoVCyBZ5YWw+dnQl91CJ8QIYTlFe3MOGdL0YrLBHsndbqRUEbLajGQKBgG9WiwI7Sk1lTBM8m8tQxN3lJfu01Zw6YwrkGglC2qcPjfTsYqggC7IESXTUmUdMt+LAoegj8/3q+dG8Mzk5ucX9diog7wvqF/IjTeicGD4cs1qd+bz8vlumZlQmBbEoGHK0ZJwgd14GGSkiYyBCuQLd4eAKktuBXHA39DQe3CtC";
  37.     private static final String FORMAT = "JSON";
  38.     private static final String CHARSET = "UTF-8";
  39.     private static final String SIGN_TYPE = "RSA2";
  40.     private static final String ALIPAY_PUBLIC_KEY = "MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAlFnDyktBuKW3670lZvJi3ZGWNqNu0mqCvan90yf554u7eerk1g27SdqnfbnrgdMfziF0gMuf2NDNpjNhGkS7mft4LK2ZNzLG4Kgjg0SIoUXQC2BeNmwv0i0fF7zWuDqN3H1XwcdDJ4IZqi2MTQjOpYrzw7gfZqWc1LgSAJgtPRD0pD1Wa0s9vnsmLv01AU83CQvq0Ery4FNvcx91Z+LuYlQmxuh7j3lX5U/LIpwcwFRFoPxoTrg2wwYkgP+CFhU5XVKwSxAaHQur4FYJJaS48wsnDch2pqu5afpyBHItVSD6L2zyCLvYl4eg4mhqjxL+19GXp8xemIer25BUGmtyVQIDAQAB";
  41.     @GetMapping("/getTokenAndUserInfo")
  42.     public void getTokenAndUserInfo(@RequestParam("code") String code, HttpServletResponse httpServletResponse)
  43.             throws IOException, AlipayApiException, ExecutionException, InterruptedException {
  44.         httpServletResponse.setContentType("application/json; charset=UTF-8");
  45.         PrintWriter out = httpServletResponse.getWriter();
  46.         System.out.println(code);
  47.         AlipayConfig alipayConfig = getAlipayConfig();
  48.         AlipayClient alipayClient = new DefaultAlipayClient(alipayConfig);
  49.         // Step 1: Get Token
  50.         CompletableFuture<String> tokenFuture = CompletableFuture.supplyAsync(() -> {
  51.             try {
  52.                 AlipaySystemOauthTokenRequest tokenRequest = new AlipaySystemOauthTokenRequest();
  53.                 tokenRequest.setGrantType("authorization_code");
  54.                 tokenRequest.setCode(code);
  55.                 AlipaySystemOauthTokenResponse tokenResponse = alipayClient.execute(tokenRequest);
  56.                 if (tokenResponse.isSuccess()) {
  57.                     System.out.println("获取令牌调用成功");
  58.                     return tokenResponse.getAccessToken();
  59.                 } else {
  60.                     System.out.println("获取令牌调用失败: " + tokenResponse.getMsg());
  61.                     return null;
  62.                 }
  63.             } catch (AlipayApiException e) {
  64.                 System.err.println("获取令牌调用异常: " + e.getErrMsg());
  65.                 return null;
  66.             }
  67.         });
  68.         // Step 2: Get User Info
  69.         CompletableFuture<Map<String, String>> userInfoFuture = tokenFuture.thenApplyAsync(accessToken -> {
  70.             Map<String, String> map = new HashMap<>();
  71.             if (accessToken != null) {
  72.                 try {
  73.                     AlipayUserInfoShareRequest userInfoRequest = new AlipayUserInfoShareRequest();
  74.                     AlipayUserInfoShareResponse userInfoResponse = alipayClient.execute(userInfoRequest, accessToken);
  75.                     if (userInfoResponse.isSuccess()) {
  76.                         System.out.println("获取用户信息调用成功");
  77.                         QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  78.                         queryWrapper.eq("mpOpenid", userInfoResponse.getOpenId());
  79.                         User user = userMapper.selectOne(queryWrapper);
  80.                         if (user == null) {
  81.                             User user1 = new User();
  82.                             user1.setId(String.valueOf(UUID.randomUUID()));
  83.                             user1.setUseraccount("12345678");
  84.                             user1.setUserpassword("123456");
  85.                             user1.setUnionid("123456678");
  86.                             user1.setUseravatar(userInfoResponse.getAvatar());
  87.                             user1.setUserprofile("用户简介");
  88.                             user1.setUserrole("user");
  89.                             TimeZone chinaTimeZone = TimeZone.getTimeZone("Asia/Shanghai");
  90.                             Date chinaCurrentTime = new Date();
  91.                             chinaCurrentTime.setTime(chinaCurrentTime.getTime() + chinaTimeZone.getRawOffset());
  92.                             user1.setCreatetime(chinaCurrentTime);
  93.                             user1.setUpdatetime(chinaCurrentTime);
  94.                             user1.setIsdelete(0);
  95.                             user1.setCoin(0);
  96.                             user1.setUsername(userInfoResponse.getNickName());
  97.                             user1.setMpopenid(userInfoResponse.getOpenId());
  98.                             userMapper.insertuser(user1);
  99.                         }
  100.                         map.put("openId", userInfoResponse.getOpenId());
  101.                         map.put("userName", userInfoResponse.getNickName());
  102.                         map.put("avatar", userInfoResponse.getAvatar());
  103.                         map.put("msg", "success");
  104.                     } else {
  105.                         System.out.println("获取用户信息调用失败: " + userInfoResponse.getMsg());
  106.                         map.put("msg", "failed");
  107.                     }
  108.                 } catch (AlipayApiException e) {
  109.                     System.err.println("获取用户信息调用异常: " + e.getErrMsg());
  110.                     map.put("msg", "failed");
  111.                 }
  112.             } else {
  113.                 map.put("msg", "failed");
  114.             }
  115.             return map;
  116.         });
  117.         // Combine results
  118.         Map<String, String> result = userInfoFuture.get();
  119.         // Convert the result to JSON and send it to the client
  120.         String jsonStr = JSON.toJSONString(result);
  121.         out.print(jsonStr);
  122.     }
  123.     private AlipayConfig getAlipayConfig() {
  124.         AlipayConfig alipayConfig = new AlipayConfig();
  125.         alipayConfig.setServerUrl(URL);
  126.         alipayConfig.setAppId(APPID);
  127.         alipayConfig.setPrivateKey(PRIVATE_KEY);
  128.         alipayConfig.setFormat(FORMAT);
  129.         alipayConfig.setCharset(CHARSET);
  130.         alipayConfig.setSignType(SIGN_TYPE);
  131.         alipayConfig.setAlipayPublicKey(ALIPAY_PUBLIC_KEY);
  132.         return alipayConfig;
  133.     }
  134. }
复制代码
UserController

  1. package com.example.demo3.controller;
  2. import cn.hutool.core.date.DateUtil;
  3. import cn.hutool.core.util.IdUtil;
  4. import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
  5. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  6. import com.example.demo3.common.BaseResponse;
  7. import com.example.demo3.common.DeleteRequest;
  8. import com.example.demo3.common.ErrorCode;
  9. import com.example.demo3.common.ResultUtils;
  10. import com.example.demo3.entry.dao.user.*;
  11. import com.example.demo3.entry.pojo.Ks;
  12. import com.example.demo3.entry.pojo.User;
  13. import com.example.demo3.entry.pojo.Userlogs;
  14. import com.example.demo3.entry.vo.DocumentVo;
  15. import com.example.demo3.entry.vo.JifenVo;
  16. import com.example.demo3.entry.vo.UserVO;
  17. import com.example.demo3.entry.vo.WemzhangVo;
  18. import com.example.demo3.exception.BusinessException;
  19. import com.example.demo3.exception.ThrowUtils;
  20. import com.example.demo3.mapper.*;
  21. import com.example.demo3.service.UserService;
  22. import com.example.demo3.service.WenzhangService;
  23. import com.example.demo3.util.Result;
  24. import io.swagger.annotations.Api;
  25. import io.swagger.annotations.ApiOperation;
  26. import org.apache.commons.lang3.StringUtils;
  27. import org.springframework.beans.BeanUtils;
  28. import org.springframework.web.bind.annotation.*;
  29. import javax.annotation.Resource;
  30. import javax.servlet.http.HttpServletRequest;
  31. import java.util.List;
  32. @Api(tags = "用户管理")
  33. @RestController
  34. public class UserController {
  35.     @Resource
  36.     DocumentMapper documentMapper;
  37.     @Resource
  38.     UserService userService;
  39.     @Resource
  40.     UserMapper userMapper;
  41.     @Resource
  42.     WenzhangMapper wenzhangMapper;
  43.     @Resource
  44.     WenzhangService wenzhangService;
  45.     @Resource
  46.     KsMapper ksMapper;
  47.     @Resource
  48.     UserlogsMapper userlogsMapper;
  49.     /**
  50.      * 登录
  51.      *
  52.      * @param userLogin
  53.      * @param request
  54.      * @return
  55.      */
  56.     @ApiOperation(value = "登录")
  57.     @PostMapping("/login")
  58.     BaseResponse<UserVO> loginUser(@RequestBody UserLogin userLogin, HttpServletRequest request) {
  59.         String userAccount = userLogin.getUseraccount();
  60.         String userPassword = userLogin.getUserpassword();
  61.         UserVO userVO = userService.userLogin(userAccount, userPassword, request);
  62.         Userlogs userlogs = new Userlogs();
  63.         userlogs.setId(IdUtil.simpleUUID() );
  64.         userlogs.setUserlogin(userVO.getUseraccount());
  65.         userlogs.setUsername(userVO.getUsername());
  66.         //获取当前时间
  67.         userlogs.setLogintime(DateUtil.now());
  68.         userlogsMapper.insert(userlogs);
  69.         return ResultUtils.success(userVO);
  70.     }
  71.     /**
  72.      * 注册
  73.      *
  74.      * @param userRegisterRequest
  75.      * @return
  76.      */
  77.     @PostMapping("/register")
  78.     public BaseResponse<String> userRegister(@RequestBody UserRegisterRequest userRegisterRequest) {
  79.         if (userRegisterRequest == null) {
  80.             throw new BusinessException(ErrorCode.PARAMS_ERROR);
  81.         }
  82.         String userAccount = userRegisterRequest.getUserAccount();
  83.         String userPassword = userRegisterRequest.getUserPassword();
  84.         String checkPassword = userRegisterRequest.getCheckPassword();
  85.         // 1. 校验
  86.         if (StringUtils.isAnyBlank(userAccount, userPassword, checkPassword)) {
  87.             throw new BusinessException(ErrorCode.PARAMS_ERROR, "参数为空");
  88.         }
  89.         if (userAccount.length() < 4) {
  90.             throw new BusinessException(ErrorCode.PARAMS_ERROR, "用户账号过短");
  91.         }
  92.         if (userPassword.length() < 8 || checkPassword.length() < 8) {
  93.             throw new BusinessException(ErrorCode.PARAMS_ERROR, "用户密码过短");
  94.         }
  95.         String result = userService.userRegister(userAccount, userPassword, checkPassword);
  96.         return ResultUtils.success(result);
  97.     }
  98.     /**
  99.      * 更新
  100.      *
  101.      * @param userUpdateRequest
  102.      * @return
  103.      */
  104.     @ApiOperation(value = "修改用户信息")
  105.     @PostMapping("/update")
  106.     public BaseResponse<Boolean> updateUser(@RequestBody UserUpdateRequest userUpdateRequest) {
  107.         if (userUpdateRequest == null || userUpdateRequest.getId() == null) {
  108.             throw new BusinessException(ErrorCode.PARAMS_ERROR);
  109.         }
  110.         User user = new User();
  111.         //---->>>>>>> copy 从左侧往右侧赋值
  112.         QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  113.         queryWrapper.eq("userAccount", userUpdateRequest.getUseraccount());
  114.         long count = userMapper.selectCount(queryWrapper);
  115.         if (count > 0) {
  116.             throw new BusinessException(ErrorCode.PARAMS_ERROR, "账号重复");
  117.         }
  118.         BeanUtils.copyProperties(userUpdateRequest, user);
  119.         boolean result = userService.updateById(user);
  120.         return ResultUtils.success(result);
  121.     }
  122.     @ApiOperation(value = "退出")
  123.     @PostMapping("/logout")
  124.     public BaseResponse<Boolean> userLogout(HttpServletRequest request) {
  125.         if (request == null) {
  126.             throw new BusinessException(ErrorCode.PARAMS_ERROR);
  127.         }
  128.         boolean result = userService.userLogout(request);
  129.         return ResultUtils.success(result);
  130.     }
  131.     @PostMapping("/list/page")
  132.     public BaseResponse<Page<User>> listUserByPage(@RequestBody UserQueryRequest userQueryRequest,
  133.                                                    HttpServletRequest request) {
  134.         long current = userQueryRequest.getCurrent();
  135.         long size = userQueryRequest.getPageSize();
  136.         Page<User> userPage = userService.page(new Page<>(current, size),
  137.                 userService.getQueryWrapper(userQueryRequest));
  138.         return ResultUtils.success(userPage);
  139.     }
  140. //    @GetMapping("/get")
  141. //    public BaseResponse<User> getUserById(long id, HttpServletRequest request) {
  142. //        if (id <= 0) {
  143. //            throw new BusinessException(ErrorCode.PARAMS_ERROR);
  144. //        }
  145. //        User user = userService.getById(id);
  146. //        return ResultUtils.success(user);
  147. //    }
  148. //    @GetMapping("/get/vo")
  149. //    public BaseResponse<UserVO> getUserVOById(long id, HttpServletRequest request) {
  150. //        BaseResponse<User> response = getUserById(id, request);
  151. //        User user = response.getData();
  152. //        return ResultUtils.success(userService.getUserVO(user));
  153. //    }
  154.     @PostMapping("/deleteUser")
  155. //    @AuthCheck(mustRole = UserConstant.ADMIN_ROLE)
  156.     public BaseResponse<Boolean> deleteUser(@RequestBody DeleteRequest deleteRequest, HttpServletRequest request) {
  157.         if (deleteRequest == null || deleteRequest.getId() <= 0) {
  158.             throw new BusinessException(ErrorCode.PARAMS_ERROR);
  159.         }
  160.         boolean b = userService.removeById(deleteRequest.getId());
  161.         return ResultUtils.success(b);
  162.     }
  163.     /**
  164.      * 修改密码
  165.      *
  166.      * @param userPasswordDTO
  167.      * @return
  168.      */
  169.     @ApiOperation(value = "修改用户密码")
  170.     @PostMapping("/password")
  171.     public Result password(@RequestBody UserPasswordDTO userPasswordDTO) {
  172.         return userService.updatePassword(userPasswordDTO);
  173.     }
  174.     /**
  175.      * 查询用户积分
  176.      */
  177.     @ApiOperation(value = "查询用户积分")
  178.     @GetMapping("/score")
  179.     JifenVo score(String mpOpenId) {
  180. //        User loginUser = userService.getLoginUser(request);
  181.         return userService.selectJifen(mpOpenId);
  182.     }
  183.     @ApiOperation(value = "批量删除")
  184.     @DeleteMapping("/batchDelete")
  185.     public Result batchDeleteUsers(@RequestBody List<String> userIds) {
  186.         return   userService.batchDeleteUsers(userIds);
  187.     }
  188.     @ApiOperation(value = "根据积分查询用户信息")
  189.     @GetMapping("/selectByMpOpenId")
  190.     User selectByMpOpenId(String mpOpenId) {
  191.         return userService.selectUser(mpOpenId);
  192.     }
  193.     @PostMapping("/batchInsert")
  194.     public String batchInsertUsers(@RequestBody List<User> userList) {
  195.         userService.batchInsertUsers(userList);
  196.         return "Batch insertion successful";
  197.     }
  198.     @ApiOperation(value = "查询当前用户发布的文章")
  199.     @GetMapping("/selectwenzhangByMpOpenId")
  200.     List<WemzhangVo> selectwenzhangByMpOpenId(String openId) {
  201.         return wenzhangMapper.selectWengByopenId(openId);
  202.     }
  203.     @ApiOperation(value = "根据OpenId查询当前用户信息")
  204.     @PostMapping("/get/user")
  205.     User getUserById(@RequestParam("mpOpenId") String mpOpenId) {
  206.         QueryWrapper<User> queryWrapper = new QueryWrapper<>();
  207.         queryWrapper.eq("mpOpenId", mpOpenId);
  208.         User user = userService.getOne(queryWrapper);
  209.         ThrowUtils.throwIf(user == null, ErrorCode.SYSTEM_ERROR);
  210.         return user;
  211.     }
  212.     @ApiOperation("购物")
  213.     @GetMapping("/goShoping")
  214.     Result goShoping(@RequestParam("openid") String openid) {
  215.         User user = userMapper.selctbyOpenID(openid);
  216.         if (user.getCoin() < 10000) {
  217.             return new Result(100, "您的积分不足");
  218.         } else {
  219.             user.setCoin(user.getCoin() - 10000);
  220.         }
  221.         user.setCoin(user.getCoin() - 10000);
  222.         userMapper.updateUserCoin(user);
  223.         return new Result(200, "购买成功");
  224.     }
  225.     @ApiOperation("查询所有考试次数")
  226.     @GetMapping("/ksselectcount")
  227.     Result ksselectcount(String openid) {
  228.         QueryWrapper<Ks> objectQueryWrapper = new QueryWrapper<>();
  229.         objectQueryWrapper.eq("openid", openid);
  230.         Long aLong = ksMapper.selectCount(objectQueryWrapper);
  231.         return new Result(200, "查询成功", null, aLong);
  232.     }
  233.     @ApiOperation("查询用户考试记录openid")
  234.     @GetMapping("/selectUserExamRecord")
  235.     Result selectUserExamRecord(@RequestParam("openid") String openid) {
  236.         QueryWrapper<Ks> queryWrapper = new QueryWrapper<>();
  237.         queryWrapper.eq("openid", openid);
  238.         ksMapper.selectCount(queryWrapper);
  239.         return new Result(200, "查询成功", ksMapper.selectList(queryWrapper), ksMapper.selectList(queryWrapper).size());
  240.     }
  241.     @ApiOperation("文章发布记录 根据openid查询")
  242.     @GetMapping("/wengzhangjilu")
  243.     List<DocumentVo> wengzhangjilu(String openid) {
  244.         return documentMapper.getDocumentById(openid);
  245.     }
  246. }
复制代码

试卷
controller层
  1. package com.example.demo3.controller;
  2. import com.example.demo3.entry.pojo.Ks;
  3. import com.example.demo3.entry.vo.QuestionVo;
  4. import com.example.demo3.service.ExamService;
  5. import com.example.demo3.util.Result;
  6. import io.swagger.annotations.Api;
  7. import io.swagger.annotations.ApiOperation;
  8. import org.springframework.beans.factory.annotation.Autowired;
  9. import org.springframework.http.HttpStatus;
  10. import org.springframework.http.ResponseEntity;
  11. import org.springframework.web.bind.annotation.*;
  12. import java.util.Collections;
  13. import java.util.HashMap;
  14. import java.util.List;
  15. import java.util.Map;
  16. @Api(tags = "用户考试")
  17. @RestController
  18. @RequestMapping("/exam")
  19. public class ExamController {
  20.     @Autowired
  21.     private ExamService examService;
  22.     @ApiOperation(value = "根据openid创建考试")
  23.     @GetMapping("/create")
  24.     public Result createExam(@RequestParam String openid) {
  25.         return examService.createExam(openid);
  26.     }
  27. //    @PostMapping("/grade/{paperId}")
  28. //    public ResponseEntity<Map<String, Object>> gradeExam(@PathVariable int paperId, @RequestBody List<String> userAnswers) {
  29. //        try {
  30. //            int score = examService.recordAndGradeExam(paperId, userAnswers.toArray(new String[0]));
  31. //            Map<String, Object> response = new HashMap<>();
  32. //            response.put("score", score);
  33. //            return new ResponseEntity<>(response, HttpStatus.OK);
  34. //        } catch (RuntimeException e) {
  35. //            Map<String, Object> errorResponse = new HashMap<>();
  36. //            errorResponse.put("error", e.getMessage());
  37. //            return new ResponseEntity<>(errorResponse, HttpStatus.BAD_REQUEST);
  38. //        }
  39. //    }
  40. @ApiOperation("根据openid 和paperId答题 ")
  41.     @PostMapping("/grade/{paperId}")
  42.     public Result gradeExam(@PathVariable int paperId, @RequestBody List<String> userAnswers, @RequestParam String mpopenid) {
  43.         try {
  44.             int score = examService.recordAndGradeExam(paperId, userAnswers.toArray(new String[0]), mpopenid);
  45. //            return new Result(20000, "答题完成", Collections.singletonMap("score", score),score);
  46.             return new Result(20000, "答题完成,分数值为count",null,score);
  47.         } catch (RuntimeException e) {
  48.             return new Result(400, e.getMessage(), null);
  49.         }
  50.     }
  51. }
复制代码
 service层

  1. package com.example.demo3.service;
  2. import com.example.demo3.entry.pojo.Ks;
  3. import com.example.demo3.entry.pojo.Question;
  4. import com.example.demo3.entry.pojo.Sj;
  5. import com.example.demo3.entry.pojo.User;
  6. import com.example.demo3.mapper.KsMapper;
  7. import com.example.demo3.mapper.QuestionMapper;
  8. import com.example.demo3.mapper.SjMapper;
  9. import com.example.demo3.mapper.UserMapper;
  10. import com.example.demo3.util.Result;
  11. import org.springframework.stereotype.Service;
  12. import org.springframework.transaction.annotation.Transactional;
  13. import org.springframework.web.bind.annotation.GetMapping;
  14. import org.springframework.web.bind.annotation.RequestParam;
  15. import javax.annotation.Resource;
  16. import java.util.Date;
  17. import java.util.List;
  18. import java.util.Random;
  19. import java.util.stream.Collectors;
  20. @Service
  21. public class ExamService {
  22.     @Resource
  23.     QuestionMapper questionMapper;
  24.     @Resource
  25.     SjMapper sjMapper;
  26.     @Resource
  27.     UserMapper userMapper;
  28.     @Resource
  29.     KsMapper ksMapper;
  30.     // ... (Other Autowired beans)
  31.     public Result createExam(String openid) {
  32.         // Select 5 random questions
  33.         List<Question> questions = questionMapper.selectRandomQuestions();
  34.         // Create an entry in the sj table
  35.         Sj sj = new Sj();
  36.         sj.setOpenid(openid);
  37.         sj.setPaper(new Random().nextInt(100000000));
  38.         sj.setNowdate(new Date());
  39.         sjMapper.insertSj(sj);// Assuming this method returns the generated key
  40.         String questionsname = questions.stream()
  41.                 .map(Question::getQuestionname)
  42.                 .collect(Collectors.joining(","));
  43.         // Concatenate question IDs
  44.         String questionIds = questions.stream()
  45.                 .map(Question::getId)
  46.                 .collect(Collectors.joining(","));
  47.         // Concatenate correct answers
  48.         String correctAnswers = questions.stream()
  49.                 .map(Question::getZhengquedaan)
  50.                 .collect(Collectors.joining(","));
  51.         // Create ks entries
  52.         Ks ks = new Ks();
  53.         ks.setPaperid(sj.getPaper()); // This should be the ID from sj, linking ks to sj
  54.         ks.setOpenid(openid); // This is correct if you're using openid as a reference to sj.paper
  55.         ks.setNowdate(new Date());
  56.         ks.setUseranswer(""); // Assuming an empty string if no answer is provided yet
  57.         ks.setZhengquedaan(correctAnswers);
  58.         ks.setTimumignzi(questionsname);
  59.         ks.setQuestionid(questionIds); // Set the concatenated question IDs
  60.         ksMapper.insert(ks);
  61.         // Since you're not using QuestionVo, we will return a Result object
  62.         return new Result(200, "success  date的值为paperId ,根据paperId 和openId答题", sj.getPaper(), questions);
  63.     }
  64.    
  65.     @Transactional
  66.     public int recordAndGradeExam(int paperId, String[] userAnswers, String mpopenid) {
  67.         // Retrieve the ks entry by paperId
  68.         Ks ks = ksMapper.selectByPaperId(paperId);
  69.         if (ks == null) {
  70.             throw new RuntimeException("Exam not found for paperId: " + paperId);
  71.         }
  72.         // Split the correct answers
  73.         String[] correctAnswers = ks.getZhengquedaan().split(",");
  74.         int score = 0;
  75.         // Update user answer and calculate score
  76.         StringBuilder userAnswersConcat = new StringBuilder();
  77.         for (int i = 0; i < correctAnswers.length; i++) {
  78.             if (i > 0) userAnswersConcat.append(",");
  79.             userAnswersConcat.append(userAnswers[i]);
  80.             if (userAnswers[i].equals(correctAnswers[i])) {
  81.                 score++;
  82.             }
  83.         }
  84.         System.out.println(score);
  85.         // Update the ks table with user answers
  86.         ks.setUseranswer(userAnswersConcat.toString());
  87.         ks.setFenshu(score);
  88.         ksMapper.updateUserAnswer(ks);
  89.         // Update the user's coins
  90.         User user = userMapper.selectByMpOpenId(mpopenid);
  91.         if (user != null) {
  92.             user.setCoin(user.getCoin() + score);
  93.             userMapper.updateUserCoins(user);
  94.         }
  95.         return score;
  96.     }
  97. }
复制代码
 mapper

  1. package com.example.demo3.mapper;
  2. import com.example.demo3.entry.pojo.Ks;
  3. import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  4. import org.apache.ibatis.annotations.Mapper;
  5. import org.apache.ibatis.annotations.Update;
  6. import java.util.List;
  7. /**
  8. * @author l
  9. * @description 针对表【ks(考试)】的数据库操作Mapper
  10. * @createDate 2023-12-22 01:03:55
  11. * @Entity com.example.demo3.entry.pojo.Ks
  12. */
  13. @Mapper
  14. public interface KsMapper extends BaseMapper<Ks> {
  15.     // 增加记录
  16.     void insertKs(Ks ks);
  17.     // 根据主键删除记录
  18.     void deleteKsByPaperId(int paperId);
  19.     // 更新记录
  20.     void updateKs(Ks ks);
  21.     // 根据主键查询记录
  22.     Ks selectKsByPaperId(int paperId);
  23.     // 查询所有记录
  24.     List<Ks> selectAllKs();
  25.     @Update("UPDATE ks SET fenshu = #{fenshu} WHERE paperid = #{paperid}")
  26.     void updateScore(Ks ks);
  27.     Ks selectByPaperId(int paperId);
  28.     void updateUserAnswer(Ks ks);
  29.     List<Ks> selectExamsByOpenId(String openId);
  30.     List<Ks> wan(String openId);
  31. }
复制代码
mapper.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE mapper
  3.         PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  4.         "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
  5. <mapper namespace="com.example.demo3.mapper.KsMapper">
  6.     <resultMap id="BaseResultMap" type="com.example.demo3.entry.pojo.Ks">
  7.         <result property="paperid" column="paperid" jdbcType="INTEGER"/>
  8.         <result property="openid" column="openid" jdbcType="VARCHAR"/>
  9.         <result property="nowdate" column="nowdate" jdbcType="TIMESTAMP"/>
  10.         <result property="useranswer" column="useranswer" jdbcType="VARCHAR"/>
  11.         <result property="zhengquedaan" column="zhengquedaan" jdbcType="VARCHAR"/>
  12.         <result property="questionid" column="questionid" jdbcType="VARCHAR"/>
  13.         <result property="fenshu" column="fenshu" jdbcType="INTEGER"/>
  14.         <result property="timumignzi" column="timumignzi" jdbcType="VARCHAR"/>
  15.     </resultMap>
  16.     <sql id="Base_Column_List">
  17.         paperid,openid,nowdate,
  18.         useranswer,zhengquedaan,questionid,fenshu,timumignzi
  19.     </sql>
  20.     <!-- 增加记录 -->
  21.     <insert id="insertKs" parameterType="com.example.demo3.entry.pojo.Ks" useGeneratedKeys="true" keyProperty="id">
  22.         INSERT INTO ks(paperid, openid, nowdate, useranswer, zhengquedaan, questionid, fenshu,timumignzi)
  23.         VALUES (#{paperid}, #{openid}, #{nowdate}, #{useranswer}, #{zhengquedaan}, #{questionid}, #{fenshu},#{timumignzi})
  24.     </insert>
  25.     <!-- 根据主键删除记录 -->
  26.     <delete id="deleteKsByPaperId">
  27.         DELETE
  28.         FROM ks
  29.         WHERE paperid = #{paperId}
  30.     </delete>
  31.     <!-- 更新记录 -->
  32.     <update id="updateKs" parameterType="com.example.demo3.entry.pojo.Ks">
  33.         UPDATE ks
  34.         SET nowdate      = #{nowdate},
  35.             useranswer   = #{useranswer},
  36.             zhengquedaan = #{zhengquedaan},
  37.             questionid=#{questionid},
  38.             timumignzi=#{timumignzi}
  39.         WHERE paperid = #{paperid}
  40.           and openid = #{openid}
  41.     </update>
  42.     <update id="updateUserAnswer">
  43.         UPDATE ks
  44.         SET useranswer = #{useranswer},
  45.             fenshu     =#{fenshu}
  46.         WHERE paperid = #{paperid}
  47.     </update>
  48.     <!-- 根据主键查询记录 -->
  49.     <select id="selectKsByPaperId" resultType="com.example.demo3.entry.pojo.Ks">
  50.         SELECT *
  51.         FROM ks
  52.         WHERE paperid = #{paperId}
  53.     </select>
  54.     <!-- 查询所有记录 -->
  55.     <select id="selectAllKs" resultType="com.example.demo3.entry.pojo.Ks">
  56.         SELECT *
  57.         FROM ks
  58.     </select>
  59.     <select id="selectByPaperId" resultType="com.example.demo3.entry.pojo.Ks">
  60.         SELECT *
  61.         FROM ks
  62.         WHERE paperid = #{paperId}
  63.     </select>
  64.     <select id="selectExamsByOpenId" resultType="com.example.demo3.entry.pojo.Ks">
  65.         SELECT *
  66.         FROM ks
  67.         WHERE openid = #{openId}
  68.     </select>
  69.     <select id="wan" resultType="com.example.demo3.entry.pojo.Ks">
  70.         SELECT paperid, GROUP_CONCAT(DISTINCT questionid ORDER BY questionid ASC) AS wrong_questionids
  71.         FROM (
  72.                  SELECT ks.paperid,
  73.                         SUBSTRING_INDEX(SUBSTRING_INDEX(ks.questionid, ',', numbers.n), ',', -1) AS questionid,
  74.                         SUBSTRING_INDEX(SUBSTRING_INDEX(ks.useranswer, ',', numbers.n), ',', -1) AS useranswer,
  75.                         SUBSTRING_INDEX(SUBSTRING_INDEX(ks.zhengquedaan, ',', numbers.n), ',', -1) AS zhengquedaan
  76.                  FROM ks
  77.                           JOIN (
  78.                      SELECT 1 n UNION ALL SELECT 2 UNION ALL SELECT 3 UNION ALL SELECT 4 UNION ALL SELECT 5
  79.                  ) numbers ON CHAR_LENGTH(ks.questionid) - CHAR_LENGTH(REPLACE(ks.questionid, ',', '')) >= numbers.n - 1
  80.                  WHERE ks.openid = #{openId}
  81.              ) AS subquery
  82.         WHERE subquery.useranswer != subquery.zhengquedaan
  83.         GROUP BY paperid;
  84.     </select>
  85. </mapper>
复制代码


 

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
继续阅读请点击广告
回复

使用道具 举报

© 2001-2025 Discuz! Team. Powered by Discuz! X3.5

GMT+8, 2025-7-13 00:15 , Processed in 0.221955 second(s), 31 queries 手机版|qidao123.com技术社区-IT企服评测▪应用市场 ( 浙ICP备20004199 )|网站地图

快速回复 返回顶部 返回列表