wangh_branch
王壕 3 years ago
parent af575aa2d4
commit 415b87ee77

@ -2,6 +2,7 @@
<project version="4"> <project version="4">
<component name="CompilerConfiguration"> <component name="CompilerConfiguration">
<annotationProcessing> <annotationProcessing>
<profile default="true" name="Default" enabled="true" />
<profile name="Maven default annotation processors profile" enabled="true"> <profile name="Maven default annotation processors profile" enabled="true">
<sourceOutputDir name="target/generated-sources/annotations" /> <sourceOutputDir name="target/generated-sources/annotations" />
<sourceTestOutputDir name="target/generated-test-sources/test-annotations" /> <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />

@ -22,6 +22,7 @@
<artifactId>spring-boot-starter-web</artifactId> <artifactId>spring-boot-starter-web</artifactId>
</dependency> </dependency>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId> <artifactId>spring-boot-starter-test</artifactId>
@ -80,7 +81,7 @@
<dependency> <dependency>
<groupId>com.baomidou</groupId> <groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-boot-starter</artifactId> <artifactId>mybatis-plus-boot-starter</artifactId>
<version>3.1.1</version> <version>3.4.2</version>
</dependency> </dependency>
<!--springdoc 官方Starter--> <!--springdoc 官方Starter-->
<dependency> <dependency>
@ -107,6 +108,11 @@
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId> <artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency> </dependency>
<dependency>
<groupId>cn.hutool</groupId>
<artifactId>hutool-all</artifactId>
<version>5.7.22</version>
</dependency>
</dependencies> </dependencies>

