jiangqs
2023-05-29 39be10f603a0f8cb2e1a69ea8a1f5f8cb83303ff
微调
14个文件已修改
8个文件已添加
483 ■■■■■ 已修改文件
ruoyi-api/ruoyi-api-system/pom.xml 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysPasswordService.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-core/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-redis/pom.xml 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/listener/KeyExpirationEventMessageListener.java 46 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/listener/KeyspaceEventMessageListener.java 76 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/listener/RedisListener.java 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-goods/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/pom.xml 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberPageDto.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/Coupon.java 41 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberPageVo.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-order/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-shop/pom.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/pom.xml 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/DelayTask.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/DelayTaskMapper.java 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/DelayTaskService.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/DelayTaskServiceImpl.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/DelayTaskMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-system/pom.xml
@@ -23,17 +23,6 @@
            <artifactId>ruoyi-common-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysPasswordService.java
@@ -53,14 +53,14 @@
        if (retryCount >= Integer.valueOf(maxRetryCount).intValue())
        {
            String errMsg = String.format("密码输入错误%s次,帐户锁定%s分钟", maxRetryCount, lockTime);
            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL,errMsg);
            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL,errMsg,Constants.FROM_SYSTEM);
            throw new ServiceException(errMsg);
        }
        if (!matches(user, password))
        {
            retryCount = retryCount + 1;
            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, String.format("密码输入错误%s次", retryCount));
            recordLogService.recordLogininfor(username, Constants.LOGIN_FAIL, String.format("密码输入错误%s次", retryCount),Constants.FROM_SYSTEM);
            redisService.setCacheObject(getCacheKey(username), retryCount, lockTime, TimeUnit.MINUTES);
            throw new ServiceException("用户不存在/密码错误");
        }
ruoyi-common/ruoyi-common-core/pom.xml
@@ -113,6 +113,11 @@
            <artifactId>swagger-annotations</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
    </dependencies>
ruoyi-common/ruoyi-common-redis/pom.xml
@@ -21,6 +21,7 @@
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
            <version>3.1.0</version>
        </dependency>
        
        <!-- RuoYi Common Core-->
@@ -28,6 +29,17 @@
            <groupId>com.ruoyi</groupId>
            <artifactId>ruoyi-common-core</artifactId>
        </dependency>
        <!-- redis分布式锁框架 -->
        <dependency>
            <groupId>org.redisson</groupId>
            <artifactId>redisson</artifactId>
            <version>3.19.3</version>
        </dependency>
        <dependency>
            <groupId>org.apache.commons</groupId>
            <artifactId>commons-pool2</artifactId>
        </dependency>
    </dependencies>
