h před 2 týdny
rodič
revize
6a20014340

+ 3 - 4
pom.xml

@@ -35,7 +35,7 @@
         <dependency>
             <groupId>com.baomidou</groupId>
             <artifactId>mybatis-plus-boot-starter</artifactId>
-            <version>3.5.4</version>
+            <version>3.4.1</version>
         </dependency>
         <dependency>
             <groupId>mysql</groupId>
@@ -71,9 +71,8 @@
             <version>3.4.1</version>
         </dependency>
         <dependency>
-            <groupId>org.springframework.data</groupId>
-            <artifactId>spring-data-redis</artifactId>
-            <version>2.7.18</version>
+            <groupId>org.springframework.boot</groupId>
+            <artifactId>spring-boot-starter-data-redis</artifactId>
         </dependency>
         <dependency>
             <groupId>com.alibaba</groupId>

+ 2 - 0
src/main/java/com/zhentao/XiaoETong9Application.java

@@ -1,9 +1,11 @@
 package com.zhentao;
 
+import org.mybatis.spring.annotation.MapperScan;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 
 @SpringBootApplication
+@MapperScan("com.zhentao.mapper")
 public class XiaoETong9Application {
 
     public static void main(String[] args) {

+ 65 - 0
src/main/java/com/zhentao/common/config/RedisConfig.java

@@ -0,0 +1,65 @@
+package com.zhentao.common.config;
+
+import com.fasterxml.jackson.annotation.JsonAutoDetect;
+import com.fasterxml.jackson.annotation.PropertyAccessor;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.data.redis.connection.RedisConnectionFactory;
+import org.springframework.data.redis.connection.RedisPassword;
+import org.springframework.data.redis.connection.RedisStandaloneConfiguration;
+import org.springframework.data.redis.connection.lettuce.LettuceConnectionFactory;
+import org.springframework.data.redis.core.RedisTemplate;
+import org.springframework.data.redis.core.StringRedisTemplate;
+import org.springframework.data.redis.serializer.Jackson2JsonRedisSerializer;
+import org.springframework.data.redis.serializer.StringRedisSerializer;
+
+@Configuration
+public class RedisConfig {
+
+    @Value("${spring.redis.host}")
+    private String host;
+
+    @Value("${spring.redis.port}")
+    private int port;
+
+    @Value("${spring.redis.password}")
+    private String password;
+    @Value("${spring.redis.database}")
+    private int database;
+    @Bean
+    public RedisConnectionFactory redisConnectionFactory() {
+        RedisStandaloneConfiguration config = new RedisStandaloneConfiguration();
+        config.setHostName(host);
+        config.setPort(port);
+        config.setPassword(RedisPassword.of(password));
+        config.setDatabase(database);
+
+        return new LettuceConnectionFactory(config);
+    }
+    @Bean
+    public RedisTemplate<String, Object> redisTemplate(RedisConnectionFactory factory) {
+        RedisTemplate<String, Object> template = new RedisTemplate<>();
+        template.setConnectionFactory(factory);
+
+        // 使用Jackson2JsonRedisSerializer来序列化和反序列化redis的value值
+        Jackson2JsonRedisSerializer<Object> serializer = new Jackson2JsonRedisSerializer<>(Object.class);
+        ObjectMapper mapper = new ObjectMapper();
+        mapper.setVisibility(PropertyAccessor.ALL, JsonAutoDetect.Visibility.ANY);
+        mapper.activateDefaultTyping(mapper.getPolymorphicTypeValidator(), ObjectMapper.DefaultTyping.NON_FINAL);
+        serializer.setObjectMapper(mapper);
+
+        template.setValueSerializer(serializer);
+        template.setKeySerializer(new StringRedisSerializer());
+        template.afterPropertiesSet();
+        return template;
+    }
+
+    @Bean
+    public StringRedisTemplate stringRedisTemplate(RedisConnectionFactory factory) {
+        StringRedisTemplate stringRedisTemplate = new StringRedisTemplate();
+        stringRedisTemplate.setConnectionFactory(factory);
+        return stringRedisTemplate;
+    }
+}

+ 2 - 14
src/main/java/com/zhentao/dto/CouponDto.java

@@ -1,10 +1,11 @@
 package com.zhentao.dto;
 
 import com.baomidou.mybatisplus.annotation.TableId;
+import lombok.Data;
 
 import java.math.BigDecimal;
 import java.util.Date;
-
+@Data
 public class CouponDto {
 
 
@@ -98,23 +99,10 @@ public class CouponDto {
      */
     private Integer totalNum;
 
-    /**
-     * 状态1正常显示0隐藏
-     */
-    private Integer status;
 
     /**
      * 排序
      */
     private Integer sort;
 
-    /**
-     * 跳转链接
-     */
-    private String navHref;
-
-    /**
-     * 逻辑删除0正常1删除
-     */
-    private Integer delFlag;
 }

+ 1 - 1
src/main/java/com/zhentao/mapper/CouponMapper.java

@@ -6,7 +6,7 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 /**
 * @author H
 * @description 针对表【coupon(营销优惠券)】的数据库操作Mapper
-* @createDate 2025-05-08 10:51:35
+* @createDate 2025-05-08 16:51:42
 * @Entity com.zhentao.pojo.Coupon
 */
 public interface CouponMapper extends BaseMapper<Coupon> {

+ 5 - 11
src/main/java/com/zhentao/pojo/Coupon.java

@@ -1,9 +1,7 @@
 package com.zhentao.pojo;
 
-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 com.baomidou.mybatisplus.annotation.*;
+
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.util.Date;
@@ -17,7 +15,7 @@ import lombok.Data;
 @Data
 public class Coupon implements Serializable {
     /**
-     * 
+     *
      */
     @TableId
     private Long id;
@@ -123,13 +121,9 @@ public class Coupon implements Serializable {
     private Integer sort;
 
     /**
-     * 跳转链接
-     */
-    private String navHref;
-
-    /**
      * 版本
      */
+    @Version
     private Integer reversion;
 
     /**
@@ -149,4 +143,4 @@ public class Coupon implements Serializable {
 
     @TableField(exist = false)
     private static final long serialVersionUID = 1L;
-}
+}

+ 1 - 2
src/main/java/com/zhentao/service/CouponService.java

@@ -8,10 +8,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
 /**
 * @author H
 * @description 针对表【coupon(营销优惠券)】的数据库操作Service
-* @createDate 2025-05-08 10:51:35
+* @createDate 2025-05-08 16:51:42
 */
 public interface CouponService extends IService<Coupon> {
 
-
     R add(CouponDto couponDto);
 }

+ 24 - 5
src/main/java/com/zhentao/service/impl/CouponServiceImpl.java

@@ -1,19 +1,25 @@
 package com.zhentao.service.impl;
 
 import cn.hutool.core.bean.BeanUtil;
-import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.toolkit.StringUtils;
+import com.baomidou.mybatisplus.extension.api.IErrorCode;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.zhentao.common.constant.BestConstants;
 import com.zhentao.common.entity.R;
+import com.zhentao.common.exception.ApiException;
+import com.zhentao.common.exception.RRException;
 import com.zhentao.dto.CouponDto;
 import com.zhentao.pojo.Coupon;
 import com.zhentao.service.CouponService;
 import com.zhentao.mapper.CouponMapper;
 import org.springframework.stereotype.Service;
 
+import java.util.Date;
+
 /**
 * @author H
 * @description 针对表【coupon(营销优惠券)】的数据库操作Service实现
-* @createDate 2025-05-08 10:51:35
+* @createDate 2025-05-08 16:51:42
 */
 @Service
 public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon>
@@ -21,9 +27,22 @@ public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon>
 
     @Override
     public R add(CouponDto couponDto) {
-        Coupon coupon = new Coupon();
-        BeanUtil.copyProperties(couponDto, coupon);
-        return null;
+        if (couponDto==null || StringUtils.checkValNull(couponDto.getTacticsType())
+                || StringUtils.checkValNull(couponDto.getName())
+                || StringUtils.checkValNull(couponDto.getGetWay())
+                || StringUtils.checkValNull(couponDto.getProductType())
+                || StringUtils.checkValNull(couponDto.getLimitMinFlag())
+                || StringUtils.checkValNull(couponDto.getValidFlag())
+                || StringUtils.checkValNull(couponDto.getGetTimeLimit())
+                || StringUtils.checkValNull(couponDto.getTotalLimit())) {
+            throw new RRException(BestConstants.PARAMS_ERROR_MSG);
+        }else {
+            Coupon coupon=new Coupon();
+            BeanUtil.copyProperties(couponDto,coupon);
+            coupon.setCreateddTime(new Date());
+            boolean save = this.save(coupon);
+            return null;
+        }
     }
 }
 

+ 14 - 0
src/main/resources/application.yml

@@ -0,0 +1,14 @@
+server:
+  port: 8780
+spring:
+  datasource:
+    driver-class-name: com.mysql.jdbc.Driver
+    url: jdbc:mysql://47.95.39.95:3306/xm3?useSSL=false&serverTimezone=UTC
+    username: root
+    password: 123456
+  redis:
+    host: 127.0.0.1
+    port: 6379
+    database: 1
+    password:
+    timeout: 10s

+ 2 - 3
src/main/resources/mapper/CouponMapper.xml

@@ -26,7 +26,6 @@
             <result property="totalNum" column="total_num" jdbcType="INTEGER"/>
             <result property="status" column="status" jdbcType="INTEGER"/>
             <result property="sort" column="sort" jdbcType="INTEGER"/>
-            <result property="navHref" column="nav_href" jdbcType="VARCHAR"/>
             <result property="reversion" column="reversion" jdbcType="INTEGER"/>
             <result property="createddTime" column="createdd_time" jdbcType="TIMESTAMP"/>
             <result property="updatedTime" column="updated_time" jdbcType="TIMESTAMP"/>
@@ -41,7 +40,7 @@
         start_time,end_time,get_time_limit,
         get_start_time,get_end_time,total_limit,
         total_num,status,sort,
-        nav_href,reversion,createdd_time,
-        updated_time,del_flag
+        reversion,createdd_time,updated_time,
+        del_flag
     </sql>
 </mapper>