@ -2,9 +2,9 @@ package com.example.demo.common;
/** /**
* @Description: * @Description:
* ios *
* 使list *
* *
* 200 * 200
* 500msg * 500msg
* 501beanmap * 501beanmap

@ -1,67 +0,0 @@
package com.example.demo.controller;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import io.swagger.v3.oas.annotations.tags.Tags;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.jdbc.core.JdbcTemplate;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@RestController
@SpringBootApplication
@Tag(name ="你的接口",description = "test")
public class ControllerText {
@Operation(summary = "获取用户列表",description = "test")
@RequestMapping("getUser")
public Map<String, Object> getUser(){
System.out.println("微信小程序正在调用。。。");
Map<String, Object> map = new HashMap<String, Object>();
List<String> list = new ArrayList<String>();
list.add("zhangsan");
list.add("lisi");
list.add("wanger");
list.add("mazi");
map.put("list",list);
System.out.println("微信小程序调用完成。。。");
return map;
}
@Operation(summary = "获取用户表",description = "test")
@RequestMapping("getWord")
public Map<String, Object> getText(String word){
Map<String, Object> map = new HashMap<String, Object>();
String message = "我能力有限,不要为难我";
if ("后来".equals(word)) {
message="正在热映的后来的我们是刘若英的处女作。";
}else if("微信小程序".equals(word)){
message= "想获取更多微信小程序相关知识,请更多的阅读微信官方文档,还有其他更多微信开发相关的内容,学无止境。";
}else if("cauc".equals(word)){
message="yes";
}
map.put("message", message);
return map;
}
@Autowired
JdbcTemplate jct;
@Operation(summary = "取用户列表",description = "test")
@GetMapping("userslist")
public List<Map<String, Object>> userlist(){
String sql = "select * from user";
List<Map<String, Object>> map = jct.queryForList(sql);
System.out.println("调用sql");
return map;
}
}

@ -3,16 +3,15 @@ package com.example.demo.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.demo.common.HttpGetUtil; import com.example.demo.common.HttpGetUtil;
import com.example.demo.domain.Rcode;
import com.example.demo.domain.User; import com.example.demo.domain.User;
import com.example.demo.mapper.RcodeMapper;
import com.example.demo.mapper.UserMapper; import com.example.demo.mapper.UserMapper;
import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag; import io.swagger.v3.oas.annotations.tags.Tag;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import javax.management.Query;
import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.io.UnsupportedEncodingException; import java.io.UnsupportedEncodingException;
@ -55,25 +54,13 @@ public class Demmo {
String skey = UUID.randomUUID().toString(); String skey = UUID.randomUUID().toString();
if (user == null) { if (user == null) {
// 用户信息入库 // 用户信息入库
// String nickName = rawDataJson.getString("nickName");
// String avatarUrl = rawDataJson.getString("avatarUrl");
// String gender = rawDataJson.getString("gender");
// String city = rawDataJson.getString("city");
// String country = rawDataJson.getString("country");
// String province = rawDataJson.getString("province");
user = new User(); user = new User();
user.setOpenId(openid); user.setOpenId(openid);
user.setSkey(skey); user.setSkey(skey);
user.setCreateTime(new Date()); user.setCreateTime(new Date());
user.setLastVisitTime(new Date()); user.setLastVisitTime(new Date());
user.setSessionKey(sessionKey); user.setSessionKey(sessionKey);
// user.setCity(city);
// user.setProvince(province);
// user.setCountry(country);
// user.setAvatarUrl(avatarUrl);
// user.setGender(Integer.parseInt(gender));
// user.setNickName(nickName);
this.userMapper.insert(user); this.userMapper.insert(user);
} else { } else {
@ -83,17 +70,18 @@ public class Demmo {
user.setSkey(skey); user.setSkey(skey);
this.userMapper.updateById(user); this.userMapper.updateById(user);
} }
User user2 = this.userMapper.selectById(openid);
Map<String, Object> skeymap = new HashMap<String, Object>(); Map<String, Object> skeymap = new HashMap<String, Object>();
skeymap.put("skey",skey); skeymap.put("skey", skey);
skeymap.put("power", user2.getPower());
return skeymap; return skeymap;
} }
@RequestMapping("/atbind") @RequestMapping("/atbind")
@Operation(summary = "用户绑定接口") @Operation(summary = "用户绑定接口")
public void atbind(@RequestParam(value = "studentnumber",required = true) String studentnumber, public void atbind(@RequestParam(value = "studentnumber", required = true) String studentnumber,
@RequestParam(value = "name",required = true) String name, @RequestParam(value = "name", required = true) String name,
@RequestParam(value = "skey",required = true) String skey) @RequestParam(value = "skey", required = true) String skey) {
{
QueryWrapper<User> queryWrapper = new QueryWrapper<>(); QueryWrapper<User> queryWrapper = new QueryWrapper<>();
queryWrapper.like("skey", skey); queryWrapper.like("skey", skey);
User user = this.userMapper.selectOne(queryWrapper); User user = this.userMapper.selectOne(queryWrapper);
@ -104,4 +92,41 @@ public class Demmo {
} }
@Autowired
RcodeMapper rcodeMapper;
@RequestMapping("/getrcode")
@Operation(summary = "获取验证码")
public String getrcode(@RequestParam(value = "skey", required = true) String skey) {
Rcode rcode = this.rcodeMapper.selectById(skey);
String code = "";
if (rcode == null) {
rcode = new Rcode();
rcode.setSkey(skey);
code = rcode.createCode();
this.rcodeMapper.insert(rcode);
} else {
code = rcode.createCode();
rcode.setCode(code);
this.rcodeMapper.updateById(rcode);
}
return code;
}
/**
* 使
*
*
* @auth:kirito
*/
@RequestMapping("/webblogin")
@Operation(summary = "登录")
public void weblogin(@RequestParam(value = "code") String code) {
QueryWrapper<Rcode> queryWrapper = new QueryWrapper<>();
queryWrapper.like("code", code);
Rcode authrcode = this.rcodeMapper.selectOne(queryWrapper);
String skey = authrcode.getSkey();
System.out.println(skey);
}
} }

