| | |
| | | <description> |
| | | ruoyi-common通用模块 |
| | | </description> |
| | | |
| | | <properties> |
| | | <hutool.version>5.7.17</hutool.version> |
| | | </properties> |
| | | <dependencies> |
| | | <!--lombok--> |
| | | <dependency> |
| | |
| | | <artifactId>mybatis-plus-boot-starter</artifactId> |
| | | <version>3.5.2</version> |
| | | </dependency> |
| | | <!--hutool工具包--> |
| | | <dependency> |
| | | <groupId>cn.hutool</groupId> |
| | | <artifactId>hutool-all</artifactId> |
| | | <version>${hutool.version}</version> |
| | | </dependency> |
| | | </dependencies> |
| | | </project> |
New file |
| | |
| | | package com.ruoyi.common.core.config; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.DbType; |
| | | import com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor; |
| | | import com.baomidou.mybatisplus.extension.plugins.inner.BlockAttackInnerInterceptor; |
| | | import com.baomidou.mybatisplus.extension.plugins.inner.OptimisticLockerInnerInterceptor; |
| | | import com.baomidou.mybatisplus.extension.plugins.inner.PaginationInnerInterceptor; |
| | | import org.springframework.context.annotation.Bean; |
| | | import org.springframework.context.annotation.Configuration; |
| | | import org.springframework.transaction.annotation.EnableTransactionManagement; |
| | | |
| | | /** |
| | | * Mybatis Plus 配置 |
| | | * |
| | | * @author ruoyi |
| | | */ |
| | | @EnableTransactionManagement(proxyTargetClass = true) |
| | | @Configuration |
| | | public class MybatisPlusConfig { |
| | | |
| | | @Bean |
| | | public MybatisPlusInterceptor mybatisPlusInterceptor() { |
| | | MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor(); |
| | | // 分页插件 |
| | | interceptor.addInnerInterceptor(paginationInnerInterceptor()); |
| | | // 乐观锁插件 |
| | | interceptor.addInnerInterceptor(optimisticLockerInnerInterceptor()); |
| | | // 阻断插件 |
| | | interceptor.addInnerInterceptor(blockAttackInnerInterceptor()); |
| | | return interceptor; |
| | | } |
| | | |
| | | /** |
| | | * 分页插件,自动识别数据库类型 https://baomidou.com/guide/interceptor-pagination.html |
| | | */ |
| | | public PaginationInnerInterceptor paginationInnerInterceptor() { |
| | | PaginationInnerInterceptor paginationInnerInterceptor = new PaginationInnerInterceptor(); |
| | | // 设置数据库类型为mysql |
| | | paginationInnerInterceptor.setDbType(DbType.MYSQL); |
| | | // 设置最大单页限制数量,默认 500 条,-1 不受限制 |
| | | paginationInnerInterceptor.setMaxLimit(-1L); |
| | | return paginationInnerInterceptor; |
| | | } |
| | | |
| | | /** |
| | | * 乐观锁插件 https://baomidou.com/guide/interceptor-optimistic-locker.html |
| | | */ |
| | | public OptimisticLockerInnerInterceptor optimisticLockerInnerInterceptor() { |
| | | return new OptimisticLockerInnerInterceptor(); |
| | | } |
| | | |
| | | /** |
| | | * 如果是对全表的删除或更新操作,就会终止该操作 https://baomidou.com/guide/interceptor-block-attack.html |
| | | */ |
| | | public BlockAttackInnerInterceptor blockAttackInnerInterceptor() { |
| | | return new BlockAttackInnerInterceptor(); |
| | | } |
| | | } |
| | |
| | | * 车辆合同的serviceid |
| | | */ |
| | | public static final String CONTRACT_SERVICE = "ruoyi-contract"; |
| | | |
| | | /** |
| | | * 会员模块的serviceid |
| | | */ |
| | | public static final String MEMBER_SERVICE = "ruoyi-member"; |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.utils; |
| | | |
| | | import com.baomidou.mybatisplus.core.incrementer.DefaultIdentifierGenerator; |
| | | import com.baomidou.mybatisplus.core.incrementer.IdentifierGenerator; |
| | | |
| | | /** |
| | | * 描述: ID生成 |
| | | * 版权: Copyright (c) 2020 |
| | | * 公司: XXX |
| | | * 作者: yanghj |
| | | * 版本: 4.0 |
| | | * 创建日期: 2020/9/16 9:59 |
| | | */ |
| | | public class IDhelper |
| | | { |
| | | //用mybatis-plus生成Long ID |
| | | public static Long getNextId() |
| | | { |
| | | IdentifierGenerator identifierGenerator=new DefaultIdentifierGenerator(); |
| | | Number id= identifierGenerator.nextId(new Object()); |
| | | Long nextid = Long.parseLong(id+""); |
| | | return nextid; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.utils.page; |
| | | |
| | | import cn.hutool.core.util.ArrayUtil; |
| | | import java.util.Arrays; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 数组工具类 |
| | | * @ClassName ArrayUtils |
| | | * @author wusongsong |
| | | * @since 2022/7/10 12:02 |
| | | * @version 1.0.0 |
| | | **/ |
| | | public class ArrayUtils extends ArrayUtil { |
| | | |
| | | |
| | | |
| | | /** |
| | | * 将源数组转换成指定类型的列表 |
| | | * |
| | | * @param originList 原始列表 |
| | | * @param targetClazz 转换后列表元素的类型 |
| | | * @param <R> 原始列表元素的类型 |
| | | * @param <T> 目标列表元素的类型 |
| | | * @return 目标类型的集合 |
| | | */ |
| | | public static <R, T> List<T> convert(R[] originList, Class<T> targetClazz) { |
| | | return convert(originList, targetClazz, null); |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 将源数组转换成指定类型的列表 |
| | | * |
| | | * @param originList 原始列表 |
| | | * @param targetClazz 转换后列表元素的类型 |
| | | * @param convert 转换特殊字段接口 |
| | | * @param <R> 原始列表元素的类型 |
| | | * @param <T> 目标列表元素的类型 |
| | | * @return 目标类型的集合 |
| | | */ |
| | | public static <R, T> List<T> convert(R[] originList, Class<T> targetClazz, Convert<R, T> convert) { |
| | | if (isEmpty(originList)) { |
| | | return null; |
| | | } |
| | | |
| | | return Arrays.stream(originList) |
| | | .map(origin -> BeanUtils.copyBean(origin, targetClazz, convert)) |
| | | .collect(Collectors.toList()); |
| | | |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.utils.page; |
| | | |
| | | import cn.hutool.core.bean.BeanUtil; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 继承自 hutool 的BeanUtil,增加了bean转换时自定义转换器的功能 |
| | | */ |
| | | public class BeanUtils extends BeanUtil { |
| | | |
| | | /** |
| | | * 将原对象转换成目标对象,对于字段不匹配的字段可以使用转换器处理 |
| | | * |
| | | * @param source 原对象 |
| | | * @param clazz 目标对象的class |
| | | * @param convert 转换器 |
| | | * @param <R> 原对象类型 |
| | | * @param <T> 目标对象类型 |
| | | * @return 目标对象 |
| | | */ |
| | | public static <R, T> T copyBean(R source, Class<T> clazz, Convert<R, T> convert) { |
| | | T target = copyBean(source, clazz); |
| | | if (convert != null) { |
| | | convert.convert(source, target); |
| | | } |
| | | return target; |
| | | } |
| | | /** |
| | | * 将原对象转换成目标对象,对于字段不匹配的字段可以使用转换器处理 |
| | | * |
| | | * @param source 原对象 |
| | | * @param clazz 目标对象的class |
| | | * @param <R> 原对象类型 |
| | | * @param <T> 目标对象类型 |
| | | * @return 目标对象 |
| | | */ |
| | | public static <R, T> T copyBean(R source, Class<T> clazz){ |
| | | if (source == null) { |
| | | return null; |
| | | } |
| | | return toBean(source, clazz); |
| | | } |
| | | |
| | | public static <R, T> List<T> copyList(List<R> list, Class<T> clazz) { |
| | | if (list == null || list.size() == 0) { |
| | | return CollUtils.emptyList(); |
| | | } |
| | | return copyToList(list, clazz); |
| | | } |
| | | |
| | | public static <R, T> List<T> copyList(List<R> list, Class<T> clazz, Convert<R, T> convert) { |
| | | if (list == null || list.size() == 0) { |
| | | return CollUtils.emptyList(); |
| | | } |
| | | return list.stream().map(r -> copyBean(r, clazz, convert)).collect(Collectors.toList()); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.utils.page; |
| | | |
| | | /** |
| | | * 实现后在接口访问时如果接口实现了这个接口 |
| | | * 会被自动自行接口check进行校验 |
| | | **/ |
| | | public interface Checker<T> { |
| | | |
| | | /** |
| | | * 用于实现validation不能校验的数据逻辑 |
| | | */ |
| | | default void check(){ |
| | | |
| | | } |
| | | |
| | | default void check(T data){ |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.utils.page; |
| | | |
| | | import cn.hutool.core.collection.CollectionUtil; |
| | | import cn.hutool.core.collection.IterUtil; |
| | | |
| | | |
| | | import java.util.*; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | |
| | | /** |
| | | * 继承自 hutool 的集合工具类 |
| | | */ |
| | | public class CollUtils extends CollectionUtil { |
| | | |
| | | public static <T> List<T> emptyList() { |
| | | return Collections.emptyList(); |
| | | } |
| | | |
| | | public static <T> Set<T> emptySet() { |
| | | return Collections.emptySet(); |
| | | } |
| | | |
| | | public static <K,V> Map<K, V> emptyMap() { |
| | | return Collections.emptyMap(); |
| | | } |
| | | |
| | | public static <T> Set<T> singletonSet(T t) { |
| | | return Collections.singleton(t); |
| | | } |
| | | |
| | | public static <T> List<T> singletonList(T t) { |
| | | return Collections.singletonList(t); |
| | | } |
| | | |
| | | public static List<Integer> convertToInteger(List<String> originList){ |
| | | return CollUtils.isNotEmpty(originList) ? originList.stream().map(NumberUtils::parseInt).collect(Collectors.toList()) : null; |
| | | } |
| | | |
| | | public static List<Long> convertToLong(List<String> originLIst){ |
| | | return CollUtils.isNotEmpty(originLIst) ? originLIst.stream().map(NumberUtils::parseLong).collect(Collectors.toList()) : null; |
| | | } |
| | | |
| | | /** |
| | | * 以 conjunction 为分隔符将集合转换为字符串 如果集合元素为数组、Iterable或Iterator,则递归组合其为字符串 |
| | | * @param collection 集合 |
| | | * @param conjunction 分隔符 |
| | | * @param <T> 集合元素类型 |
| | | * @return 连接后的字符串 |
| | | * See Also: IterUtil.join(Iterator, CharSequence) |
| | | */ |
| | | public static <T> String join(Collection<T> collection, CharSequence conjunction) { |
| | | if (null == collection || collection.isEmpty()) { |
| | | return null; |
| | | } |
| | | return IterUtil.join(collection.iterator(), conjunction); |
| | | } |
| | | |
| | | public static <T> String joinIgnoreNull(Collection<T> collection, CharSequence conjunction) { |
| | | if (null == collection || collection.isEmpty()) { |
| | | return null; |
| | | } |
| | | StringBuilder sb = new StringBuilder(); |
| | | for (T t : collection) { |
| | | if(t == null) continue; |
| | | sb.append(t).append(","); |
| | | } |
| | | if(sb.length() <= 0){ |
| | | return null; |
| | | } |
| | | return sb.deleteCharAt(sb.length() - 1).toString(); |
| | | } |
| | | |
| | | /** |
| | | * 集合校验逻辑 |
| | | * |
| | | * @param data 要校验的集合 |
| | | * @param checker 校验器 |
| | | * @param <T> 集合元素类型 |
| | | */ |
| | | public static <T> void check(List<T> data, Checker<T> checker){ |
| | | if(data == null){ |
| | | return; |
| | | } |
| | | for (T t : data){ |
| | | checker.check(t); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 集合校验逻辑 |
| | | * |
| | | * @param data 要校验的集合 |
| | | * @param <T> 集合元素类型 |
| | | */ |
| | | public static <T extends Checker<T>> void check(List<T> data){ |
| | | if(data == null){ |
| | | return; |
| | | } |
| | | for (T t : data){ |
| | | t.check(); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * 将元素加入到集合中,为null的过滤掉 |
| | | * |
| | | * @param list 集合 |
| | | * @param data 要添加的数据 |
| | | * @param <T> 元素类型 |
| | | */ |
| | | public static <T> void add(Collection<T> list, T... data) { |
| | | if (list == null || ArrayUtils.isEmpty(data)) { |
| | | return; |
| | | } |
| | | for (T t : data) { |
| | | if (ObjectUtils.isNotEmpty(t)) { |
| | | list.add(t); |
| | | } |
| | | } |
| | | } |
| | | //将两个集合出现次数相加 |
| | | public static Map<Long, Integer> union(Map<Long, Integer> map1, Map<Long, Integer> map2) { |
| | | if (CollUtils.isEmpty(map1)) { |
| | | return map2; |
| | | } else if (CollUtils.isEmpty(map2)) { |
| | | return map1; |
| | | } |
| | | for (Map.Entry<Long, Integer> entry : map1.entrySet()) { |
| | | Integer num = map2.get(entry.getKey()); |
| | | map2.put(entry.getKey(), NumberUtils.null2Zero(num) + entry.getValue()); |
| | | } |
| | | return map2; |
| | | } |
| | | |
| | | public static <T,R> R getFiledOfFirst(List<T> list, Function<T, R> function) { |
| | | if (CollUtils.isEmpty(list)) { |
| | | return null; |
| | | } |
| | | return function.apply(list.get(0)); |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.utils.page; |
| | | |
| | | /** |
| | | * 对原对象进行计算,设置到目标对象中 |
| | | **/ |
| | | public interface Convert<R,T>{ |
| | | void convert(R origin, T target); |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.utils.page; |
| | | |
| | | import cn.hutool.core.util.NumberUtil; |
| | | import java.math.BigDecimal; |
| | | import java.util.Comparator; |
| | | import java.util.List; |
| | | import java.util.stream.Collectors; |
| | | |
| | | public class NumberUtils extends NumberUtil { |
| | | |
| | | |
| | | /** |
| | | * 如果number为空,将number转换为0,否则原数字返回 |
| | | * |
| | | * @param number 原数值 |
| | | * @return 整型数字,0或原数字 |
| | | */ |
| | | public static Integer null2Zero(Integer number){ |
| | | return number == null ? 0 : number; |
| | | } |
| | | |
| | | /** |
| | | * 如果number为空,将number转换为0,否则原数字返回 |
| | | * |
| | | * @param number 原数值 |
| | | * @return 整型数字,0或原数字 |
| | | */ |
| | | public static Double null2Zero(Double number){ |
| | | return number == null ? 0 : number; |
| | | } |
| | | |
| | | /** |
| | | * 如果number为空,将number转换为0L,否则原数字返回 |
| | | * |
| | | * @param number 原数值 |
| | | * @return 长整型数字,0L或原数字 |
| | | */ |
| | | public static Long null2Zero(Long number){ |
| | | return number == null ? 0L : number; |
| | | } |
| | | |
| | | |
| | | public static Double setScale(Double number) { |
| | | return new BigDecimal(number) |
| | | .setScale(2, BigDecimal.ROUND_HALF_UP) |
| | | .doubleValue(); |
| | | } |
| | | /** |
| | | * 比较两个数字是否相同, |
| | | * @param number1 数值1 |
| | | * @param number2 数值2 |
| | | * @return 是否一致 |
| | | */ |
| | | public static boolean equals(Integer number1, Integer number2) { |
| | | if(number1 == null || number2 == null){ |
| | | return false; |
| | | } |
| | | return number1.equals(number2); |
| | | } |
| | | |
| | | /** |
| | | * 数字除法保留指定小数位 |
| | | * @param num1 被除数 |
| | | * @param num2 除数 |
| | | * @param scale 小数点位数 |
| | | * @return 结果 |
| | | */ |
| | | public static Double divToDouble(Integer num1, Integer num2, int scale){ |
| | | if(num2 == null || num2 ==0 || num1 == null || num1 == 0) { |
| | | return 0d; |
| | | } |
| | | return div(num1, num2, scale).doubleValue(); |
| | | } |
| | | |
| | | public static Double max(List<Double> data){ |
| | | if(CollUtils.isEmpty(data)){ |
| | | return null; |
| | | } |
| | | return data.stream() |
| | | .max(Comparator.comparingDouble(num -> num)) |
| | | .orElse(0d); |
| | | } |
| | | public static Double min(List<Double> data){ |
| | | if(CollUtils.isEmpty(data)){ |
| | | return null; |
| | | } |
| | | return data.stream() |
| | | .min(Comparator.comparingDouble(num -> num)) |
| | | .orElse(0d); |
| | | } |
| | | |
| | | public static Double average(List<Double> data){ |
| | | if(CollUtils.isEmpty(data)){ |
| | | return 0d; |
| | | } |
| | | return data.stream() |
| | | .collect(Collectors.averagingDouble(Double::doubleValue)); |
| | | |
| | | } |
| | | |
| | | public static Integer toInt(Object obj) { |
| | | return obj == null ? null |
| | | : obj instanceof Integer |
| | | ? (int) obj : null; |
| | | } |
| | | |
| | | /** |
| | | * 取绝对值,如果为null,返回0 |
| | | * @param number 数值 |
| | | * @return 绝对值 |
| | | */ |
| | | public static int abs(Integer number) { |
| | | return number == null |
| | | ? 0 |
| | | : Math.abs(number); |
| | | } |
| | | |
| | | /** |
| | | * 数字格式化字符串,不足位数补0 |
| | | * |
| | | * @param originNumber 原始数字 |
| | | * @param digit 数字位数 |
| | | * @return 字符串 |
| | | */ |
| | | public static String repair0(Integer originNumber, Integer digit){ |
| | | StringBuilder number = new StringBuilder(originNumber + ""); |
| | | while (number.length() < digit) { |
| | | number.insert(0, "0"); |
| | | } |
| | | return number.toString(); |
| | | } |
| | | |
| | | |
| | | public static String scaleToStr(Integer num, int offset) { |
| | | // 1.计算位数 |
| | | int m = (int) Math.pow(10, offset); |
| | | // 2.计算商 |
| | | int s = num / m; |
| | | // 3.计算余数 |
| | | int y = num % m; |
| | | if (y == 0) { |
| | | return Integer.toString(s); |
| | | } |
| | | // 2.计算余数 |
| | | return s + "." + y; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.utils.page; |
| | | |
| | | import cn.hutool.core.util.ObjectUtil; |
| | | |
| | | import java.lang.reflect.Field; |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * Object操作工具 |
| | | **/ |
| | | public class ObjectUtils extends ObjectUtil { |
| | | |
| | | /** |
| | | * 为object设置默认值,对target中的基本类型进行默认值初始化, |
| | | * 为null的对象不操作 |
| | | * |
| | | * @param target 需要初始化的对象 |
| | | */ |
| | | public static void setDefault(Object target) { |
| | | if (target == null) { |
| | | return; |
| | | } |
| | | Class<?> clazz = target.getClass(); |
| | | Field[] declaredFields = clazz.getDeclaredFields(); |
| | | for (Field field : declaredFields) { |
| | | setDefault(field, target); |
| | | } |
| | | |
| | | } |
| | | |
| | | /** |
| | | * 给某个字段设置为默认值 |
| | | * |
| | | * @param field |
| | | * @param target |
| | | */ |
| | | private static void setDefault(Field field, Object target) { |
| | | field.setAccessible(true); |
| | | try { |
| | | Object value = field.get(target); |
| | | if (value != null) { |
| | | return; |
| | | } |
| | | String type = field.getGenericType().toString(); |
| | | Object defaultValue; |
| | | switch (type) { |
| | | case "class java.lang.String": |
| | | case "class java.lang.Character": |
| | | defaultValue = ""; |
| | | break; |
| | | case "class java.lang.Double": |
| | | defaultValue = 0.0d; |
| | | break; |
| | | case "class java.lang.Long": |
| | | defaultValue = 0L; |
| | | break; |
| | | case "class java.lang.Short": |
| | | defaultValue = (short) 0; |
| | | break; |
| | | case "class java.lang.Integer": |
| | | defaultValue = 0; |
| | | break; |
| | | case "class java.lang.Float": |
| | | defaultValue = 0f; |
| | | break; |
| | | case "class java.lang.Byte": |
| | | defaultValue = (byte) 0; |
| | | break; |
| | | case "class java.math.BigDecimal": |
| | | defaultValue = BigDecimal.ZERO; |
| | | break; |
| | | case "class java.lang.Boolean": |
| | | defaultValue = Boolean.FALSE; |
| | | break; |
| | | default: |
| | | defaultValue = null; |
| | | |
| | | } |
| | | field.set(target, defaultValue); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.common.core.utils.page; |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.fasterxml.jackson.annotation.JsonIgnore; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.util.List; |
| | | import java.util.function.Function; |
| | | import java.util.stream.Collectors; |
| | | import lombok.AllArgsConstructor; |
| | | import lombok.Data; |
| | | import lombok.NoArgsConstructor; |
| | | |
| | | @Data |
| | | @NoArgsConstructor |
| | | @AllArgsConstructor |
| | | @ApiModel(description = "分页结果") |
| | | public class PageDTO<T> { |
| | | @ApiModelProperty("总条数") |
| | | protected Long total; |
| | | @ApiModelProperty("总页码数") |
| | | protected Long pages; |
| | | @ApiModelProperty("当前页数据") |
| | | protected List<T> list; |
| | | |
| | | public static <T> PageDTO<T> empty(Long total, Long pages) { |
| | | return new PageDTO<>(total, pages, CollUtils.emptyList()); |
| | | } |
| | | public static <T> PageDTO<T> empty(Page<?> page) { |
| | | return new PageDTO<>(page.getTotal(), page.getPages(), CollUtils.emptyList()); |
| | | } |
| | | |
| | | public static <T> PageDTO<T> of(Page<T> page) { |
| | | if(page == null){ |
| | | return new PageDTO<>(); |
| | | } |
| | | if (CollUtils.isEmpty(page.getRecords())) { |
| | | return empty(page); |
| | | } |
| | | return new PageDTO<>(page.getTotal(), page.getPages(), page.getRecords()); |
| | | } |
| | | public static <T,R> PageDTO<T> of(Page<R> page, Function<R, T> mapper) { |
| | | if(page == null){ |
| | | return new PageDTO<>(); |
| | | } |
| | | if (CollUtils.isEmpty(page.getRecords())) { |
| | | return empty(page); |
| | | } |
| | | return new PageDTO<>(page.getTotal(), page.getPages(), |
| | | page.getRecords().stream().map(mapper).collect(Collectors.toList())); |
| | | } |
| | | public static <T> PageDTO<T> of(Page<?> page, List<T> list) { |
| | | return new PageDTO<>(page.getTotal(), page.getPages(), list); |
| | | } |
| | | |
| | | public static <T, R> PageDTO<T> of(Page<R> page, Class<T> clazz) { |
| | | return new PageDTO<>(page.getTotal(), page.getPages(), BeanUtils.copyList(page.getRecords(), clazz)); |
| | | } |
| | | |
| | | public static <T, R> PageDTO<T> of(Page<R> page, Class<T> clazz, Convert<R, T> convert) { |
| | | return new PageDTO<>(page.getTotal(), page.getPages(), BeanUtils.copyList(page.getRecords(), clazz, convert)); |
| | | } |
| | | |
| | | @ApiModelProperty(hidden = true) |
| | | @JsonIgnore |
| | | public boolean isEmpty(){ |
| | | return list == null || list.size() == 0; |
| | | } |
| | | } |
| | |
| | | com.ruoyi.common.core.utils.SpringUtils |
| | | com.ruoyi.common.core.utils.SpringUtils |
| | | com.ruoyi.common.core.config.MybatisPlusConfig |
New file |
| | |
| | | package com.ruoyi.article.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 资讯评论回复表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/article-comments") |
| | | public class ArticleCommentsController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 资讯表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/article") |
| | | public class ArticleController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 敏感词管理 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/sensitive-words") |
| | | public class SensitiveWordsController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 资讯表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_article") |
| | | @ApiModel(value = "Article对象", description = "资讯表") |
| | | public class Article implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "资讯id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "资讯类型 1=平台发布 2=用户发布") |
| | | private Integer articleType; |
| | | |
| | | @ApiModelProperty(value = "资讯标题") |
| | | private String title; |
| | | |
| | | @ApiModelProperty(value = "资讯内容") |
| | | private String content; |
| | | |
| | | @ApiModelProperty(value = "资讯图片 ['a','b','c','d','e']") |
| | | private String images; |
| | | |
| | | @ApiModelProperty(value = "资讯视频") |
| | | private String videoUrl; |
| | | |
| | | @ApiModelProperty(value = "状态 1=待审核 2=已通过 3=已拒绝") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "举报状态 0=正常 1=被举报") |
| | | private Integer reportStatus; |
| | | |
| | | @ApiModelProperty(value = "举报用户") |
| | | private String reportBy; |
| | | |
| | | @ApiModelProperty(value = "举报时间") |
| | | private LocalDateTime reportedTime; |
| | | |
| | | @ApiModelProperty(value = "点赞数") |
| | | private Integer likeCount; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 资讯评论回复表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_article_comments") |
| | | @ApiModel(value = "ArticleComments对象", description = "资讯评论回复表") |
| | | public class ArticleComments implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "资讯评论id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "资讯id") |
| | | private Long articleId; |
| | | |
| | | @ApiModelProperty(value = "评论id") |
| | | private Long replyId; |
| | | |
| | | @ApiModelProperty(value = "会员id") |
| | | private Long memberId; |
| | | |
| | | @ApiModelProperty(value = "评论") |
| | | private String content; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 敏感词管理 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_sensitive_words") |
| | | @ApiModel(value = "SensitiveWords对象", description = "敏感词管理") |
| | | public class SensitiveWords implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "敏感词") |
| | | private String word; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.handler; |
| | | |
| | | import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import java.time.LocalDateTime; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.reflection.MetaObject; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 自动填充处理类 |
| | | * |
| | | * @author mitao |
| | | * @date 2024-05-16 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class MyMetaObjectHandler implements MetaObjectHandler { |
| | | |
| | | @Override |
| | | public void insertFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("createBy", userName, metaObject); |
| | | fillValue("createTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | @Override |
| | | public void updateFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("updateBy", userName, metaObject); |
| | | fillValue("updateTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | private void fillValue(String fieldName, Object data, MetaObject metaObject) { |
| | | if (metaObject.hasSetter(fieldName)) { |
| | | // 值为空时设置默认值 |
| | | Object sidObj = getFieldValByName(fieldName, metaObject); |
| | | if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) { |
| | | setFieldValByName(fieldName, data, metaObject); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package com.ruoyi.article.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.article.domain.pojo.ArticleComments; |
| | | |
| | | /** |
| | | * <p> |
| | | * 资讯评论回复表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface ArticleCommentsMapper extends BaseMapper<ArticleComments> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.article.domain.pojo.Article; |
| | | |
| | | /** |
| | | * <p> |
| | | * 资讯表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface ArticleMapper extends BaseMapper<Article> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.article.domain.pojo.SensitiveWords; |
| | | |
| | | /** |
| | | * <p> |
| | | * 敏感词管理 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface SensitiveWordsMapper extends BaseMapper<SensitiveWords> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.article.domain.pojo.ArticleComments; |
| | | |
| | | /** |
| | | * <p> |
| | | * 资讯评论回复表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IArticleCommentsService extends IService<ArticleComments> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.article.domain.pojo.Article; |
| | | /** |
| | | * <p> |
| | | * 资讯表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IArticleService extends IService<Article> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.article.domain.pojo.SensitiveWords; |
| | | |
| | | /** |
| | | * <p> |
| | | * 敏感词管理 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface ISensitiveWordsService extends IService<SensitiveWords> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.article.domain.pojo.ArticleComments; |
| | | import com.ruoyi.article.mapper.ArticleCommentsMapper; |
| | | import com.ruoyi.article.service.IArticleCommentsService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 资讯评论回复表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class ArticleCommentsServiceImpl extends |
| | | ServiceImpl<ArticleCommentsMapper, ArticleComments> implements IArticleCommentsService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.article.domain.pojo.Article; |
| | | import com.ruoyi.article.mapper.ArticleMapper; |
| | | import com.ruoyi.article.service.IArticleService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 资讯表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class ArticleServiceImpl extends ServiceImpl<ArticleMapper, Article> implements |
| | | IArticleService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.article.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.article.domain.pojo.SensitiveWords; |
| | | import com.ruoyi.article.mapper.SensitiveWordsMapper; |
| | | import com.ruoyi.article.service.ISensitiveWordsService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 敏感词管理 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class SensitiveWordsServiceImpl extends |
| | | ServiceImpl<SensitiveWordsMapper, SensitiveWords> implements ISensitiveWordsService { |
| | | |
| | | } |
New file |
| | |
| | | <?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.ruoyi.article.mapper.ArticleCommentsMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.article.mapper.ArticleMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.article.mapper.SensitiveWordsMapper"> |
| | | |
| | | </mapper> |
| | |
| | | <setting name="cacheEnabled" value="true"/> |
| | | <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> |
| | | <!-- <setting name="lazyLoadingEnabled" value="true"/> --> |
| | | <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> |
| | | <!-- <setting name="aggressiveLazyLoading" value="false"/>--> |
| | | <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> |
New file |
| | |
| | | package com.ruoyi.auction.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 出价记录表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/auction-bid-record") |
| | | public class AuctionBidRecordController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖商品表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/auction-goods") |
| | | public class AuctionGoodsController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/auction-salesroom") |
| | | public class AuctionSalesroomController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场商品关系表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/auction-salesroom-goods") |
| | | public class AuctionSalesroomGoodsController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 出价记录表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_auction_bid_record") |
| | | @ApiModel(value = "AuctionBidRecord对象", description = "出价记录表") |
| | | public class AuctionBidRecord implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "出价记录id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "拍卖场id") |
| | | private Long auctionSalesroomId; |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | private Long goodsSkuId; |
| | | |
| | | @ApiModelProperty(value = "会员id") |
| | | private Long memberId; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String goodsSkuName; |
| | | |
| | | @ApiModelProperty(value = "最终出价时间") |
| | | private LocalDateTime lastBidTime; |
| | | |
| | | @ApiModelProperty(value = "出价次数") |
| | | private Integer bidCount; |
| | | |
| | | @ApiModelProperty(value = "最终出价金额") |
| | | private BigDecimal lastBidAmount; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖商品表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_auction_goods") |
| | | @ApiModel(value = "AuctionGoods对象", description = "拍卖商品表") |
| | | public class AuctionGoods implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "拍卖商品id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | private Long goodsSkuId; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String goodsSkuName; |
| | | |
| | | @ApiModelProperty(value = "起拍价格") |
| | | private BigDecimal startingPrice; |
| | | |
| | | @ApiModelProperty(value = "最低加价金额") |
| | | private BigDecimal minimumMarkupAmount; |
| | | |
| | | @ApiModelProperty(value = "开始时间") |
| | | private LocalDateTime startTime; |
| | | |
| | | @ApiModelProperty(value = "结束时间") |
| | | private LocalDateTime endTime; |
| | | |
| | | @ApiModelProperty(value = "拍品数量") |
| | | private Integer quantity; |
| | | |
| | | @ApiModelProperty(value = "保证金") |
| | | private BigDecimal bond; |
| | | |
| | | @ApiModelProperty(value = "实名认证 0=不需实名 1=需要实名") |
| | | private Integer authentication; |
| | | |
| | | @ApiModelProperty(value = "拍品说明") |
| | | private String description; |
| | | |
| | | @ApiModelProperty(value = "上架状态 0=上架中 1=已下架") |
| | | private Integer listingStatus; |
| | | |
| | | @ApiModelProperty(value = "开始状态 0=预展中 1=拍卖中 2=已结束") |
| | | private Integer startStatus; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_auction_salesroom") |
| | | @ApiModel(value = "AuctionSalesroom对象", description = "拍卖场表") |
| | | public class AuctionSalesroom implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "拍卖场名称") |
| | | private String salesroomName; |
| | | |
| | | @ApiModelProperty(value = "开始时间") |
| | | private LocalDateTime startTime; |
| | | |
| | | @ApiModelProperty(value = "拍卖时间 0=线下拍卖 1=线上线下结合") |
| | | private Integer type; |
| | | |
| | | @ApiModelProperty(value = "保证金") |
| | | private BigDecimal bound; |
| | | |
| | | @ApiModelProperty(value = "实名认证 0=不需认证 1=需要实名") |
| | | private Integer authentication; |
| | | |
| | | @ApiModelProperty(value = "拍卖场说明") |
| | | private String description; |
| | | |
| | | @ApiModelProperty(value = "拍卖场封面图") |
| | | private String coverPic; |
| | | |
| | | @ApiModelProperty(value = "分享标题") |
| | | private String shareTitle; |
| | | |
| | | @ApiModelProperty(value = "分享图片") |
| | | private String sharePic; |
| | | |
| | | @ApiModelProperty(value = "拍卖状态 0=预展中 1=拍卖中 2=已结束") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "拍卖场二维码") |
| | | private String auctionSalesroomQrcode; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场商品关系表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_auction_salesroom_goods") |
| | | @ApiModel(value = "AuctionSalesroomGoods对象", description = "拍卖场商品关系表") |
| | | public class AuctionSalesroomGoods implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "拍卖场商品关系id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "拍卖场id") |
| | | private Long auctionSalesroomId; |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | private Long goodsSkuId; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String goodsSkuName; |
| | | |
| | | @ApiModelProperty(value = "起拍价格") |
| | | private BigDecimal startingPrice; |
| | | |
| | | @ApiModelProperty(value = "最低加价金额") |
| | | private BigDecimal minimumMarkupAmount; |
| | | |
| | | @ApiModelProperty(value = "拍品数量") |
| | | private Integer itemQuantity; |
| | | |
| | | @ApiModelProperty(value = "兜底成交个数") |
| | | private Integer guaranteedTradeVolume; |
| | | |
| | | @ApiModelProperty(value = "拍卖时间(分钟)") |
| | | private Integer listingDuration; |
| | | |
| | | @ApiModelProperty(value = "设为备选") |
| | | private Boolean backupStatus; |
| | | |
| | | @ApiModelProperty(value = "状态 0=预展中 1=拍卖中 2=已结束") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.handler; |
| | | |
| | | import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import java.time.LocalDateTime; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.reflection.MetaObject; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 自动填充处理类 |
| | | * |
| | | * @author mitao |
| | | * @date 2024-05-16 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class MyMetaObjectHandler implements MetaObjectHandler { |
| | | |
| | | @Override |
| | | public void insertFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("createBy", userName, metaObject); |
| | | fillValue("createTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | @Override |
| | | public void updateFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("updateBy", userName, metaObject); |
| | | fillValue("updateTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | private void fillValue(String fieldName, Object data, MetaObject metaObject) { |
| | | if (metaObject.hasSetter(fieldName)) { |
| | | // 值为空时设置默认值 |
| | | Object sidObj = getFieldValByName(fieldName, metaObject); |
| | | if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) { |
| | | setFieldValByName(fieldName, data, metaObject); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package com.ruoyi.auction.mapper; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionBidRecord; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 出价记录表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface AuctionBidRecordMapper extends BaseMapper<AuctionBidRecord> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.mapper; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionGoods; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖商品表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface AuctionGoodsMapper extends BaseMapper<AuctionGoods> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.mapper; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场商品关系表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface AuctionSalesroomGoodsMapper extends BaseMapper<AuctionSalesroomGoods> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.mapper; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionSalesroom; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface AuctionSalesroomMapper extends BaseMapper<AuctionSalesroom> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.service; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionBidRecord; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 出价记录表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IAuctionBidRecordService extends IService<AuctionBidRecord> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.service; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionGoods; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖商品表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IAuctionGoodsService extends IService<AuctionGoods> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.service; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场商品关系表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IAuctionSalesroomGoodsService extends IService<AuctionSalesroomGoods> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.service; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionSalesroom; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IAuctionSalesroomService extends IService<AuctionSalesroom> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.service.impl; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionBidRecord; |
| | | import com.ruoyi.auction.mapper.AuctionBidRecordMapper; |
| | | import com.ruoyi.auction.service.IAuctionBidRecordService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 出价记录表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class AuctionBidRecordServiceImpl extends ServiceImpl<AuctionBidRecordMapper, AuctionBidRecord> implements IAuctionBidRecordService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.service.impl; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionGoods; |
| | | import com.ruoyi.auction.mapper.AuctionGoodsMapper; |
| | | import com.ruoyi.auction.service.IAuctionGoodsService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖商品表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class AuctionGoodsServiceImpl extends ServiceImpl<AuctionGoodsMapper, AuctionGoods> implements IAuctionGoodsService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.service.impl; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionSalesroomGoods; |
| | | import com.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper; |
| | | import com.ruoyi.auction.service.IAuctionSalesroomGoodsService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场商品关系表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class AuctionSalesroomGoodsServiceImpl extends ServiceImpl<AuctionSalesroomGoodsMapper, AuctionSalesroomGoods> implements IAuctionSalesroomGoodsService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.auction.service.impl; |
| | | |
| | | import com.ruoyi.auction.domain.pojo.AuctionSalesroom; |
| | | import com.ruoyi.auction.mapper.AuctionSalesroomMapper; |
| | | import com.ruoyi.auction.service.IAuctionSalesroomService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖场表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class AuctionSalesroomServiceImpl extends ServiceImpl<AuctionSalesroomMapper, AuctionSalesroom> implements IAuctionSalesroomService { |
| | | |
| | | } |
New file |
| | |
| | | <?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.ruoyi.auction.mapper.AuctionBidRecordMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.auction.mapper.AuctionGoodsMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.auction.mapper.AuctionSalesroomGoodsMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.auction.mapper.AuctionSalesroomMapper"> |
| | | |
| | | </mapper> |
| | |
| | | <setting name="cacheEnabled" value="true"/> |
| | | <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> |
| | | <!-- <setting name="lazyLoadingEnabled" value="true"/> --> |
| | | <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> |
| | | <!-- <setting name="aggressiveLazyLoading" value="false"/>--> |
| | | <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> |
New file |
| | |
| | | package com.ruoyi.goods.controller; |
| | | |
| | | |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 品牌表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/goods-brand") |
| | | @RequiredArgsConstructor |
| | | public class GoodsBrandController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品分类表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/goods-category") |
| | | public class GoodsCategoryController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 香型表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/goods-flavor-type") |
| | | public class GoodsFlavorTypeController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品团购表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/goods-group-purchase") |
| | | public class GoodsGroupPurchaseController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/goods-info-title") |
| | | public class GoodsInfoTitleController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题值表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/goods-info-title-value") |
| | | public class GoodsInfoTitleValueController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品秒杀表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/goods-seckill") |
| | | public class GoodsSeckillController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系列表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/goods-series") |
| | | public class GoodsSeriesController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/goods-sku") |
| | | public class GoodsSkuController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 品牌表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_goods_brand") |
| | | @ApiModel(value = "GoodsBrand对象", description = "品牌表") |
| | | public class GoodsBrand implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "品牌id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "品牌名称") |
| | | @TableField("brand_name") |
| | | private String brandName; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品分类表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_goods_category") |
| | | @ApiModel(value = "GoodsCategory对象", description = "商品分类表") |
| | | public class GoodsCategory implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "商品分类id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "分类名称") |
| | | @TableField("category_name") |
| | | private String categoryName; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 香型表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_goods_flavor_type") |
| | | @ApiModel(value = "GoodsFlavorType对象", description = "香型表") |
| | | public class GoodsFlavorType implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "香型id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "香型名称") |
| | | @TableField("flavor_type_name") |
| | | private String flavorTypeName; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品团购表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_goods_group_purchase") |
| | | @ApiModel(value = "GoodsGroupPurchase对象", description = "商品团购表") |
| | | public class GoodsGroupPurchase implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "商品团购id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | @TableField("goods_sku_id") |
| | | private Long goodsSkuId; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | @TableField("goods_sku_name") |
| | | private String goodsSkuName; |
| | | |
| | | @ApiModelProperty(value = "分享标题") |
| | | @TableField("share_title") |
| | | private String shareTitle; |
| | | |
| | | @ApiModelProperty(value = "分享图片") |
| | | @TableField("share_pic") |
| | | private String sharePic; |
| | | |
| | | @ApiModelProperty(value = "团购价格") |
| | | @TableField("group_purchase_price") |
| | | private BigDecimal groupPurchasePrice; |
| | | |
| | | @ApiModelProperty(value = "成团人数") |
| | | @TableField("group_size") |
| | | private Integer groupSize; |
| | | |
| | | @ApiModelProperty(value = "限购数量") |
| | | @TableField("limit_number") |
| | | private Integer limitNumber; |
| | | |
| | | @ApiModelProperty(value = "团购开始时间") |
| | | @TableField("start_time") |
| | | private LocalDateTime startTime; |
| | | |
| | | @ApiModelProperty(value = "团购结束时间") |
| | | @TableField("end_time") |
| | | private LocalDateTime endTime; |
| | | |
| | | @ApiModelProperty(value = "参团说明") |
| | | @TableField("description") |
| | | private String description; |
| | | |
| | | @ApiModelProperty(value = "开始状态 0=未开始 1=已开始 2=已结束 ") |
| | | @TableField("start_status") |
| | | private Integer startStatus; |
| | | |
| | | @ApiModelProperty(value = "上架状态 0=已上架 1=已下架") |
| | | @TableField("listing_status") |
| | | private Integer listingStatus; |
| | | |
| | | @ApiModelProperty(value = "成团状态 0=待成团 1=已成团 2=成团失败") |
| | | @TableField("group_status") |
| | | private Integer groupStatus; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_goods_info_title") |
| | | @ApiModel(value = "GoodsInfoTitle对象", description = "商品信息标题表") |
| | | public class GoodsInfoTitle implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "商品信息标题id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "标题名称") |
| | | @TableField("title_name") |
| | | private String titleName; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题值表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_goods_info_title_value") |
| | | @ApiModel(value = "GoodsInfoTitleValue对象", description = "商品信息标题值表") |
| | | public class GoodsInfoTitleValue implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "商品信息标题值id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "商品sku id") |
| | | @TableField("goods_sku_id") |
| | | private Long goodsSkuId; |
| | | |
| | | @ApiModelProperty(value = "商品信息标题id") |
| | | @TableField("goods_info_title_id") |
| | | private Long goodsInfoTitleId; |
| | | |
| | | @ApiModelProperty(value = "内容") |
| | | @TableField("content") |
| | | private String content; |
| | | |
| | | @ApiModelProperty(value = "排序") |
| | | @TableField("sort_num") |
| | | private Integer sortNum; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品秒杀表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_goods_seckill") |
| | | @ApiModel(value = "GoodsSeckill对象", description = "商品秒杀表") |
| | | public class GoodsSeckill implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "商品秒杀id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | private Long goodsSkuId; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String goodsSkuName; |
| | | |
| | | @ApiModelProperty(value = "当前库存") |
| | | private Integer currentStock; |
| | | |
| | | @ApiModelProperty(value = "秒杀价格") |
| | | private BigDecimal seckillPrice; |
| | | |
| | | @ApiModelProperty(value = "秒杀库存") |
| | | private Integer seckillStock; |
| | | |
| | | @ApiModelProperty(value = "限购数量") |
| | | private Integer limitNumber; |
| | | |
| | | @ApiModelProperty(value = "排序") |
| | | private Integer sortNum; |
| | | |
| | | @ApiModelProperty(value = "分享标题") |
| | | private String shareTitle; |
| | | |
| | | @ApiModelProperty(value = "分享图片") |
| | | private String sharePic; |
| | | |
| | | @ApiModelProperty(value = "秒杀开始时间") |
| | | private LocalDateTime startTime; |
| | | |
| | | @ApiModelProperty(value = "秒杀结束时间") |
| | | private LocalDateTime endTime; |
| | | |
| | | @ApiModelProperty(value = "开始状态 0=未开始 1= 已开始 2=已结束") |
| | | private Integer startStatus; |
| | | |
| | | @ApiModelProperty(value = "上架状态 0=已上架 1=已下架") |
| | | private Integer listingStatus; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系列表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_goods_series") |
| | | @ApiModel(value = "GoodsSeries对象", description = "系列表") |
| | | public class GoodsSeries implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "系列id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "系列名称") |
| | | private String seriesName; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_goods_sku") |
| | | @ApiModel(value = "GoodsSku对象", description = "商品表") |
| | | public class GoodsSku implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String skuName; |
| | | |
| | | @ApiModelProperty(value = "商品年份") |
| | | private String years; |
| | | |
| | | @ApiModelProperty(value = "商品分类id") |
| | | private Long categoryId; |
| | | |
| | | @ApiModelProperty(value = "商品系列id") |
| | | private Long seriesId; |
| | | |
| | | @ApiModelProperty(value = "商品品牌id") |
| | | private Long brandId; |
| | | |
| | | @ApiModelProperty(value = "商品香型id") |
| | | private Long flavorTypeId; |
| | | |
| | | @ApiModelProperty(value = "商品价格") |
| | | private BigDecimal price; |
| | | |
| | | @ApiModelProperty(value = "库存") |
| | | private Integer stock; |
| | | |
| | | @ApiModelProperty(value = "单位") |
| | | private String unit; |
| | | |
| | | @ApiModelProperty(value = "规格") |
| | | private String spec; |
| | | |
| | | @ApiModelProperty(value = "规格单位") |
| | | private String specUnit; |
| | | |
| | | @ApiModelProperty(value = "封面图") |
| | | private String coverPic; |
| | | |
| | | @ApiModelProperty(value = "详情图,不超过五张图片") |
| | | private String alubm; |
| | | |
| | | @ApiModelProperty(value = "分享标题") |
| | | private String shareTitle; |
| | | |
| | | @ApiModelProperty(value = "分享图片") |
| | | private String sharePic; |
| | | |
| | | @ApiModelProperty(value = "商品描述") |
| | | private String description; |
| | | |
| | | @ApiModelProperty(value = "商品说明") |
| | | private String detail; |
| | | |
| | | @ApiModelProperty(value = "排序") |
| | | private Integer sortNum; |
| | | |
| | | @ApiModelProperty(value = "上架状态 0=上架中 1= 已下架") |
| | | private Integer listingStatus; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.handler; |
| | | |
| | | import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import java.time.LocalDateTime; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.reflection.MetaObject; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 自动填充处理类 |
| | | * |
| | | * @author mitao |
| | | * @date 2024-05-16 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class MyMetaObjectHandler implements MetaObjectHandler { |
| | | |
| | | @Override |
| | | public void insertFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("createBy", userName, metaObject); |
| | | fillValue("createTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | @Override |
| | | public void updateFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("updateBy", userName, metaObject); |
| | | fillValue("updateTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | private void fillValue(String fieldName, Object data, MetaObject metaObject) { |
| | | if (metaObject.hasSetter(fieldName)) { |
| | | // 值为空时设置默认值 |
| | | Object sidObj = getFieldValByName(fieldName, metaObject); |
| | | if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) { |
| | | setFieldValByName(fieldName, data, metaObject); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package com.ruoyi.goods.mapper; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsBrand; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 品牌表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface GoodsBrandMapper extends BaseMapper<GoodsBrand> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.mapper; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsCategory; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品分类表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface GoodsCategoryMapper extends BaseMapper<GoodsCategory> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.mapper; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsFlavorType; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 香型表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface GoodsFlavorTypeMapper extends BaseMapper<GoodsFlavorType> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.mapper; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsGroupPurchase; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品团购表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface GoodsGroupPurchaseMapper extends BaseMapper<GoodsGroupPurchase> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.mapper; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsInfoTitle; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface GoodsInfoTitleMapper extends BaseMapper<GoodsInfoTitle> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.mapper; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsInfoTitleValue; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题值表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface GoodsInfoTitleValueMapper extends BaseMapper<GoodsInfoTitleValue> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.mapper; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsSeckill; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品秒杀表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface GoodsSeckillMapper extends BaseMapper<GoodsSeckill> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.mapper; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsSeries; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系列表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface GoodsSeriesMapper extends BaseMapper<GoodsSeries> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.mapper; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsSku; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface GoodsSkuMapper extends BaseMapper<GoodsSku> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsBrand; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 品牌表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IGoodsBrandService extends IService<GoodsBrand> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsCategory; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品分类表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IGoodsCategoryService extends IService<GoodsCategory> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsFlavorType; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 香型表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IGoodsFlavorTypeService extends IService<GoodsFlavorType> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsGroupPurchase; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品团购表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IGoodsGroupPurchaseService extends IService<GoodsGroupPurchase> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsInfoTitle; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IGoodsInfoTitleService extends IService<GoodsInfoTitle> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsInfoTitleValue; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题值表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IGoodsInfoTitleValueService extends IService<GoodsInfoTitleValue> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsSeckill; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品秒杀表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IGoodsSeckillService extends IService<GoodsSeckill> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsSeries; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系列表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IGoodsSeriesService extends IService<GoodsSeries> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsSku; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IGoodsSkuService extends IService<GoodsSku> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service.impl; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsBrand; |
| | | import com.ruoyi.goods.mapper.GoodsBrandMapper; |
| | | import com.ruoyi.goods.service.IGoodsBrandService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 品牌表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class GoodsBrandServiceImpl extends ServiceImpl<GoodsBrandMapper, GoodsBrand> implements IGoodsBrandService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service.impl; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsCategory; |
| | | import com.ruoyi.goods.mapper.GoodsCategoryMapper; |
| | | import com.ruoyi.goods.service.IGoodsCategoryService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品分类表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class GoodsCategoryServiceImpl extends ServiceImpl<GoodsCategoryMapper, GoodsCategory> implements IGoodsCategoryService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service.impl; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsFlavorType; |
| | | import com.ruoyi.goods.mapper.GoodsFlavorTypeMapper; |
| | | import com.ruoyi.goods.service.IGoodsFlavorTypeService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 香型表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class GoodsFlavorTypeServiceImpl extends ServiceImpl<GoodsFlavorTypeMapper, GoodsFlavorType> implements IGoodsFlavorTypeService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service.impl; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsGroupPurchase; |
| | | import com.ruoyi.goods.mapper.GoodsGroupPurchaseMapper; |
| | | import com.ruoyi.goods.service.IGoodsGroupPurchaseService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品团购表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class GoodsGroupPurchaseServiceImpl extends ServiceImpl<GoodsGroupPurchaseMapper, GoodsGroupPurchase> implements IGoodsGroupPurchaseService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service.impl; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsInfoTitle; |
| | | import com.ruoyi.goods.mapper.GoodsInfoTitleMapper; |
| | | import com.ruoyi.goods.service.IGoodsInfoTitleService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class GoodsInfoTitleServiceImpl extends ServiceImpl<GoodsInfoTitleMapper, GoodsInfoTitle> implements IGoodsInfoTitleService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service.impl; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsInfoTitleValue; |
| | | import com.ruoyi.goods.mapper.GoodsInfoTitleValueMapper; |
| | | import com.ruoyi.goods.service.IGoodsInfoTitleValueService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品信息标题值表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class GoodsInfoTitleValueServiceImpl extends ServiceImpl<GoodsInfoTitleValueMapper, GoodsInfoTitleValue> implements IGoodsInfoTitleValueService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service.impl; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsSeckill; |
| | | import com.ruoyi.goods.mapper.GoodsSeckillMapper; |
| | | import com.ruoyi.goods.service.IGoodsSeckillService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品秒杀表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class GoodsSeckillServiceImpl extends ServiceImpl<GoodsSeckillMapper, GoodsSeckill> implements IGoodsSeckillService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service.impl; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsSeries; |
| | | import com.ruoyi.goods.mapper.GoodsSeriesMapper; |
| | | import com.ruoyi.goods.service.IGoodsSeriesService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 系列表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class GoodsSeriesServiceImpl extends ServiceImpl<GoodsSeriesMapper, GoodsSeries> implements IGoodsSeriesService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.service.impl; |
| | | |
| | | import com.ruoyi.goods.domain.pojo.GoodsSku; |
| | | import com.ruoyi.goods.mapper.GoodsSkuMapper; |
| | | import com.ruoyi.goods.service.IGoodsSkuService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商品表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class GoodsSkuServiceImpl extends ServiceImpl<GoodsSkuMapper, GoodsSku> implements IGoodsSkuService { |
| | | |
| | | } |
New file |
| | |
| | | <?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.ruoyi.goods.mapper.GoodsBrandMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.goods.mapper.GoodsCategoryMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.goods.mapper.GoodsFlavorTypeMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.goods.mapper.GoodsGroupPurchaseMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.goods.mapper.GoodsInfoTitleMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.goods.mapper.GoodsInfoTitleValueMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.goods.mapper.GoodsSeckillMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.goods.mapper.GoodsSeriesMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.goods.mapper.GoodsSkuMapper"> |
| | | |
| | | </mapper> |
| | |
| | | <setting name="cacheEnabled" value="true"/> |
| | | <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> |
| | | <!-- <setting name="lazyLoadingEnabled" value="true"/> --> |
| | | <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> |
| | | <!-- <setting name="aggressiveLazyLoading" value="false"/>--> |
| | | <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> |
New file |
| | |
| | | package com.ruoyi.member.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员地址表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/member-address") |
| | | public class MemberAddressController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员收藏表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/member-collection") |
| | | public class MemberCollectionController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/member") |
| | | public class MemberController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.controller; |
| | | |
| | | |
| | | import lombok.RequiredArgsConstructor; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员等级表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/member-level") |
| | | @RequiredArgsConstructor |
| | | public class MemberLevelController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_member") |
| | | @ApiModel(value = "Member对象", description = "会员表") |
| | | public class Member implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "会员id") |
| | | @TableId(value = "id", type = IdType.INPUT) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "会员昵称") |
| | | private String nickname; |
| | | |
| | | @ApiModelProperty(value = "头像") |
| | | private String avatar; |
| | | |
| | | @ApiModelProperty(value = "会员姓名") |
| | | private String realName; |
| | | |
| | | @ApiModelProperty(value = "身份证号") |
| | | private String idNumber; |
| | | |
| | | @ApiModelProperty(value = "联系电话") |
| | | private String phone; |
| | | |
| | | @ApiModelProperty(value = "性别 0=女,1=男,2=未知") |
| | | private Integer gender; |
| | | |
| | | @ApiModelProperty(value = "等级") |
| | | private Integer level; |
| | | |
| | | @ApiModelProperty(value = "会员积分") |
| | | private Integer totalPoints; |
| | | |
| | | @ApiModelProperty(value = "已用积分") |
| | | private Integer usedPoints; |
| | | |
| | | @ApiModelProperty(value = "微信openid") |
| | | private String wxOpenid; |
| | | |
| | | @ApiModelProperty(value = "小程序openid") |
| | | private String miniOpenid; |
| | | |
| | | @ApiModelProperty(value = "微信unionid") |
| | | private String wxUnionid; |
| | | |
| | | @ApiModelProperty(value = "支付宝openid") |
| | | private String zfbOpenid; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员地址表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_member_address") |
| | | @ApiModel(value = "MemberAddress对象", description = "会员地址表") |
| | | public class MemberAddress implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "会员地址id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "会员id") |
| | | private Long memberId; |
| | | |
| | | @ApiModelProperty(value = "收件人姓名") |
| | | private String recipientName; |
| | | |
| | | @ApiModelProperty(value = "收件人电话") |
| | | private String recipientPhone; |
| | | |
| | | @ApiModelProperty(value = "城市 省市区") |
| | | private String city; |
| | | |
| | | @ApiModelProperty(value = "详细地址") |
| | | private String detailedAddress; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员收藏表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_member_collection") |
| | | @ApiModel(value = "MemberCollection对象", description = "会员收藏表") |
| | | public class MemberCollection implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "收藏类型1=商城商品 2=资讯文章 3=普通拍品") |
| | | private Integer collectionType; |
| | | |
| | | @ApiModelProperty(value = "收藏目标id") |
| | | private Long targetId; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员等级表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_member_level") |
| | | @ApiModel(value = "MemberLevel对象", description = "会员等级表") |
| | | public class MemberLevel implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "会员等级id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "会员等级") |
| | | private Integer level; |
| | | |
| | | @ApiModelProperty(value = "累计消费") |
| | | private BigDecimal cumulativeConsumption; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.handler; |
| | | |
| | | import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import java.time.LocalDateTime; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.reflection.MetaObject; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 自动填充处理类 |
| | | * |
| | | * @author mitao |
| | | * @date 2024-05-16 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class MyMetaObjectHandler implements MetaObjectHandler { |
| | | |
| | | @Override |
| | | public void insertFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("createBy", userName, metaObject); |
| | | fillValue("createTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | @Override |
| | | public void updateFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("updateBy", userName, metaObject); |
| | | fillValue("updateTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | private void fillValue(String fieldName, Object data, MetaObject metaObject) { |
| | | if (metaObject.hasSetter(fieldName)) { |
| | | // 值为空时设置默认值 |
| | | Object sidObj = getFieldValByName(fieldName, metaObject); |
| | | if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) { |
| | | setFieldValByName(fieldName, data, metaObject); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package com.ruoyi.member.mapper; |
| | | |
| | | import com.ruoyi.member.domain.pojo.MemberAddress; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员地址表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface MemberAddressMapper extends BaseMapper<MemberAddress> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.mapper; |
| | | |
| | | import com.ruoyi.member.domain.pojo.MemberCollection; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员收藏表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface MemberCollectionMapper extends BaseMapper<MemberCollection> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.mapper; |
| | | |
| | | import com.ruoyi.member.domain.pojo.MemberLevel; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员等级表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface MemberLevelMapper extends BaseMapper<MemberLevel> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.mapper; |
| | | |
| | | import com.ruoyi.member.domain.pojo.Member; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface MemberMapper extends BaseMapper<Member> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service; |
| | | |
| | | import com.ruoyi.member.domain.pojo.MemberAddress; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员地址表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IMemberAddressService extends IService<MemberAddress> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service; |
| | | |
| | | import com.ruoyi.member.domain.pojo.MemberCollection; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员收藏表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IMemberCollectionService extends IService<MemberCollection> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service; |
| | | |
| | | import com.ruoyi.member.domain.pojo.MemberLevel; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员等级表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IMemberLevelService extends IService<MemberLevel> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service; |
| | | |
| | | import com.ruoyi.member.domain.pojo.Member; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IMemberService extends IService<Member> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service.impl; |
| | | |
| | | import com.ruoyi.member.domain.pojo.MemberAddress; |
| | | import com.ruoyi.member.mapper.MemberAddressMapper; |
| | | import com.ruoyi.member.service.IMemberAddressService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员地址表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, MemberAddress> implements IMemberAddressService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service.impl; |
| | | |
| | | import com.ruoyi.member.domain.pojo.MemberCollection; |
| | | import com.ruoyi.member.mapper.MemberCollectionMapper; |
| | | import com.ruoyi.member.service.IMemberCollectionService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员收藏表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class MemberCollectionServiceImpl extends ServiceImpl<MemberCollectionMapper, MemberCollection> implements IMemberCollectionService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service.impl; |
| | | |
| | | import com.ruoyi.member.domain.pojo.MemberLevel; |
| | | import com.ruoyi.member.mapper.MemberLevelMapper; |
| | | import com.ruoyi.member.service.IMemberLevelService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员等级表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class MemberLevelServiceImpl extends ServiceImpl<MemberLevelMapper, MemberLevel> implements IMemberLevelService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service.impl; |
| | | |
| | | import com.ruoyi.member.domain.pojo.Member; |
| | | import com.ruoyi.member.mapper.MemberMapper; |
| | | import com.ruoyi.member.service.IMemberService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 会员表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class MemberServiceImpl extends ServiceImpl<MemberMapper, Member> implements IMemberService { |
| | | |
| | | } |
New file |
| | |
| | | <?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.ruoyi.member.mapper.MemberAddressMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.member.mapper.MemberCollectionMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.member.mapper.MemberLevelMapper"> |
| | | |
| | | </mapper> |
| | |
| | | <setting name="cacheEnabled" value="true"/> |
| | | <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> |
| | | <!-- <setting name="lazyLoadingEnabled" value="true"/> --> |
| | | <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> |
| | | <!-- <setting name="aggressiveLazyLoading" value="false"/>--> |
| | | <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> |
New file |
| | |
| | | package com.ruoyi.order.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 开票申请表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/invoicing-application") |
| | | public class InvoicingApplicationController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖保证金表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/order-auction-bond") |
| | | public class OrderAuctionBondController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖订单表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/order-auction") |
| | | public class OrderAuctionController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 订单表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/order") |
| | | public class OrderController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商城订单表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/order-mall") |
| | | public class OrderMallController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 售后表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/order-return-request") |
| | | public class OrderReturnRequestController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 开票申请表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_invoicing_application") |
| | | @ApiModel(value = "InvoicingApplication对象", description = "开票申请表") |
| | | public class InvoicingApplication implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "开票申请id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "会员id") |
| | | private Long memberId; |
| | | |
| | | @ApiModelProperty(value = "订单id") |
| | | private Long orderId; |
| | | |
| | | @ApiModelProperty(value = "申请时间") |
| | | private LocalDateTime applyTime; |
| | | |
| | | @ApiModelProperty(value = "状态 1=待审核 2=审核通过 3=已拒绝") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "发票类型 1=普票 2=专票") |
| | | private Integer invoiceType; |
| | | |
| | | @ApiModelProperty(value = "抬头类型 1=企业单位 2=个人/非企业单位") |
| | | private Integer titleType; |
| | | |
| | | @ApiModelProperty(value = "公司名称") |
| | | private String companyName; |
| | | |
| | | @ApiModelProperty(value = "公司税号") |
| | | private String companyTaxNumber; |
| | | |
| | | @ApiModelProperty(value = "公司地址") |
| | | private String companyAddress; |
| | | |
| | | @ApiModelProperty(value = "公司电话") |
| | | private String companyPhone; |
| | | |
| | | @ApiModelProperty(value = "公司开户行") |
| | | private String bankName; |
| | | |
| | | @ApiModelProperty(value = "公司账号") |
| | | private String bankAccount; |
| | | |
| | | @ApiModelProperty(value = "总金额") |
| | | private BigDecimal totalAmount; |
| | | |
| | | @ApiModelProperty(value = "公司邮箱") |
| | | private String email; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 订单表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_order") |
| | | @ApiModel(value = "Order对象", description = "订单表") |
| | | public class Order implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "订单id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "订单编号") |
| | | private String orderNo; |
| | | |
| | | @ApiModelProperty(value = "下单时间") |
| | | private LocalDateTime orderTime; |
| | | |
| | | @ApiModelProperty(value = "订单来源 1=商品订单 2=秒杀订单 3=团购订单 4=保证金 5=拍卖订单") |
| | | private Integer orderFrom; |
| | | |
| | | @ApiModelProperty(value = "会员id") |
| | | private Long memberId; |
| | | |
| | | @ApiModelProperty(value = "会员姓名") |
| | | private String memberName; |
| | | |
| | | @ApiModelProperty(value = "联系方式") |
| | | private String phoneNumber; |
| | | |
| | | @ApiModelProperty(value = "支付方式 1=微信 2=支付宝") |
| | | private Integer paymentMethod; |
| | | |
| | | @ApiModelProperty(value = "支付合计") |
| | | private BigDecimal totalAmount; |
| | | |
| | | @ApiModelProperty(value = "订单状态 1=待发货 2=待收货 3=已完成 4=已取消") |
| | | private Integer orderStatus; |
| | | |
| | | @ApiModelProperty(value = "支付时间") |
| | | private LocalDateTime payTime; |
| | | |
| | | @ApiModelProperty(value = "取消时间") |
| | | private LocalDateTime cancelTime; |
| | | |
| | | @ApiModelProperty(value = "订单备注") |
| | | private String orderRemark; |
| | | |
| | | @ApiModelProperty(value = "发货时间") |
| | | private LocalDateTime deliveryTime; |
| | | |
| | | @ApiModelProperty(value = "确认收货时间") |
| | | private LocalDateTime receiveTime; |
| | | |
| | | @ApiModelProperty(value = "优惠金额") |
| | | private BigDecimal discountMoney; |
| | | |
| | | @ApiModelProperty(value = "商品数量") |
| | | private Integer goodsQuantity; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_by", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖订单表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_order_auction") |
| | | @ApiModel(value = "OrderAuction对象", description = "拍卖订单表") |
| | | public class OrderAuction implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "拍卖订单id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "订单id") |
| | | private Long orderId; |
| | | |
| | | @ApiModelProperty(value = "拍卖场id") |
| | | private Long auctionSalesroomId; |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | private Long goodsSkuId; |
| | | |
| | | @ApiModelProperty(value = "所属拍卖场") |
| | | private String auctionSaleroomName; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String goodsSkuName; |
| | | |
| | | @ApiModelProperty(value = "商品封面图") |
| | | private String goodsCoverPic; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖保证金表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_order_auction_bond") |
| | | @ApiModel(value = "OrderAuctionBond对象", description = "拍卖保证金表") |
| | | public class OrderAuctionBond implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "拍卖订单id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "订单id") |
| | | private Long orderId; |
| | | |
| | | @ApiModelProperty(value = "拍卖场id") |
| | | private Long auctionSalesroomId; |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | private Long goodsSkuId; |
| | | |
| | | @ApiModelProperty(value = "是否缴纳保证金") |
| | | private Boolean boundStatus; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | 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 io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商城订单表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_order_mall") |
| | | @ApiModel(value = "OrderMall对象", description = "商城订单表") |
| | | public class OrderMall implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "商城订单id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "优惠券id") |
| | | private Long couponId; |
| | | |
| | | @ApiModelProperty(value = "订单id") |
| | | private Long orderId; |
| | | |
| | | @ApiModelProperty(value = "商品id") |
| | | private Long goodsSkuId; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String goodsSkuName; |
| | | |
| | | @ApiModelProperty(value = "商品封面图") |
| | | private String goodsCoverPic; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 售后表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_order_return_request") |
| | | @ApiModel(value = "OrderReturnRequest对象", description = "售后表") |
| | | public class OrderReturnRequest implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "售后id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "订单id") |
| | | private Long orderId; |
| | | |
| | | @ApiModelProperty(value = "申请时间") |
| | | private LocalDateTime requestTime; |
| | | |
| | | @ApiModelProperty(value = "售后类型 1=退款 2=退款退货") |
| | | private Integer requestType; |
| | | |
| | | @ApiModelProperty(value = "申请原因") |
| | | private String requestReason; |
| | | |
| | | @ApiModelProperty(value = "售后状态 1=待审核 2=待退货 3=待平台收货 4=已完成 5=已拒绝") |
| | | private Integer status; |
| | | |
| | | @ApiModelProperty(value = "审核状态 1=待审核 2=已通过 3=已拒绝") |
| | | private Integer auditStatus; |
| | | |
| | | @ApiModelProperty(value = "拒绝理由") |
| | | private String refuseReason; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.handler; |
| | | |
| | | import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import java.time.LocalDateTime; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.reflection.MetaObject; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 自动填充处理类 |
| | | * |
| | | * @author mitao |
| | | * @date 2024-05-16 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class MyMetaObjectHandler implements MetaObjectHandler { |
| | | |
| | | @Override |
| | | public void insertFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("createBy", userName, metaObject); |
| | | fillValue("createTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | @Override |
| | | public void updateFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("updateBy", userName, metaObject); |
| | | fillValue("updateTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | private void fillValue(String fieldName, Object data, MetaObject metaObject) { |
| | | if (metaObject.hasSetter(fieldName)) { |
| | | // 值为空时设置默认值 |
| | | Object sidObj = getFieldValByName(fieldName, metaObject); |
| | | if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) { |
| | | setFieldValByName(fieldName, data, metaObject); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package com.ruoyi.order.mapper; |
| | | |
| | | import com.ruoyi.order.domain.pojo.InvoicingApplication; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 开票申请表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface InvoicingApplicationMapper extends BaseMapper<InvoicingApplication> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.mapper; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderAuctionBond; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖保证金表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface OrderAuctionBondMapper extends BaseMapper<OrderAuctionBond> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.mapper; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderAuction; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖订单表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface OrderAuctionMapper extends BaseMapper<OrderAuction> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.mapper; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderMall; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商城订单表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface OrderMallMapper extends BaseMapper<OrderMall> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.mapper; |
| | | |
| | | import com.ruoyi.order.domain.pojo.Order; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 订单表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface OrderMapper extends BaseMapper<Order> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.mapper; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderReturnRequest; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 售后表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface OrderReturnRequestMapper extends BaseMapper<OrderReturnRequest> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service; |
| | | |
| | | import com.ruoyi.order.domain.pojo.InvoicingApplication; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 开票申请表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IInvoicingApplicationService extends IService<InvoicingApplication> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderAuctionBond; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖保证金表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IOrderAuctionBondService extends IService<OrderAuctionBond> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderAuction; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖订单表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IOrderAuctionService extends IService<OrderAuction> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderMall; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商城订单表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IOrderMallService extends IService<OrderMall> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderReturnRequest; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 售后表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IOrderReturnRequestService extends IService<OrderReturnRequest> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service; |
| | | |
| | | import com.ruoyi.order.domain.pojo.Order; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 订单表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IOrderService extends IService<Order> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service.impl; |
| | | |
| | | import com.ruoyi.order.domain.pojo.InvoicingApplication; |
| | | import com.ruoyi.order.mapper.InvoicingApplicationMapper; |
| | | import com.ruoyi.order.service.IInvoicingApplicationService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 开票申请表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class InvoicingApplicationServiceImpl extends ServiceImpl<InvoicingApplicationMapper, InvoicingApplication> implements IInvoicingApplicationService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service.impl; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderAuctionBond; |
| | | import com.ruoyi.order.mapper.OrderAuctionBondMapper; |
| | | import com.ruoyi.order.service.IOrderAuctionBondService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖保证金表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class OrderAuctionBondServiceImpl extends ServiceImpl<OrderAuctionBondMapper, OrderAuctionBond> implements IOrderAuctionBondService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service.impl; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderAuction; |
| | | import com.ruoyi.order.mapper.OrderAuctionMapper; |
| | | import com.ruoyi.order.service.IOrderAuctionService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 拍卖订单表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class OrderAuctionServiceImpl extends ServiceImpl<OrderAuctionMapper, OrderAuction> implements IOrderAuctionService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service.impl; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderMall; |
| | | import com.ruoyi.order.mapper.OrderMallMapper; |
| | | import com.ruoyi.order.service.IOrderMallService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 商城订单表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class OrderMallServiceImpl extends ServiceImpl<OrderMallMapper, OrderMall> implements IOrderMallService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service.impl; |
| | | |
| | | import com.ruoyi.order.domain.pojo.OrderReturnRequest; |
| | | import com.ruoyi.order.mapper.OrderReturnRequestMapper; |
| | | import com.ruoyi.order.service.IOrderReturnRequestService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 售后表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class OrderReturnRequestServiceImpl extends ServiceImpl<OrderReturnRequestMapper, OrderReturnRequest> implements IOrderReturnRequestService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.order.service.impl; |
| | | |
| | | import com.ruoyi.order.domain.pojo.Order; |
| | | import com.ruoyi.order.mapper.OrderMapper; |
| | | import com.ruoyi.order.service.IOrderService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 订单表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class OrderServiceImpl extends ServiceImpl<OrderMapper, Order> implements IOrderService { |
| | | |
| | | } |
New file |
| | |
| | | <?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.ruoyi.order.mapper.InvoicingApplicationMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.order.mapper.OrderAuctionBondMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.order.mapper.OrderAuctionMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.order.mapper.OrderMallMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.order.mapper.OrderMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.order.mapper.OrderReturnRequestMapper"> |
| | | |
| | | </mapper> |
| | |
| | | <setting name="cacheEnabled" value="true"/> |
| | | <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> |
| | | <!-- <setting name="lazyLoadingEnabled" value="true"/> --> |
| | | <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> |
| | | <!-- <setting name="aggressiveLazyLoading" value="false"/>--> |
| | | <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> |
New file |
| | |
| | | package com.ruoyi.promotion.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/coupon") |
| | | public class CouponController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券领取表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/coupon-member") |
| | | public class CouponMemberController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 轮播图表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/promotion-banner") |
| | | public class PromotionBannerController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 视频表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/promotion-video") |
| | | public class PromotionVideoController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.controller; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 心愿求购表 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/promotion-wish-list") |
| | | public class PromotionWishListController { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_coupon") |
| | | @ApiModel(value = "Coupon对象", description = "优惠券表") |
| | | public class Coupon implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "优惠券名称") |
| | | private String couponName; |
| | | |
| | | @ApiModelProperty(value = "优惠券类型 1=满减券 2=代金券 3=折扣券") |
| | | private Integer couponType; |
| | | |
| | | @ApiModelProperty(value = "状态 0=已上架 1=已下架") |
| | | private Integer couponStatus; |
| | | |
| | | @ApiModelProperty(value = "满减金额,例如:满100元") |
| | | private BigDecimal fullReductionAmount; |
| | | |
| | | @ApiModelProperty(value = "减少金额,例如:减50元") |
| | | private BigDecimal reductionAmount; |
| | | |
| | | @ApiModelProperty(value = "代金券金额,例如:50元") |
| | | private BigDecimal voucherAmount; |
| | | |
| | | @ApiModelProperty(value = "折扣额度,例如:8折") |
| | | private Double discountRate; |
| | | |
| | | @ApiModelProperty(value = "最高可抵扣金额,例如:200元") |
| | | private BigDecimal maxDiscount; |
| | | |
| | | @ApiModelProperty(value = "优惠券说明") |
| | | private String description; |
| | | |
| | | @ApiModelProperty(value = "有效期起") |
| | | private LocalDateTime startDate; |
| | | |
| | | @ApiModelProperty(value = "有效期止") |
| | | private LocalDateTime endDate; |
| | | |
| | | @ApiModelProperty(value = "会员等级,多等级以 , 隔开") |
| | | private String memberLevel; |
| | | |
| | | @ApiModelProperty(value = "发放张数") |
| | | private Integer issuedQuantity; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券领取表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_coupon_member") |
| | | @ApiModel(value = "CouponMember对象", description = "优惠券领取表") |
| | | public class CouponMember implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "优惠券领取id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "优惠券id") |
| | | private Long couponId; |
| | | |
| | | @ApiModelProperty(value = "会员id") |
| | | private Long memberId; |
| | | |
| | | @ApiModelProperty(value = "优惠券类型 1=满减券 2=代金券 3=折扣券") |
| | | private Integer couponType; |
| | | |
| | | @ApiModelProperty(value = "优惠券状态-1删除0已过期1已领取2已使用") |
| | | private Integer couponStatus; |
| | | |
| | | @ApiModelProperty(value = "优惠券名称") |
| | | private String couponName; |
| | | |
| | | @ApiModelProperty(value = "满减金额,例如:满100元") |
| | | private BigDecimal fullReductionAmount; |
| | | |
| | | @ApiModelProperty(value = "减少金额,例如:减50元") |
| | | private BigDecimal reductionAmount; |
| | | |
| | | @ApiModelProperty(value = "代金券金额,例如:50元") |
| | | private BigDecimal voucherAmount; |
| | | |
| | | @ApiModelProperty(value = "折扣额度,例如:8折") |
| | | private Integer discountRate; |
| | | |
| | | @ApiModelProperty(value = "最高可抵扣金额,例如:200元") |
| | | private BigDecimal maxDiscount; |
| | | |
| | | @ApiModelProperty(value = "优惠券说明") |
| | | private String description; |
| | | |
| | | @ApiModelProperty(value = "有效期起") |
| | | private LocalDateTime startDate; |
| | | |
| | | @ApiModelProperty(value = "有效期止") |
| | | private LocalDateTime endDate; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 轮播图表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_promotion_banner") |
| | | @ApiModel(value = "PromotionBanner对象", description = "轮播图表") |
| | | public class PromotionBanner implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "轮播图id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "轮播图名称") |
| | | private String bannerName; |
| | | |
| | | @ApiModelProperty(value = "轮播图类型 1=商城首页 2=资讯首页") |
| | | private Integer bannerType; |
| | | |
| | | @ApiModelProperty(value = "图片") |
| | | private String picUrl; |
| | | |
| | | @ApiModelProperty(value = "排序 数字越大,权重越大") |
| | | private Integer sortNum; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 视频表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_promotion_video") |
| | | @ApiModel(value = "PromotionVideo对象", description = "视频表") |
| | | public class PromotionVideo implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "视频id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "视频名称") |
| | | private String videoName; |
| | | |
| | | @ApiModelProperty(value = "视频链接") |
| | | private String videoUrl; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.domain.pojo; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.FieldFill; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableLogic; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import java.io.Serializable; |
| | | import java.math.BigDecimal; |
| | | import java.time.LocalDateTime; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | /** |
| | | * <p> |
| | | * 心愿求购表 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_promotion_wish_list") |
| | | @ApiModel(value = "PromotionWishList对象", description = "心愿求购表") |
| | | public class PromotionWishList implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "心愿求购id") |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private Long id; |
| | | |
| | | @ApiModelProperty(value = "商品名称") |
| | | private String goodsName; |
| | | |
| | | @ApiModelProperty(value = "期望价格") |
| | | private BigDecimal expectedPrice; |
| | | |
| | | @ApiModelProperty(value = "商品图片 ['a','b','c','d','e']") |
| | | private String goodsImageUrl; |
| | | |
| | | @ApiModelProperty(value = "备注") |
| | | private String remark; |
| | | |
| | | @ApiModelProperty(value = "平台回复") |
| | | private String replies; |
| | | |
| | | @ApiModelProperty(value = "创建者") |
| | | @TableField(value = "create_by", fill = FieldFill.INSERT) |
| | | private String createBy; |
| | | |
| | | @ApiModelProperty(value = "创建时间") |
| | | @TableField(value = "create_time", fill = FieldFill.INSERT) |
| | | private LocalDateTime createTime; |
| | | |
| | | @ApiModelProperty(value = "更新者") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private String updateBy; |
| | | |
| | | @ApiModelProperty(value = "更新时间") |
| | | @TableField(value = "update_time", fill = FieldFill.INSERT_UPDATE) |
| | | private LocalDateTime updateTime; |
| | | |
| | | @ApiModelProperty(value = "删除标志(0代表存在 1代表删除)") |
| | | @TableLogic |
| | | private Integer delFlag; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.handler; |
| | | |
| | | import com.baomidou.mybatisplus.core.handlers.MetaObjectHandler; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import java.time.LocalDateTime; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.apache.ibatis.reflection.MetaObject; |
| | | import org.springframework.stereotype.Component; |
| | | |
| | | /** |
| | | * 自动填充处理类 |
| | | * |
| | | * @author mitao |
| | | * @date 2024-05-16 |
| | | */ |
| | | @Slf4j |
| | | @Component |
| | | public class MyMetaObjectHandler implements MetaObjectHandler { |
| | | |
| | | @Override |
| | | public void insertFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("createBy", userName, metaObject); |
| | | fillValue("createTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | @Override |
| | | public void updateFill(MetaObject metaObject) { |
| | | // 获取当前登录用户 |
| | | String userName = SecurityUtils.getUsername(); |
| | | fillValue("updateBy", userName, metaObject); |
| | | fillValue("updateTime", LocalDateTime.now(), metaObject); |
| | | } |
| | | |
| | | private void fillValue(String fieldName, Object data, MetaObject metaObject) { |
| | | if (metaObject.hasSetter(fieldName)) { |
| | | // 值为空时设置默认值 |
| | | Object sidObj = getFieldValByName(fieldName, metaObject); |
| | | if (sidObj == null || "updateBy".equals(fieldName) || "updateTime".equals(fieldName)) { |
| | | setFieldValByName(fieldName, data, metaObject); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
New file |
| | |
| | | package com.ruoyi.promotion.mapper; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.Coupon; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface CouponMapper extends BaseMapper<Coupon> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.mapper; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.CouponMember; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券领取表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface CouponMemberMapper extends BaseMapper<CouponMember> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.mapper; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.PromotionBanner; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 轮播图表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface PromotionBannerMapper extends BaseMapper<PromotionBanner> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.mapper; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.PromotionVideo; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 视频表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface PromotionVideoMapper extends BaseMapper<PromotionVideo> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.mapper; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.PromotionWishList; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 心愿求购表 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface PromotionWishListMapper extends BaseMapper<PromotionWishList> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.CouponMember; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券领取表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface ICouponMemberService extends IService<CouponMember> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.Coupon; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface ICouponService extends IService<Coupon> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.PromotionBanner; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 轮播图表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IPromotionBannerService extends IService<PromotionBanner> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.PromotionVideo; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 视频表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IPromotionVideoService extends IService<PromotionVideo> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.PromotionWishList; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | |
| | | /** |
| | | * <p> |
| | | * 心愿求购表 服务类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | public interface IPromotionWishListService extends IService<PromotionWishList> { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service.impl; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.CouponMember; |
| | | import com.ruoyi.promotion.mapper.CouponMemberMapper; |
| | | import com.ruoyi.promotion.service.ICouponMemberService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券领取表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class CouponMemberServiceImpl extends ServiceImpl<CouponMemberMapper, CouponMember> implements ICouponMemberService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service.impl; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.Coupon; |
| | | import com.ruoyi.promotion.mapper.CouponMapper; |
| | | import com.ruoyi.promotion.service.ICouponService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 优惠券表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class CouponServiceImpl extends ServiceImpl<CouponMapper, Coupon> implements ICouponService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service.impl; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.PromotionBanner; |
| | | import com.ruoyi.promotion.mapper.PromotionBannerMapper; |
| | | import com.ruoyi.promotion.service.IPromotionBannerService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 轮播图表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class PromotionBannerServiceImpl extends ServiceImpl<PromotionBannerMapper, PromotionBanner> implements IPromotionBannerService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service.impl; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.PromotionVideo; |
| | | import com.ruoyi.promotion.mapper.PromotionVideoMapper; |
| | | import com.ruoyi.promotion.service.IPromotionVideoService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 视频表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class PromotionVideoServiceImpl extends ServiceImpl<PromotionVideoMapper, PromotionVideo> implements IPromotionVideoService { |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.promotion.service.impl; |
| | | |
| | | import com.ruoyi.promotion.domain.pojo.PromotionWishList; |
| | | import com.ruoyi.promotion.mapper.PromotionWishListMapper; |
| | | import com.ruoyi.promotion.service.IPromotionWishListService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 心愿求购表 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author mitao |
| | | * @since 2024-05-16 |
| | | */ |
| | | @Service |
| | | public class PromotionWishListServiceImpl extends ServiceImpl<PromotionWishListMapper, PromotionWishList> implements IPromotionWishListService { |
| | | |
| | | } |
New file |
| | |
| | | <?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.ruoyi.promotion.mapper.CouponMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.promotion.mapper.CouponMemberMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.promotion.mapper.PromotionBannerMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.promotion.mapper.PromotionVideoMapper"> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.ruoyi.promotion.mapper.PromotionWishListMapper"> |
| | | |
| | | </mapper> |
| | |
| | | <setting name="cacheEnabled" value="true"/> |
| | | <!-- 延迟加载的全局开关。当开启时,所有关联对象都会延迟加载。默认 false --> |
| | | <!-- <setting name="lazyLoadingEnabled" value="true"/> --> |
| | | <setting name="mapUnderscoreToCamelCase" value="false"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <setting name="mapUnderscoreToCamelCase" value="true"/><!--是否将map下划线方式转为驼峰式命名--> |
| | | <!-- 当开启时,任何方法的调用都会加载该对象的所有属性。默认 false,可通过select标签的 fetchType来覆盖--> |
| | | <!-- <setting name="aggressiveLazyLoading" value="false"/>--> |
| | | <!-- Mybatis 创建具有延迟加载能力的对象所用到的代理工具,默认JAVASSIST --> |