zhentao 1 month ago
parent
commit
735381b030

+ 1 - 5
pom.xml

@@ -15,11 +15,6 @@
     </properties>
     </properties>
     <dependencies>
     <dependencies>
         <dependency>
         <dependency>
-            <groupId>org.json</groupId>
-            <artifactId>json</artifactId>
-            <version>20210307</version>
-        </dependency>
-        <dependency>
             <groupId>org.apache.httpcomponents</groupId>
             <groupId>org.apache.httpcomponents</groupId>
             <artifactId>httpclient</artifactId>
             <artifactId>httpclient</artifactId>
             <version>4.5.13</version>
             <version>4.5.13</version>
@@ -48,6 +43,7 @@
         <dependency>
         <dependency>
             <groupId>org.hibernate.validator</groupId>
             <groupId>org.hibernate.validator</groupId>
             <artifactId>hibernate-validator</artifactId>
             <artifactId>hibernate-validator</artifactId>
+            <version>6.2.0.Final</version>
         </dependency>
         </dependency>
         <dependency>
         <dependency>
             <groupId>org.redisson</groupId>
             <groupId>org.redisson</groupId>

+ 1 - 1
src/main/java/com/zhentao/config/RedissonConfig.java

@@ -23,7 +23,7 @@ public class RedissonConfig {
     @Bean
     @Bean
     public RedissonClient getRedisson(){
     public RedissonClient getRedisson(){
 
 
-        // 创建一个Redisson的配置对象
+        // 创建一个Redisson的配置对象z
         Config config = new Config();
         Config config = new Config();
 
 
         // 配置Redisson使用单机模式,并设置Redis服务器的地址
         // 配置Redisson使用单机模式,并设置Redis服务器的地址

+ 21 - 0
src/main/java/com/zhentao/controller/Course/CourseController.java

@@ -0,0 +1,21 @@
+package com.zhentao.controller.Course;
+
+import com.zhentao.controller.Course.dto.CourseDto;
+import com.zhentao.dto.Result;
+import com.zhentao.service.CoursesService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("course")
+public class CourseController {
+    @Autowired
+    private CoursesService service;
+    @PostMapping("findAll")
+    public Result findAll(@RequestBody CourseDto courseDto){
+        return service.findAll(courseDto);
+    }
+}

+ 20 - 0
src/main/java/com/zhentao/controller/Course/CourseFenleiController.java

@@ -0,0 +1,20 @@
+package com.zhentao.controller.Course;
+
+import com.zhentao.dto.Result;
+import com.zhentao.service.CourseFenleiService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("courseFenlei")
+public class CourseFenleiController {
+    @Autowired
+    private CourseFenleiService service;
+
+    @GetMapping("findAll")
+    public Result findAll(){
+        return service.findAll();
+    }
+}

+ 9 - 0
src/main/java/com/zhentao/controller/Course/dto/CourseDto.java

@@ -0,0 +1,9 @@
+package com.zhentao.controller.Course.dto;
+
+import lombok.Data;
+
+@Data
+public class CourseDto {
+    private String title;
+    private Long id;
+}

+ 1 - 0
src/main/java/com/zhentao/controller/UserController.java

@@ -33,6 +33,7 @@ public class UserController {
 //    账号密码登录
 //    账号密码登录
     @PostMapping("/loginup")
     @PostMapping("/loginup")
     public Result Loginup(@RequestBody @Valid UserDtoup userDtoup){
     public Result Loginup(@RequestBody @Valid UserDtoup userDtoup){
+        System.err.println(userDtoup);
         return service.login_up(userDtoup);
         return service.login_up(userDtoup);
     }
     }
 //    注册
 //    注册

+ 1 - 0
src/main/java/com/zhentao/controller/WechatLoginController.java

@@ -14,6 +14,7 @@ public class WechatLoginController {
     private WeXinLoginService service;
     private WeXinLoginService service;
     @PostMapping("/wechat/login")
     @PostMapping("/wechat/login")
     public Result wechatLogin(@RequestBody WeLogin weLogin) {
     public Result wechatLogin(@RequestBody WeLogin weLogin) {
+        System.err.println(weLogin.getCode());
         return  service.wechatLogin(weLogin);
         return  service.wechatLogin(weLogin);
     }
     }
 }
 }

+ 36 - 0
src/main/java/com/zhentao/domain/CourseFenlei.java

@@ -0,0 +1,36 @@
+package com.zhentao.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 课程分类表
+ * @TableName course_fenlei
+ */
+@TableName(value ="course_fenlei")
+@Data
+public class CourseFenlei implements Serializable {
+    /**
+     * 课程分类id
+     */
+    @TableId(type = IdType.AUTO)
+    private Long courseId;
+
+    /**
+     * 课程分类名称
+     */
+    private String courseName;
+
+    /**
+     * 创建的时间
+     */
+    private Date createTime;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 82 - 0
src/main/java/com/zhentao/domain/Courses.java

@@ -0,0 +1,82 @@
+package com.zhentao.domain;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.util.Date;
+import lombok.Data;
+
+/**
+ * 课程表
+ * @TableName courses
+ */
+@TableName(value ="courses")
+@Data
+public class Courses implements Serializable {
+    /**
+     * 主键
+     */
+    @TableId
+    private Long courseId;
+
+    /**
+     * 课程标题
+     */
+    private String courseTitle;
+
+    /**
+     * 课程分类id
+     */
+    private Long categoryId;
+
+    /**
+     * 课程主图的url地址
+     */
+    private String mainImage;
+
+    /**
+     * 课程缩略图的url地址
+     */
+    private String thumbnailImage;
+
+    /**
+     * 课程所属店铺
+     */
+    private String store;
+
+    /**
+     * 价格
+     */
+    private BigDecimal price;
+
+    /**
+     * 课程的创建时间
+     */
+    private Date coursesCreatetime;
+
+    /**
+     * 店铺id
+     */
+    private Long storeId;
+
+    /**
+     * 授课老师id
+     */
+    private Long teacherId;
+
+    /**
+     * 授课老师名称
+     */
+    private String teacherName;
+
+    /**
+     * 备注
+     */
+    private String courseRemark;
+
+    @TableField(exist = false)
+    private static final long serialVersionUID = 1L;
+}

+ 18 - 0
src/main/java/com/zhentao/mapper/CourseFenleiMapper.java

@@ -0,0 +1,18 @@
+package com.zhentao.mapper;
+
+import com.zhentao.domain.CourseFenlei;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author 86183
+* @description 针对表【course_fenlei(课程分类表)】的数据库操作Mapper
+* @createDate 2025-05-11 15:25:31
+* @Entity com.zhentao.domain.CourseFenlei
+*/
+public interface CourseFenleiMapper extends BaseMapper<CourseFenlei> {
+
+}
+
+
+
+

+ 18 - 0
src/main/java/com/zhentao/mapper/CoursesMapper.java

@@ -0,0 +1,18 @@
+package com.zhentao.mapper;
+
+import com.zhentao.domain.Courses;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+* @author 86183
+* @description 针对表【courses(课程表)】的数据库操作Mapper
+* @createDate 2025-05-11 15:31:06
+* @Entity com.zhentao.domain.Courses
+*/
+public interface CoursesMapper extends BaseMapper<Courses> {
+
+}
+
+
+
+

+ 14 - 0
src/main/java/com/zhentao/service/CourseFenleiService.java

@@ -0,0 +1,14 @@
+package com.zhentao.service;
+
+import com.zhentao.domain.CourseFenlei;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhentao.dto.Result;
+
+/**
+* @author 86183
+* @description 针对表【course_fenlei(课程分类表)】的数据库操作Service
+* @createDate 2025-05-11 15:25:31
+*/
+public interface CourseFenleiService extends IService<CourseFenlei> {
+    Result findAll();
+}

+ 15 - 0
src/main/java/com/zhentao/service/CoursesService.java

@@ -0,0 +1,15 @@
+package com.zhentao.service;
+
+import com.zhentao.controller.Course.dto.CourseDto;
+import com.zhentao.domain.Courses;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.zhentao.dto.Result;
+
+/**
+* @author 86183
+* @description 针对表【courses(课程表)】的数据库操作Service
+* @createDate 2025-05-11 15:31:06
+*/
+public interface CoursesService extends IService<Courses> {
+    Result findAll(CourseDto courseDto);
+}

+ 29 - 0
src/main/java/com/zhentao/service/impl/CourseFenleiServiceImpl.java

@@ -0,0 +1,29 @@
+package com.zhentao.service.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhentao.domain.CourseFenlei;
+import com.zhentao.dto.Result;
+import com.zhentao.service.CourseFenleiService;
+import com.zhentao.mapper.CourseFenleiMapper;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+* @author 86183
+* @description 针对表【course_fenlei(课程分类表)】的数据库操作Service实现
+* @createDate 2025-05-11 15:25:31
+*/
+@Service
+public class CourseFenleiServiceImpl extends ServiceImpl<CourseFenleiMapper, CourseFenlei>
+    implements CourseFenleiService{
+    @Override
+    public Result findAll() {
+        List<CourseFenlei> list = this.list();
+        return Result.OK("查询成功",list);
+    }
+}
+
+
+
+

+ 35 - 0
src/main/java/com/zhentao/service/impl/CoursesServiceImpl.java

@@ -0,0 +1,35 @@
+package com.zhentao.service.impl;
+
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhentao.controller.Course.dto.CourseDto;
+import com.zhentao.domain.Courses;
+import com.zhentao.dto.Result;
+import com.zhentao.service.CoursesService;
+import com.zhentao.mapper.CoursesMapper;
+import org.springframework.stereotype.Service;
+
+import java.util.List;
+
+/**
+* @author 86183
+* @description 针对表【courses(课程表)】的数据库操作Service实现
+* @createDate 2025-05-11 15:31:06
+*/
+@Service
+public class CoursesServiceImpl extends ServiceImpl<CoursesMapper, Courses>
+    implements CoursesService{
+
+    @Override
+    public Result findAll(CourseDto courseDto) {
+        QueryWrapper<Courses> queryWrapper = new QueryWrapper<>();
+        queryWrapper.like("course_title",courseDto.getTitle());
+        queryWrapper.eq(courseDto.getId()!=null,"category_id",courseDto.getId());
+        List<Courses> list = this.list(queryWrapper);
+        return Result.OK("查询成功",list);
+    }
+}
+
+
+
+

+ 5 - 4
src/main/java/com/zhentao/service/impl/UserLoginServiceImpl.java

@@ -86,8 +86,7 @@ public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin
         int randomSixDigit = 100000 + (int) (Math.random() * 900000); // 生成六位随机数
         int randomSixDigit = 100000 + (int) (Math.random() * 900000); // 生成六位随机数
         System.out.println("验证码:"+randomSixDigit);
         System.out.println("验证码:"+randomSixDigit);
         System.err.println("手机号:"+noteDto.getPhone());
         System.err.println("手机号:"+noteDto.getPhone());
-        ValueOperations<String, String> stringStringValueOperations = stringRedisTemplate.opsForValue();
-        stringStringValueOperations.set(noteDto.getPhone(),randomSixDigit+"");
+        stringRedisTemplate.opsForValue().set(noteDto.getPhone(),randomSixDigit+"");
 
 
 //        String host = "https://gyytz.market.alicloudapi.com";
 //        String host = "https://gyytz.market.alicloudapi.com";
 //        String path = "/sms/smsSend";
 //        String path = "/sms/smsSend";
@@ -127,7 +126,7 @@ public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin
 
 
     @Override
     @Override
     public Result login_up(UserDtoup userDtoup) {
     public Result login_up(UserDtoup userDtoup) {
-        RLock lock = redissonClient.getLock(userDtoup.username+"username");
+        RLock lock = redissonClient.getLock(userDtoup.username);
         try {
         try {
             boolean b = lock.tryLock(10, 20, TimeUnit.SECONDS);
             boolean b = lock.tryLock(10, 20, TimeUnit.SECONDS);
             if (b){
             if (b){
@@ -144,13 +143,15 @@ public class UserLoginServiceImpl extends ServiceImpl<UserLoginMapper, UserLogin
                 }
                 }
                 String jwtToken = TokenUtils.createJwtToken(one.getId()+"");
                 String jwtToken = TokenUtils.createJwtToken(one.getId()+"");
                 return Result.OK("登录成功",jwtToken);
                 return Result.OK("登录成功",jwtToken);
+            }else {
+                return Result.ERR("获取锁超时",null);
             }
             }
         }catch (InterruptedException e){
         }catch (InterruptedException e){
             Thread.currentThread().interrupt();
             Thread.currentThread().interrupt();
+            return Result.ERR("线程被中断",null);
         }finally {
         }finally {
             lock.unlock();
             lock.unlock();
         }
         }
-        return null;
     }
     }
 //注册
 //注册
     @Override
     @Override

+ 16 - 0
src/main/resources/mapper/CourseFenleiMapper.xml

@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhentao.mapper.CourseFenleiMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.CourseFenlei">
+            <id property="courseId" column="course_id" jdbcType="BIGINT"/>
+            <result property="courseName" column="course_name" jdbcType="VARCHAR"/>
+            <result property="createTime" column="create_time" jdbcType="TIMESTAMP"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        course_id,course_name,create_time
+    </sql>
+</mapper>

+ 28 - 0
src/main/resources/mapper/CoursesMapper.xml

@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zhentao.mapper.CoursesMapper">
+
+    <resultMap id="BaseResultMap" type="com.zhentao.domain.Courses">
+            <id property="courseId" column="course_id" jdbcType="BIGINT"/>
+            <result property="courseTitle" column="course_title" jdbcType="VARCHAR"/>
+            <result property="categoryId" column="category_id" jdbcType="BIGINT"/>
+            <result property="mainImage" column="main_image" jdbcType="VARCHAR"/>
+            <result property="thumbnailImage" column="thumbnail_image" jdbcType="VARCHAR"/>
+            <result property="store" column="store" jdbcType="VARCHAR"/>
+            <result property="price" column="price" jdbcType="DECIMAL"/>
+            <result property="coursesCreatetime" column="courses_createtime" jdbcType="TIMESTAMP"/>
+            <result property="storeId" column="store_id" jdbcType="BIGINT"/>
+            <result property="teacherId" column="teacher_id" jdbcType="BIGINT"/>
+            <result property="teacherName" column="teacher_name" jdbcType="VARCHAR"/>
+            <result property="courseRemark" column="course_remark" jdbcType="VARCHAR"/>
+    </resultMap>
+
+    <sql id="Base_Column_List">
+        course_id,course_title,category_id,
+        main_image,thumbnail_image,store,
+        price,courses_createtime,store_id,
+        teacher_id,teacher_name,course_remark
+    </sql>
+</mapper>