@ -1,10 +1,17 @@
package com.example.demo.controller; package com.example.demo.controller;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.demo.common.HttpGetUtil; import com.example.demo.common.HttpGetUtil;
import com.example.demo.domain.Rcode;
import com.example.demo.domain.User;
import com.example.demo.mapper.RcodeMapper;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.apache.commons.codec.binary.Base64; import org.apache.commons.codec.binary.Base64;
import org.apache.tomcat.util.http.ResponseUtil; import org.apache.tomcat.util.http.ResponseUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
@ -25,6 +32,7 @@ import java.util.Objects;
@Controller @Controller
@RequestMapping("/web") @RequestMapping("/web")
@Tag(name = "web端")
public class Webcontroller { public class Webcontroller {
@RequestMapping("/dashboard") @RequestMapping("/dashboard")
public String login() { public String login() {
@ -39,6 +47,7 @@ public class Webcontroller {
/** /**
* qrcode * qrcode
* issue: 线使 * issue: 线使
* ,线
* *
* @return * @return
*/ */
@ -46,17 +55,17 @@ public class Webcontroller {
public Object getqrcode() { public Object getqrcode() {
RestTemplate restTemplate = new RestTemplate(); RestTemplate restTemplate = new RestTemplate();
//首先获取ACCESS_TOKEN //首先获取ACCESS_TOKEN
String getAccessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=你的appid&secret=你的secret"; String getAccessTokenUrl = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wx08c675f6ba5b2cdc&secret=0c28388c09ff373d391fe66d085dd39d";
JSONObject tokenResult = restTemplate.getForObject(getAccessTokenUrl, JSONObject.class); JSONObject tokenResult = restTemplate.getForObject(getAccessTokenUrl, JSONObject.class);
assert tokenResult != null; assert tokenResult != null;
String accessToken = tokenResult.getString("access_token"); String accessToken = tokenResult.getString("access_token");
//System.out.println(accessToken);
//然后调用微信官方api生成二维码 //然后调用微信官方api生成二维码
String createQrCodeUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken; String createQrCodeUrl = "https://api.weixin.qq.com/wxa/getwxacodeunlimit?access_token=" + accessToken;
//此处我是使用的阿里巴巴的fastJson //此处我是使用的阿里巴巴的fastJson
JSONObject createQrParam = new JSONObject(); JSONObject createQrParam = new JSONObject();
createQrParam.put("scene", scene); //createQrParam.put("scene", scene);
createQrParam.put("page", page); //createQrParam.put("page", page);
PrintWriter out = null; PrintWriter out = null;
@ -106,6 +115,7 @@ public class Webcontroller {
} }
} }
} }
String base64Code = new String(Objects.requireNonNull(Base64.encodeBase64(data))); String base64Code = new String(Objects.requireNonNull(Base64.encodeBase64(data)));
//Base64转byte[]数组 //Base64转byte[]数组
System.out.println(base64Code); System.out.println(base64Code);
@ -127,8 +137,29 @@ public class Webcontroller {
ex.printStackTrace(); ex.printStackTrace();
} }
} }
return ResponseUtil.class; return null;
} }
/**
* 使
*
*
* @auth:kirito
*/
@Autowired
RcodeMapper rcodeMapper;
@RequestMapping("/login")
@Operation(summary = "登录")
public void weblogin(@RequestParam(value = "code") String code) {
QueryWrapper<Rcode> queryWrapper = new QueryWrapper<>();
queryWrapper.like("code", code);
Rcode authrcode = this.rcodeMapper.selectOne(queryWrapper);
String skey = authrcode.getSkey();
}
} }

@ -0,0 +1,61 @@
package com.example.demo.domain;
import java.util.Random;
public class Rcode {
private String code;
private String skey;
public Rcode() {
}
public Rcode(String code, String skey) {
this.code = code;
this.skey = skey;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getSkey() {
return skey;
}
public void setSkey(String skey) {
this.skey = skey;
}
public String createCode() {
//定义字符串记录
String code = "";
Random r = new Random();
//for 循环5次依次生成随机字符
for (int i = 0; i < 5; i++) {
int type = r.nextInt(3);//0 1 2
switch (type) {
case 0:
//大写字符A 65-Z 65+25
char ch = (char) (r.nextInt(26) + 65);
code += ch;
break;
case 1:
//小写字符a 97-z 97+25
char ch1 = (char) (r.nextInt(26) + 97);
code += ch1;
break;
case 2:
//数字字符
code += r.nextInt(10);//0-9
break;
}
}
this.code = code;
return code;
}
}

@ -72,6 +72,11 @@ public class Taskson extends Wrapper<Taskson> {
return null; return null;
} }
@Override
public void clear() {
}
/** /**
* SQL * SQL
*/ */