</project>
ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/listener/KeyExpirationEventMessageListener.java
New file
@@ -0,0 +1,46 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.ruoyi.common.redis.listener;
import org.springframework.context.ApplicationEventPublisher;
import org.springframework.context.ApplicationEventPublisherAware;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.core.RedisKeyExpiredEvent;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.listener.Topic;
import org.springframework.lang.Nullable;
public class KeyExpirationEventMessageListener extends KeyspaceEventMessageListener implements ApplicationEventPublisherAware {
    private static final Topic KEYEVENT_EXPIRED_TOPIC = new PatternTopic("__keyevent@*__:expired");
    @Nullable
    private ApplicationEventPublisher publisher;
    public KeyExpirationEventMessageListener(RedisMessageListenerContainer listenerContainer) {
        super(listenerContainer);
    }
    @Override
    protected void doRegister(RedisMessageListenerContainer listenerContainer) {
        listenerContainer.addMessageListener(this, KEYEVENT_EXPIRED_TOPIC);
    }
    @Override
    protected void doHandleMessage(Message message) {
        this.publishEvent(new RedisKeyExpiredEvent(message.getBody()));
    }
    protected void publishEvent(RedisKeyExpiredEvent event) {
        if (this.publisher != null) {
            this.publisher.publishEvent(event);
        }
    }
    public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) {
        this.publisher = applicationEventPublisher;
    }
}
ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/listener/KeyspaceEventMessageListener.java
New file
@@ -0,0 +1,76 @@
//
// Source code recreated from a .class file by IntelliJ IDEA
// (powered by FernFlower decompiler)
//
package com.ruoyi.common.redis.listener;
import org.springframework.beans.factory.DisposableBean;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.connection.MessageListener;
import org.springframework.data.redis.connection.RedisConnection;
import org.springframework.data.redis.listener.PatternTopic;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.data.redis.listener.Topic;
import org.springframework.lang.Nullable;
import org.springframework.util.Assert;
import org.springframework.util.ObjectUtils;
import org.springframework.util.StringUtils;
import java.util.Properties;
public abstract class KeyspaceEventMessageListener implements MessageListener, InitializingBean, DisposableBean {
    private static final Topic TOPIC_ALL_KEYEVENTS = new PatternTopic("__keyevent@*");
    private final RedisMessageListenerContainer listenerContainer;
    private String keyspaceNotificationsConfigParameter = "EA";
    public KeyspaceEventMessageListener(RedisMessageListenerContainer listenerContainer) {
        Assert.notNull(listenerContainer, "RedisMessageListenerContainer to run in must not be null!");
        this.listenerContainer = listenerContainer;
    }
    @Override
    public void onMessage(Message message, @Nullable byte[] pattern) {
        if (message != null && !ObjectUtils.isEmpty(message.getChannel()) && !ObjectUtils.isEmpty(message.getBody())) {
            this.doHandleMessage(message);
        }
    }
    protected abstract void doHandleMessage(Message var1);
    public void init() {
        if (StringUtils.hasText(this.keyspaceNotificationsConfigParameter)) {
            RedisConnection connection = this.listenerContainer.getConnectionFactory().getConnection();
            try {
                Properties config = connection.getConfig("notify-keyspace-events");
                if (!StringUtils.hasText(config.getProperty("notify-keyspace-events"))) {
                    connection.setConfig("notify-keyspace-events", this.keyspaceNotificationsConfigParameter);
                }
            } finally {
                connection.close();
            }
        }
//        this.doRegister(this.listenerContainer);
    }
    protected void doRegister(RedisMessageListenerContainer container) {
        this.listenerContainer.addMessageListener(this, TOPIC_ALL_KEYEVENTS);
    }
    @Override
    public void destroy() throws Exception {
        this.listenerContainer.removeMessageListener(this);
    }
    public void setKeyspaceNotificationsConfigParameter(String keyspaceNotificationsConfigParameter) {
        this.keyspaceNotificationsConfigParameter = keyspaceNotificationsConfigParameter;
    }
    @Override
    public void afterPropertiesSet() throws Exception {
        this.init();
    }
}
ruoyi-common/ruoyi-common-redis/src/main/java/com/ruoyi/common/redis/listener/RedisListener.java
New file
@@ -0,0 +1,65 @@
package com.ruoyi.common.redis.listener;
import com.ruoyi.common.core.utils.DateUtils;
import com.ruoyi.common.core.utils.StringUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.data.redis.connection.Message;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.data.redis.core.ValueOperations;
import org.springframework.data.redis.listener.RedisMessageListenerContainer;
import org.springframework.stereotype.Component;
import java.util.Date;
@Slf4j
@Component
public class RedisListener extends KeyExpirationEventMessageListener {
    private RedisTemplate<String, Object> redisTemplate;
    public RedisListener(RedisMessageListenerContainer listenerContainer,
                         RedisTemplate redisTemplate) {
        super(listenerContainer);
        this.redisTemplate=redisTemplate;
    }
    @Override
    public void onMessage(Message message, byte[] pattern) {
        // 用户做自己的业务处理即可,注意message.toString()可以获取失效的key
        String expiredKey = message.toString();
        log.info("RedisListener key={}", expiredKey);
        String time= DateUtils.dateTime(new Date());
        try {
            if(StringUtils.isNotBlank(expiredKey)){
                if(expiredKey.contains("-")){
                    String[] split = expiredKey.split("-");
                    String operation=split[0];
                    //删除失效的key
                    redisTemplate.delete(expiredKey);
                }
            }
        }catch (Exception e){
            e.printStackTrace();
        }
    }
    public <T> T getAndSet(final String key, T value){
        T oldValue=null;
        try {
            ValueOperations<String, Object> operations = redisTemplate.opsForValue();
            oldValue =(T) operations.getAndSet(key, value);
        } catch (Exception e) {
            e.printStackTrace();
        }
        return oldValue;
    }
    //延时任务表
}
ruoyi-modules/ruoyi-goods/pom.xml
@@ -78,11 +78,6 @@
            <artifactId>ruoyi-common-swagger</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
ruoyi-modules/ruoyi-member/pom.xml
@@ -78,11 +78,7 @@
            <artifactId>ruoyi-common-swagger</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/management/MgtMemberController.java
@@ -2,9 +2,12 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.member.domain.dto.MgtMemberPageDto;
import com.ruoyi.member.domain.vo.MerMemberInfoVo;
import com.ruoyi.member.domain.vo.MgtMemberPageVo;
import com.ruoyi.member.service.member.MemberService;
import com.ruoyi.system.api.domain.dto.MerBaseGetDto;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@@ -34,7 +37,7 @@
    @RequestMapping(value = "/pageMgtMember", method = RequestMethod.POST)
    @ApiOperation(value = "分页获取用户列表")
    @ApiOperation(value = "分页获取会员列表")
    public R<Page<MgtMemberPageVo>> pageMgtMember(@RequestBody MgtMemberPageDto mgtMemberPageDto) {
        Page<MgtMemberPageVo> page = new Page<>();
        page.setSize(mgtMemberPageDto.getPageSize());
@@ -42,4 +45,12 @@
        List<MgtMemberPageVo> mgtShopPageVoList = memberService.pageMgtMember(page,mgtMemberPageDto);
        return R.ok(page.setRecords(mgtShopPageVoList));
    }
    @RequestMapping(value = "/editMemberRelationShop", method = RequestMethod.POST)
    @ApiOperation(value = "修改会员关联商户")
    public R<MerMemberInfoVo> getMerMemberInfo(@RequestBody MerBaseGetDto merBaseGetDto) {
        Long userId = SecurityUtils.getUserId();
        MerMemberInfoVo merMemberInfo = memberService.getMerMemberInfo(Long.valueOf(merBaseGetDto.getId()));
        return R.ok(merMemberInfo);
    }
}
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MgtMemberPageDto.java
@@ -69,6 +69,12 @@
    @ApiModelProperty(value = "活跃度id")
    private Long activenessId;
    @ApiModelProperty(value = "活跃度开始时间",hidden = true)
    private String actStartDate;
    @ApiModelProperty(value = "活跃度结束时间",hidden = true)
    private String actEndDate;
    @ApiModelProperty(value = "开始消费次数")
    private Integer startPayCount;
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/Coupon.java
@@ -117,6 +117,47 @@
    @TableField("update_user_id")
    private Long updateUserId;
    /**
     * 优惠券来源1平台2商户
     */
    @TableField("coupon_from")
    private Integer coupon_from;
    /**
     * 商户id
     */
    @TableField("shop_id")
    private Long shop_id;
    /**
     * 关联商品ids
     */
    @TableField("rel_goods_ids")
    private String rel_goods_ids;
    /**
     * 审核状态1申请中2审核通过3审核拒绝
     */
    @TableField("audit_status")
    private Integer audit_status;
    /**
     * 审核理由
     */
    @TableField("audit_reason")
    private String audit_reason;
    /**
     * 关联类型
     */
    @TableField("relation_type")
    private Integer relationType;
    /**
     * 关联活动id
     */
    @TableField("relation_activity_id")
    private String relationActivityId;
    @Override
    protected Serializable pkVal() {
ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MgtMemberPageVo.java
@@ -66,7 +66,7 @@
    @ApiModelProperty(value = "客户类型")
    private String goodsType;
    @ApiModelProperty(value = "客户类型")
    @ApiModelProperty(value = "关联商户名称")
    private String relationShopName;
    @ApiModelProperty(value = "积分")
ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml
@@ -218,6 +218,60 @@
        <if test="param.keyword != null and param.keyword != ''">
            AND (tm.member_no LIKE CONCAT('%',#{param.keyword},'%') OR tm.mobile LIKE CONCAT('%',#{param.keyword},'%') OR tm.real_name LIKE CONCAT('%',#{param.keyword},'%') OR tm.nick_name LIKE CONCAT('%',#{param.keyword},'%') OR FIND_IN_SET(tm.member_nurse,#{param.keyword}))
        </if>
        <if test="param.belongDistrict != null and param.belongDistrict != ''">
            AND tm.belong_district = #{param.belongDistrict}
        </if>
        <if test="param.createTime != null and param.createTime != ''">
            AND tm.create_time = #{param.createTime}
        </if>
        <if test="param.lastPayTime != null and param.lastPayTime != ''">
            AND tmt.last_pay_time = #{param.lastPayTime}
        </if>
        <if test="param.memberFlag != null and param.memberFlag != ''">
            AND tmt.binding_flag = #{param.memberFlag}
        </if>
        <if test="param.goodsType != null and param.goodsType != ''">
            AND FIND_IN_SET(tm.goods_type,#{param.goodsType})
        </if>
        <if test="param.relationShopId != null and param.relationShopId != ''">
            AND tm.relation_shop_id = #{param.relationShopId}
        </if>
        <if test="param.memberFrom != null and param.memberFrom != ''">
            AND tm.customer_source = #{param.memberFrom}
        </if>
        <if test="param.referrer != null and param.referrer != ''">
            AND tm.referrer = #{param.referrer}
        </if>
        <if test="param.gender != null">
            AND tm.gender = #{param.gender}
        </if>
        <if test="param.startBirthday != null and param.startBirthday != ''">
            AND tm.birthday &gt;= #{param.startBirthday}
        </if>
        <if test="param.endBirthday != null and param.endBirthday != ''">
            AND tm.birthday &lt;= #{param.endBirthday}
        </if>
        <if test="param.startIntegral != null and param.startIntegral != ''">
            AND tmt.total_integral &gt;= #{param.startIntegral}
        </if>
        <if test="param.endIntegral != null and param.endIntegral != ''">
            AND tmt.total_integral &lt;= #{param.endIntegral}
        </if>
        <if test="param.actStartDate != null and param.actStartDate != ''">
            AND tmt.last_pay_time &gt;= #{param.actStartDate}
        </if>
        <if test="param.actEndDate != null and param.actEndDate != ''">
            AND tmt.last_pay_time &lt;= #{param.actEndDate}
        </if>
        <if test="param.startPayCount != null and param.startPayCount != ''">
            AND tmt.total_pay_count &gt;= #{param.startPayCount}
        </if>
        <if test="param.endPayCount != null and param.endPayCount != ''">
            AND tmt.total_pay_count &lt;= #{param.endPayCount}
        </if>
        <if test="param.memberTag != null and param.memberTag != ''">
            AND FIND_IN_SET( tm.user_tags,#{param.memberTag})
        </if>
    </select>
    
</mapper>
ruoyi-modules/ruoyi-order/pom.xml
@@ -78,11 +78,6 @@
            <artifactId>ruoyi-common-swagger</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
ruoyi-modules/ruoyi-shop/pom.xml
@@ -78,11 +78,6 @@
            <artifactId>ruoyi-common-swagger</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
ruoyi-modules/ruoyi-system/pom.xml
@@ -78,11 +78,6 @@
            <artifactId>ruoyi-common-swagger</artifactId>
        </dependency>
        <!-- lombok -->
        <dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
        </dependency>
        <dependency>
            <groupId>com.baomidou</groupId>
@@ -122,6 +117,8 @@
            <version>5.8.2</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/domain/pojo/config/DelayTask.java
New file
@@ -0,0 +1,59 @@
package com.ruoyi.system.domain.pojo.config;
import java.util.Date;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotation.TableName;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
 * <p>
 *
 * </p>
 *
 * @author jqs
 * @since 2023-05-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("t_delay_task")
public class DelayTask extends Model<DelayTask> {
    private static final long serialVersionUID = 1L;
    /**
     * 延时任务id
     */
    @TableId(value = "task_id", type = IdType.AUTO)
    private Integer taskId;
    /**
     * 删除标记
     */
    @TableField("del_flag")
    private Integer delFlag;
    /**
     * 键值
     */
    @TableField("redis_key")
    private String redisKey;
    /**
     * 执行时间
     */
    @TableField("end_time")
    private Date endTime;
    @Override
    protected Serializable pkVal() {
        return this.taskId;
    }
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/mapper/config/DelayTaskMapper.java
New file
@@ -0,0 +1,16 @@
package com.ruoyi.system.mapper.config;
import com.ruoyi.system.domain.pojo.config.DelayTask;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
 * <p>
 *  Mapper 接口
 * </p>
 *
 * @author jqs
 * @since 2023-05-29
 */
public interface DelayTaskMapper extends BaseMapper<DelayTask> {
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/config/DelayTaskService.java
New file
@@ -0,0 +1,17 @@
package com.ruoyi.system.service.config;
import com.ruoyi.system.domain.pojo.config.DelayTask;
import com.baomidou.mybatisplus.extension.service.IService;
;
/**
 * <p>
 *  服务类
 * </p>
 *
 * @author jqs
 * @since 2023-05-29
 */
public interface DelayTaskService extends IService<DelayTask> {
}
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/DelayTaskServiceImpl.java
New file
@@ -0,0 +1,20 @@
package com.ruoyi.system.service.impl.config;
import com.ruoyi.system.domain.pojo.config.DelayTask;
import com.ruoyi.system.mapper.config.DelayTaskMapper;
import com.ruoyi.system.service.config.DelayTaskService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.stereotype.Service;
/**
 * <p>
 *  服务实现类
 * </p>
 *
 * @author jqs
 * @since 2023-05-29
 */
@Service
public class DelayTaskServiceImpl extends ServiceImpl<DelayTaskMapper, DelayTask> implements DelayTaskService {
}
ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/DelayTaskMapper.xml
New file
@@ -0,0 +1,6 @@
<?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.system.mapper.config.DelayTaskMapper">
</mapper>