@ -12,19 +12,17 @@ import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date; import java.util.Date;
/** /**
*
*
* *
*/ */
@Data @Data
@TableName("user") @TableName("user")
public class User extends Wrapper<User> { public class User extends Wrapper<User> {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 1L;
/** /**
* open_id * open_id
*/ */
@TableId(value = "open_id",type = IdType.INPUT) @TableId(value = "open_id", type = IdType.INPUT)
private String openId; private String openId;
/** /**
* skey * skey
@ -108,6 +106,11 @@ public class User extends Wrapper<User> {
return null; return null;
} }
@Override
public void clear() {
}
@Override @Override
public String getSqlSegment() { public String getSqlSegment() {
return null; return null;

@ -0,0 +1,10 @@
package com.example.demo.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.demo.domain.Rcode;
import org.apache.ibatis.annotations.Mapper;
@Mapper
public interface RcodeMapper extends BaseMapper<Rcode> {
}

@ -0,0 +1,77 @@
/*
Navicat Premium Data Transfer
Source Server : 1
Source Server Type : MySQL
Source Server Version : 50719
Source Host : localhost:3306
Source Schema : wxlogin
Target Server Type : MySQL
Target Server Version : 50719
File Encoding : 65001
Date: 11/11/2022 17:02:08
*/
SET NAMES utf8mb4;
SET FOREIGN_KEY_CHECKS = 0;
-- ----------------------------
-- Table structure for task
-- ----------------------------
DROP TABLE IF EXISTS `task`;
CREATE TABLE `task` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(200) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,
`property` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0' COMMENT '内容',
`stuid` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`deadtime` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '0',
`status` int(11) NULL DEFAULT 0,
`create_time` datetime NULL DEFAULT NULL COMMENT '创建时间戳',
`last_time` datetime NULL DEFAULT NULL COMMENT '最后修改时间戳',
PRIMARY KEY (`id`) USING BTREE,
UNIQUE INDEX `name`(`name`) USING BTREE
) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for taskson
-- ----------------------------
DROP TABLE IF EXISTS `taskson`;
CREATE TABLE `taskson` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`task_id` int(11) NOT NULL,
`studentnumber` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,
`finishtime` timestamp NULL DEFAULT CURRENT_TIMESTAMP,
`filepath` varchar(256) CHARACTER SET latin1 COLLATE latin1_swedish_ci NULL DEFAULT NULL,
PRIMARY KEY (`id`) USING BTREE,
INDEX `f_key sutdentnumber`(`studentnumber`) USING BTREE,
INDEX `f_keytaski_id`(`task_id`) USING BTREE,
CONSTRAINT `f_key sutdentnumber` FOREIGN KEY (`studentnumber`) REFERENCES `user` (`student_number`) ON DELETE RESTRICT ON UPDATE RESTRICT,
CONSTRAINT `f_keytaski_id` FOREIGN KEY (`task_id`) REFERENCES `task` (`id`) ON DELETE RESTRICT ON UPDATE RESTRICT
) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8 COLLATE = utf8_general_ci ROW_FORMAT = Dynamic;
-- ----------------------------
-- Table structure for user
-- ----------------------------
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
`open_id` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'open_id',
`skey` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'skey',
`create_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
`last_visit_time` timestamp NULL DEFAULT CURRENT_TIMESTAMP COMMENT '最后登录时间',
`session_key` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL COMMENT 'session_key',
`city` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`province` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`country` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '',
`avatar_url` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '头像',
`gender` tinyint(11) NULL DEFAULT NULL COMMENT '性别',
`nick_name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '网名',
`student_number` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '学号',
`name` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL COMMENT '姓名',
`power` int(1) NULL DEFAULT 0 COMMENT '管理员权限',
PRIMARY KEY (`open_id`) USING BTREE,
INDEX `Student_Number`(`student_number`) USING BTREE
) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_general_ci COMMENT = '微信用户信息' ROW_FORMAT = DYNAMIC;
SET FOREIGN_KEY_CHECKS = 1;
Loading…
Cancel
Save