xuhy
2025-11-03 885d148014791ec5f7eef0aa483a2f431fce57ed
新增
18个文件已添加
13个文件已修改
1017 ■■■■■ 已修改文件
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSupplierController.java 14 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSupplierVerifyController.java 146 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysNoticeController.java 139 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOtherConfigController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysNoticeController.java 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/dto/TCrmSupplierVerifyDTO.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCrmSupplierVerifyMapper.java 27 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysNoticeMapper.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSupplier.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSupplierVerify.java 67 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysNotice.java 59 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysOtherConfig.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysQualifications.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TCrmSupplierQuery.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TCrmSupplierVerifyQuery.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TSysNoticeQuery.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TCrmSupplierVerifyService.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysNoticeService.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierVerifyServiceImpl.java 33 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysNoticeServiceImpl.java 47 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSupplierVerifyVO.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysNoticeVO.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TCrmSupplierMapper.xml 22 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TCrmSupplierVerifyMapper.xml 43 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TSysNoticeMapper.xml 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TSysOtherConfigMapper.xml 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TSysQualificationsMapper.xml 4 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSupplierController.java
@@ -115,6 +115,16 @@
    }
    /**
     * 查看crm供应商管理详情
     */
    @ApiOperation(value = "查看crm供应商管理资质证照")
    @GetMapping(value = "/getDetailQualificationById")
    public R<TCrmSupplier> getDetailQualificationById(@RequestParam String id) {
        TCrmSupplier crmSupplier = crmSupplierService.getById(id);
        return R.ok(crmSupplier);
    }
    /**
     * 删除crm供应商管理
     */
    @Log(title = "crm供应商管理信息-删除crm供应商管理", businessType = BusinessType.DELETE)
@@ -148,9 +158,11 @@
    @ApiOperation(value = "供应商管理解冻冻结",notes = "状态 1=使用中 2=冻结")
    @PutMapping(value = "/thawOrFreeze")
    public R<Boolean> thawOrFreeze(@RequestParam(value = "id")String id,
                                   @RequestParam(value = "status")Integer status) {
                                   @RequestParam(value = "status")Integer status,
                                   @RequestParam(value = "freezingReason",required = false)String freezingReason) {
        TCrmSupplier crmSupplier = crmSupplierService.getById(id);
        crmSupplier.setStatus(status);
        crmSupplier.setFreezingReason(freezingReason);
        crmSupplierService.updateById(crmSupplier);
        // 查询用户
        SysUser sysUser = sysUserService.selectUserById(crmSupplier.getUserId());
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TCrmSupplierVerifyController.java
New file
@@ -0,0 +1,146 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.dto.TCrmSupplierVerifyDTO;
import com.ruoyi.system.model.TCrmSupplier;
import com.ruoyi.system.model.TCrmSupplierVerify;
import com.ruoyi.system.query.TCrmSupplierVerifyQuery;
import com.ruoyi.system.service.TCrmSupplierService;
import com.ruoyi.system.service.TCrmSupplierVerifyService;
import com.ruoyi.system.vo.TCrmSupplierVerifyVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
 * 供应商资质核查 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
@Api(tags = "供应商资质核查")
@RestController
@RequestMapping("/t-crm-supplier-verify")
public class TCrmSupplierVerifyController {
    private final TCrmSupplierVerifyService crmSupplierVerifyService;
    private final TokenService tokenService;
    private final TCrmSupplierService crmSupplierService;
    @Autowired
    public TCrmSupplierVerifyController(TCrmSupplierVerifyService crmSupplierVerifyService, TokenService tokenService, TCrmSupplierService crmSupplierService) {
        this.crmSupplierVerifyService = crmSupplierVerifyService;
        this.tokenService = tokenService;
        this.crmSupplierService = crmSupplierService;
    }
    /**
     * 获取供应商资质核查管理列表
     */
    @ApiOperation(value = "获取供应商资质核查分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TCrmSupplierVerifyVO>> pageList(@RequestBody TCrmSupplierVerifyQuery query) {
        return R.ok(crmSupplierVerifyService.pageList(query));
    }
    /**
     * 查看供应商资质核查详情
     */
    @ApiOperation(value = "查看供应商资质核查详情")
    @GetMapping(value = "/getDetailById")
    public R<TCrmSupplierVerifyVO> getDetailById(@RequestParam String id) {
        TCrmSupplierVerify crmSupplierVerify = crmSupplierVerifyService.getById(id);
        if (crmSupplierVerify == null) {
            return R.fail("供应商资质核查不存在");
        }
        TCrmSupplierVerifyVO tCrmSupplierVerifyVO = new TCrmSupplierVerifyVO();
        BeanUtils.copyProperties(crmSupplierVerify, tCrmSupplierVerifyVO);
        // 查询供应商信息
        TCrmSupplier crmSupplier = crmSupplierService.getById(crmSupplierVerify.getSupplierId());
        tCrmSupplierVerifyVO.setCrmSupplier(crmSupplier);
        return R.ok(tCrmSupplierVerifyVO);
    }
    /**
     * 查看供应商资质核查详情
     */
    @Log(title = "供应商资质核查-核查", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "供应商资质核查")
    @GetMapping(value = "/supplierVerify")
    public R<String> supplierVerify(@RequestBody TCrmSupplierVerifyDTO dto) {
        TCrmSupplierVerify crmSupplierVerify = crmSupplierVerifyService.getById(dto.getId());
        if (crmSupplierVerify == null) {
            return R.fail("供应商资质核查不存在");
        }
        String nickName = tokenService.getLoginUser().getUser().getNickName();
        crmSupplierVerify.setStatus(dto.getStatus());
        crmSupplierVerify.setVerifyTime(LocalDate.now());
        crmSupplierVerify.setOperationName(nickName);
        crmSupplierVerify.setOperationTime(LocalDateTime.now());
        crmSupplierVerify.setVerifyRemark(dto.getVerifyRemark());
        crmSupplierVerifyService.updateById(crmSupplierVerify);
        return R.ok();
    }
    /**
     * 查看供应商资质核查详情
     */
    @Log(title = "供应商资质核查-批量核查", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "供应商资质批量核查")
    @GetMapping(value = "/supplierVerifyBatch")
    public R<String> supplierVerifyBatch(@RequestBody TCrmSupplierVerifyDTO dto) {
        if(CollectionUtils.isEmpty(dto.getIds())){
            return R.fail("请选择要核查的供应商资质");
        }
        List<TCrmSupplierVerify> crmSupplierVerifyList = crmSupplierVerifyService.list(Wrappers.lambdaQuery(TCrmSupplierVerify.class)
                .in(TCrmSupplierVerify::getId, dto.getIds()));
        if (CollectionUtils.isEmpty(crmSupplierVerifyList)) {
            return R.fail("供应商资质核查不存在");
        }
        String nickName = tokenService.getLoginUser().getUser().getNickName();
        for (TCrmSupplierVerify crmSupplierVerify : crmSupplierVerifyList) {
            crmSupplierVerify.setStatus(dto.getStatus());
            crmSupplierVerify.setVerifyTime(LocalDate.now());
            crmSupplierVerify.setOperationName(nickName);
            crmSupplierVerify.setOperationTime(LocalDateTime.now());
            crmSupplierVerify.setVerifyRemark(dto.getVerifyRemark());
        }
        crmSupplierVerifyService.updateBatchById(crmSupplierVerifyList);
        return R.ok();
    }
    /**
     * 删除供应商资质核查
     */
    @Log(title = "供应商资质核查信息-删除供应商资质核查", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除供应商资质核查")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(crmSupplierVerifyService.removeById(id));
    }
    /**
     * 批量删除供应商资质核查
     */
    @Log(title = "供应商资质核查信息-删除供应商资质核查", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除供应商资质核查")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(crmSupplierVerifyService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysNoticeController.java
New file
@@ -0,0 +1,139 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TSysNotice;
import com.ruoyi.system.query.TSysNoticeQuery;
import com.ruoyi.system.service.TSysNoticeService;
import com.ruoyi.system.vo.TSysNoticeVO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
 * 公告管理 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
@Api(tags = "公告管理")
@RestController
@RequestMapping("/t-sys-notice")
public class TSysNoticeController {
    private final TSysNoticeService sysNoticeService;
    private final TokenService tokenService;
    @Autowired
    public TSysNoticeController(TSysNoticeService sysNoticeService, TokenService tokenService) {
        this.sysNoticeService = sysNoticeService;
        this.tokenService = tokenService;
    }
    /**
     * 获取公告管理管理列表
     */
    @ApiOperation(value = "获取公告管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TSysNoticeVO>> pageList(@RequestBody TSysNoticeQuery query) {
        return R.ok(sysNoticeService.pageList(query));
    }
    /**
     * 获取公告管理管理列表
     */
    @ApiOperation(value = "获取公告管理列表-诊所-供应商使用")
    @PostMapping(value = "/list")
    public R<List<TSysNotice>> list() {
        Integer roleType = tokenService.getLoginUser().getUser().getRoleType();
        if(roleType == 4){
            // 供应商
            List<TSysNotice> list = sysNoticeService.list(Wrappers.lambdaQuery(TSysNotice.class)
                    .like(TSysNotice::getDisplayLocation, 1)
                    .eq(TSysNotice::getStatus, 1)
                    .le(TSysNotice::getStartTime, LocalDateTime.now())
                    .ge(TSysNotice::getEndTime, LocalDateTime.now())
                    .orderByDesc(TSysNotice::getCreateTime));
            return R.ok(list);
        }
        if(roleType == 5){
            // 诊所
            List<TSysNotice> list = sysNoticeService.list(Wrappers.lambdaQuery(TSysNotice.class)
                    .like(TSysNotice::getDisplayLocation, 2)
                    .eq(TSysNotice::getStatus, 1)
                    .le(TSysNotice::getStartTime, LocalDateTime.now())
                    .ge(TSysNotice::getEndTime, LocalDateTime.now())
                    .orderByDesc(TSysNotice::getCreateTime));
            return R.ok(list);
        }
        return R.ok();
    }
    /**
     * 添加公告管理管理
     */
    @Log(title = "公告管理信息-新增公告管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加公告管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TSysNotice dto) {
        if (sysNoticeService.isExit(dto)) {
            return R.fail("公告标题已存在");
        }
        return R.ok(sysNoticeService.save(dto));
    }
    /**
     * 修改公告管理
     */
    @Log(title = "公告管理信息-修改公告管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改公告管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TSysNotice dto) {
        if (sysNoticeService.isExit(dto)) {
            return R.fail("公告标题已存在");
        }
        return R.ok(sysNoticeService.updateById(dto));
    }
    /**
     * 查看公告管理详情
     */
    @ApiOperation(value = "查看公告管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TSysNotice> getDetailById(@RequestParam String id) {
        return R.ok(sysNoticeService.getById(id));
    }
    /**
     * 删除公告管理
     */
    @Log(title = "公告管理信息-删除公告管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除公告管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(sysNoticeService.removeById(id));
    }
    /**
     * 批量删除公告管理
     */
    @Log(title = "公告管理信息-删除公告管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除公告管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(sysNoticeService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysOtherConfigController.java
@@ -48,5 +48,20 @@
        TSysOtherConfig sysConfig = sysOtherConfigService.getById(1);
        return R.ok(sysConfig);
    }
    /**
     * 修改其他设置
     */
    @Log(title = "供应商资质核查-修改核查周期", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改核查周期")
    @PostMapping(value = "/updateVerify")
    public R<Boolean> updateVerify(@RequestParam(value = "verifyValue") Integer verifyValue,
                                   @RequestParam(value = "verifyUnit") Integer verifyUnit) {
        TSysOtherConfig sysConfig = sysOtherConfigService.getById(1);
        sysConfig.setVerifyValue(verifyValue);
        sysConfig.setVerifyUnit(verifyUnit);
        return R.ok();
    }
}
ruoyi-applet/src/main/java/com/ruoyi/web/controller/api/TSysNoticeController.java
New file
@@ -0,0 +1,55 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.model.TSysNotice;
import com.ruoyi.system.service.TSysNoticeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.time.LocalDateTime;
import java.util.List;
/**
 * <p>
 * 公告管理 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
@Api(tags = "公告管理")
@RestController
@RequestMapping("/t-sys-notice")
public class TSysNoticeController {
    private final TSysNoticeService sysNoticeService;
    private final TokenService tokenService;
    @Autowired
    public TSysNoticeController(TSysNoticeService sysNoticeService, TokenService tokenService) {
        this.sysNoticeService = sysNoticeService;
        this.tokenService = tokenService;
    }
    /**
     * 获取公告管理管理列表
     */
    @ApiOperation(value = "获取公告管理列表")
    @PostMapping(value = "/list")
    public R<List<TSysNotice>> list() {
        List<TSysNotice> list = sysNoticeService.list(Wrappers.lambdaQuery(TSysNotice.class)
                .like(TSysNotice::getDisplayLocation, 3)
                .eq(TSysNotice::getStatus, 1)
                .le(TSysNotice::getStartTime, LocalDateTime.now())
                .ge(TSysNotice::getEndTime, LocalDateTime.now())
                .orderByDesc(TSysNotice::getCreateTime));
        return R.ok(list);
    }
}
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
@@ -123,7 +123,7 @@
                        "/t-sys-banner/pageList","/t-sys-banner/list","/t-sys-product-introduction/pageList",
                        "/t-sys-product-introduction/list","/t-sys-product-introduction/getDetailById","/t-sys-config/getDetailById",
                        "/t-sys-educational-info/list","/t-sys-educational-info/getDetailById","/t-sys-educational-info/pageList",
                        "/t-sys-live/list","/t-sys-live/getDetailById","/t-sys-live/pageList",
                        "/t-sys-live/list","/t-sys-live/getDetailById","/t-sys-live/pageList","/t-sys-qualifications/list",
                        "/open/**","/cos/get/**","/openIdByJsCode","/t-sys-order/**","/openIdByCode","/tRegion/sendTest"
                ).permitAll()
                // 静态资源,可匿名访问
ruoyi-system/src/main/java/com/ruoyi/system/domain/SysOperLog.java
@@ -6,6 +6,7 @@
import cn.afterturn.easypoi.excel.annotation.Excel;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
/**
 * 操作日志记录表 oper_log
@@ -21,10 +22,12 @@
    private Long operId;
    /** 操作模块 */
    @ApiModelProperty(value = "操作模块 标题")
    @Excel(name = "操作模块")
    private String title;
    /** 业务类型(0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据) */
    @ApiModelProperty(value = "业务类型(0=其它,1=新增,2=修改,3=删除,4=授权,5=导出,6=导入,7=强退,8=生成代码,9=清空数据) ")
    @Excel(name = "业务类型")
    private Integer businessType;
@@ -36,14 +39,17 @@
    private String method;
    /** 请求方式 */
    @ApiModelProperty(value = "请求方式")
    @Excel(name = "请求方式")
    private String requestMethod;
    /** 操作类别(0其它 1后台用户 2手机端用户) */
    @ApiModelProperty(value = "操作类别(0其它 1后台用户 2手机端用户)")
    @Excel(name = "操作类别")
    private Integer operatorType;
    /** 操作人员 */
    @ApiModelProperty(value = "操作人员账号")
    @Excel(name = "操作人员")
    private String operName;
@@ -56,10 +62,12 @@
    private String operUrl;
    /** 操作地址 */
    @ApiModelProperty(value = "操作地址IP")
    @Excel(name = "操作地址")
    private String operIp;
    /** 操作地点 */
    @ApiModelProperty(value = "操作地点")
    @Excel(name = "操作地点")
    private String operLocation;
@@ -72,6 +80,7 @@
    private String jsonResult;
    /** 操作状态(0正常 1异常) */
    @ApiModelProperty(value = "状态 0正常 1异常")
    @Excel(name = "状态")
    private Integer status;
@@ -80,6 +89,7 @@
    private String errorMsg;
    /** 操作时间 */
    @ApiModelProperty(value = "操作时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "操作时间", width = 30, exportFormat = "yyyy-MM-dd HH:mm:ss")
    private Date operTime;
@@ -97,6 +107,7 @@
    private String phonenumber;
    @Excel(name = "用户id")
    private Long userId;
    @ApiModelProperty(value = "操作人员名称")
    @Excel(name = "操作人员名称")
    private String nickName;
ruoyi-system/src/main/java/com/ruoyi/system/dto/TCrmSupplierVerifyDTO.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.system.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.List;
@Data
@ApiModel(value = "供应商资质核查TCrmSupplierVerifyDTO")
public class TCrmSupplierVerifyDTO implements Serializable {
    @ApiModelProperty(value = "核查id集合")
    private List<String> ids;
    @ApiModelProperty(value = "核查id")
    private String id;
    @ApiModelProperty(value = "核查状态 1=未核查 2=已核查")
    private Integer status;
    @ApiModelProperty(value = "核查备注")
    private String verifyRemark;
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TCrmSupplierVerifyMapper.java
New file
@@ -0,0 +1,27 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TCrmSupplierVerify;
import com.ruoyi.system.query.TCrmSupplierVerifyQuery;
import com.ruoyi.system.vo.TCrmSupplierVerifyVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 供应商资质核查 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
public interface TCrmSupplierVerifyMapper extends BaseMapper<TCrmSupplierVerify> {
    /**
     * 获取供应商资质核查列表
     */
    List<TCrmSupplierVerifyVO> pageList(@Param("query") TCrmSupplierVerifyQuery query, @Param("pageInfo")PageInfo<TCrmSupplierVerifyVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysNoticeMapper.java
New file
@@ -0,0 +1,26 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TSysNotice;
import com.ruoyi.system.query.TSysNoticeQuery;
import com.ruoyi.system.vo.TSysNoticeVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
 * 公告管理 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
public interface TSysNoticeMapper extends BaseMapper<TSysNotice> {
    /**
     * 获取公告管理列表
     */
    List<TSysNoticeVO> pageList(@Param("query") TSysNoticeQuery query, @Param("pageInfo")PageInfo<TSysNoticeVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSupplier.java
@@ -80,4 +80,48 @@
    @TableField("warehouse_id")
    private String warehouseId;
    @ApiModelProperty(value = "冻结原因")
    @TableField("freezing_reason")
    private String freezingReason;
    @ApiModelProperty(value = "统一社会信用代码")
    @TableField("credit_code")
    private String creditCode;
    @ApiModelProperty(value = "经营地址")
    @TableField("business_address")
    private String businessAddress;
    @ApiModelProperty(value = "经营方式")
    @TableField("business_model")
    private String businessModel;
    @ApiModelProperty(value = "经营范围")
    @TableField("business_nature")
    private String businessNature;
    @ApiModelProperty(value = "联系人住址")
    @TableField("contact_person_address")
    private String contactPersonAddress;
    @ApiModelProperty(value = "经营品类 ,逗号分割 1=药品 2=食品 3=消毒品 4=医疗器械")
    @TableField("business_category")
    private String businessCategory;
    @ApiModelProperty(value = "医疗器械类,逗号分割 1=一类 2=二类 3=三类")
    @TableField("medical_devices")
    private String medicalDevices;
    @ApiModelProperty(value = "身份证正面")
    @TableField("front_side")
    private String frontSide;
    @ApiModelProperty(value = "身份证反面")
    @TableField("reverse_side")
    private String reverseSide;
    @ApiModelProperty(value = "供应商唯一标识ID")
    @TableField("unique_identifier_id")
    private String uniqueIdentifierId;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TCrmSupplierVerify.java
New file
@@ -0,0 +1,67 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
 * <p>
 * 供应商资质核查
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_crm_supplier_verify")
@ApiModel(value="TCrmSupplierVerify对象", description="供应商资质核查")
public class TCrmSupplierVerify implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "供应商id")
    @TableField("supplier_id")
    private String supplierId;
    @ApiModelProperty(value = "核查状态 1=未核查 2=已核查")
    @TableField("status")
    private Integer status;
    @ApiModelProperty(value = "核查备注")
    @TableField("verify_remark")
    private String verifyRemark;
    @ApiModelProperty(value = "生成时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField("generate_time")
    private LocalDate generateTime;
    @ApiModelProperty(value = "核查时间")
    @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
    @TableField("verify_time")
    private LocalDate verifyTime;
    @ApiModelProperty(value = "操作人")
    @TableField("operation_name")
    private String operationName;
    @ApiModelProperty(value = "操作时间")
    @TableField("operation_time")
    private LocalDateTime operationTime;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysNotice.java
New file
@@ -0,0 +1,59 @@
package com.ruoyi.system.model;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.core.domain.BaseModel;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
 * <p>
 * 公告管理
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_sys_notice")
@ApiModel(value="TSysNotice对象", description="公告管理")
public class TSysNotice extends BaseModel {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.ASSIGN_ID)
    private String id;
    @ApiModelProperty(value = "公告标题")
    @TableField("notice_title")
    private String noticeTitle;
    @ApiModelProperty(value = "展示位置,逗号分割 1=供应商 2=诊所 3=患者 ")
    @TableField("display_location")
    private String displayLocation;
    @ApiModelProperty(value = "公告内容")
    @TableField("notice_content")
    private String noticeContent;
    @ApiModelProperty(value = "开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("start_time")
    private LocalDateTime startTime;
    @ApiModelProperty(value = "结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("end_time")
    private LocalDateTime endTime;
    @ApiModelProperty(value = "启用状态 1=启用 2=禁用")
    @TableField("status")
    private Integer status;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysOtherConfig.java
@@ -55,5 +55,12 @@
    @TableField("delivery_time")
    private Integer deliveryTime;
    @ApiModelProperty(value = "供应商核查的周期值")
    @TableField("verify_value")
    private Integer verifyValue;
    @ApiModelProperty(value = "核查周期单位 1=天 2=月 3=年(365)")
    @TableField("verify_unit")
    private Integer verifyUnit;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysQualifications.java
@@ -37,6 +37,14 @@
    @TableField("qualifications_content")
    private String qualificationsContent;
    @ApiModelProperty(value = "类型 1=富文本 2=链接")
    @TableField("qualifications_type")
    private Integer qualificationsType;
    @ApiModelProperty(value = "备案号")
    @TableField("record_number")
    private String recordNumber;
    @ApiModelProperty(value = "状态 1=上架 2=下架")
    @TableField("status")
    private Integer status;
ruoyi-system/src/main/java/com/ruoyi/system/query/SysOperLogQuery.java
@@ -1,13 +1,19 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import com.ruoyi.common.core.domain.model.TimeRangeQueryBody;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "操作日志查询query")
public class SysOperLogQuery extends BasePage {
public class SysOperLogQuery extends TimeRangeQueryBody {
    @ApiModelProperty(value = "操作模块")
    private String title;
    @ApiModelProperty(value = "操作人员")
    private String nickName;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TCrmSupplierQuery.java
@@ -22,4 +22,6 @@
    @ApiModelProperty(value = "状态 1=使用中 2=冻结")
    private Integer status;
    @ApiModelProperty(value = "供应商唯一标识ID")
    private String uniqueIdentifierId;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TCrmSupplierVerifyQuery.java
New file
@@ -0,0 +1,24 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "供应商资质核查查询参数TCrmSupplierVerifyQuery")
public class TCrmSupplierVerifyQuery extends BasePage {
    @ApiModelProperty(value = "供应商名称")
    private String supplierName;
    @ApiModelProperty(value = "供应商联系人")
    private String supplierContact;
    @ApiModelProperty(value = "联系电话")
    private String phone;
    @ApiModelProperty(value = "核查状态 1=未核查 2=已核查")
    private Integer status;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TSysNoticeQuery.java
New file
@@ -0,0 +1,21 @@
package com.ruoyi.system.query;
import com.ruoyi.common.core.domain.BasePage;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "公告管理查询参数TSysNoticeQuery")
public class TSysNoticeQuery extends BasePage {
    @ApiModelProperty(value = "公告标题")
    private String noticeTitle;
    @ApiModelProperty(value = "显示状态 1=未开始 2=展示中 3=已结束")
    private Integer showStatus;
    @ApiModelProperty(value = "启用状态 1=启用 2=禁用")
    private Integer status;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TCrmSupplierVerifyService.java
New file
@@ -0,0 +1,25 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TCrmSupplierVerify;
import com.ruoyi.system.query.TCrmSupplierVerifyQuery;
import com.ruoyi.system.vo.TCrmSupplierVerifyVO;
/**
 * <p>
 * 供应商资质核查 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
public interface TCrmSupplierVerifyService extends IService<TCrmSupplierVerify> {
    /**
     * 获取供应商资质核查分页列表
     * @param query
     * @return
     */
    PageInfo<TCrmSupplierVerifyVO> pageList(TCrmSupplierVerifyQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysNoticeService.java
New file
@@ -0,0 +1,32 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TSysNotice;
import com.ruoyi.system.query.TSysNoticeQuery;
import com.ruoyi.system.vo.TSysNoticeVO;
/**
 * <p>
 * 公告管理 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
public interface TSysNoticeService extends IService<TSysNotice> {
    /**
     * 判断是否存在
     * @param dto
     * @return
     */
    boolean isExit(TSysNotice dto);
    /**
     * 获取公告管理分页列表
     * @param query
     * @return
     */
    PageInfo<TSysNoticeVO> pageList(TSysNoticeQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TCrmSupplierVerifyServiceImpl.java
New file
@@ -0,0 +1,33 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.mapper.TCrmSupplierVerifyMapper;
import com.ruoyi.system.model.TCrmSupplierVerify;
import com.ruoyi.system.query.TCrmSupplierVerifyQuery;
import com.ruoyi.system.service.TCrmSupplierVerifyService;
import com.ruoyi.system.vo.TCrmDeviceVO;
import com.ruoyi.system.vo.TCrmSupplierVerifyVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 供应商资质核查 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
@Service
public class TCrmSupplierVerifyServiceImpl extends ServiceImpl<TCrmSupplierVerifyMapper, TCrmSupplierVerify> implements TCrmSupplierVerifyService {
    @Override
    public PageInfo<TCrmSupplierVerifyVO> pageList(TCrmSupplierVerifyQuery query) {
        PageInfo<TCrmSupplierVerifyVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TCrmSupplierVerifyVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysNoticeServiceImpl.java
New file
@@ -0,0 +1,47 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.entity.SysRole;
import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.system.mapper.TSysNoticeMapper;
import com.ruoyi.system.model.TSysNotice;
import com.ruoyi.system.model.TSysNotice;
import com.ruoyi.system.query.TSysNoticeQuery;
import com.ruoyi.system.service.TSysNoticeService;
import com.ruoyi.system.vo.TSysNoticeVO;
import org.springframework.stereotype.Service;
import java.util.List;
/**
 * <p>
 * 公告管理 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2025-11-03
 */
@Service
public class TSysNoticeServiceImpl extends ServiceImpl<TSysNoticeMapper, TSysNotice> implements TSysNoticeService {
    @Override
    public boolean isExit(TSysNotice dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TSysNotice.class).ne(TSysNotice::getId, dto.getId()).eq(TSysNotice::getNoticeTitle, dto.getNoticeTitle())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TSysNotice.class).eq(TSysNotice::getNoticeTitle, dto.getNoticeTitle())) > 0;
        }
    }
    @Override
    public PageInfo<TSysNoticeVO> pageList(TSysNoticeQuery query) {
        PageInfo<TSysNoticeVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TSysNoticeVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TCrmSupplierVerifyVO.java
New file
@@ -0,0 +1,28 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TCrmSupplier;
import com.ruoyi.system.model.TCrmSupplierVerify;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value="供应商资质核查TCrmSupplierVerifyVO")
public class TCrmSupplierVerifyVO extends TCrmSupplierVerify {
    @ApiModelProperty(value = "供应商信息 详情使用")
    private TCrmSupplier crmSupplier;
    @ApiModelProperty(value = "供应商名称")
    private String supplierName;
    @ApiModelProperty(value = "供应商联系人")
    private String supplierContact;
    @ApiModelProperty(value = "联系电话")
    private String phone;
    @ApiModelProperty(value = "备注")
    private String remarks;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysNoticeVO.java
New file
@@ -0,0 +1,15 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TSysNotice;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "公告管理视图对象TSysNoticeVO")
public class TSysNoticeVO extends TSysNotice {
    @ApiModelProperty(value = "显示状态 1=未开始 2=展示中 3=已结束")
    private String showStatus;
}
ruoyi-system/src/main/resources/mapper/system/SysOperLogMapper.xml
@@ -92,6 +92,18 @@
               sol.oper_time AS operTime, sol.cost_time AS costTime,sol.companyName AS companyName,sol.roleName AS roleName,sol.phonenumber AS phonenumber,
               sol.userId AS userId,sol.nickName AS nickName
        from sys_oper_log sol
        <where>
            <if test="query.nickName != null and query.nickName != ''">
                AND sol.nickName like concat('%', #{query.nickName}, '%')
            </if>
            <if test="query.title != null and query.title != ''">
                AND sol.title like concat('%', #{query.title}, '%')
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                AND sol.oper_time &gt;= #{query.startTime}
                AND sol.oper_time &lt;= #{query.endTime}
            </if>
        </where>
        ORDER BY sol.oper_time DESC
    </select>
ruoyi-system/src/main/resources/mapper/system/TCrmSupplierMapper.xml
@@ -15,6 +15,17 @@
        <result column="qualification_picture" property="qualificationPicture" />
        <result column="status" property="status" />
        <result column="warehouse_id" property="warehouseId" />
        <result column="freezing_reason" property="freezingReason" />
        <result column="credit_code" property="creditCode" />
        <result column="business_address" property="businessAddress" />
        <result column="business_model" property="businessModel" />
        <result column="business_nature" property="businessNature" />
        <result column="contact_person_address" property="contactPersonAddress" />
        <result column="business_category" property="businessCategory" />
        <result column="medical_devices" property="medicalDevices" />
        <result column="front_side" property="frontSide" />
        <result column="reverse_side" property="reverseSide" />
        <result column="unique_identifier_id" property="uniqueIdentifierId" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
@@ -25,7 +36,10 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, user_id, supplier_name, is_add_points_goods, supplier_contact, phone, account, remarks,
          qualification_picture, status, warehouse_id,create_time, update_time, create_by, update_by, disabled,recv_merchant_no,term_no
          qualification_picture, status, warehouse_id,freezing_reason,credit_code, business_address,
          business_model, business_nature, contact_person_address, business_category, medical_devices,
          front_side, reverse_side, unique_identifier_id,
          create_time, update_time, create_by, update_by, disabled,recv_merchant_no,term_no
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TCrmSupplierVO">
        select
@@ -40,6 +54,9 @@
            </if>
            <if test="query.phone != null and query.phone != ''">
                and phone like concat('%',#{query.phone},'%')
            </if>
            <if test="query.uniqueIdentifierId != null and query.uniqueIdentifierId != ''">
                and unique_identifier_id like concat('%',#{query.uniqueIdentifierId},'%')
            </if>
            <if test="query.status != null">
                and status = #{query.status}
@@ -62,6 +79,9 @@
            <if test="query.phone != null and query.phone != ''">
                and phone like concat('%',#{query.phone},'%')
            </if>
            <if test="query.uniqueIdentifierId != null and query.uniqueIdentifierId != ''">
                and unique_identifier_id like concat('%',#{query.uniqueIdentifierId},'%')
            </if>
            <if test="query.status != null">
                and status = #{query.status}
            </if>
ruoyi-system/src/main/resources/mapper/system/TCrmSupplierVerifyMapper.xml
New file
@@ -0,0 +1,43 @@
<?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.TCrmSupplierVerifyMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TCrmSupplierVerify">
        <id column="id" property="id" />
        <result column="supplier_id" property="supplierId" />
        <result column="status" property="status" />
        <result column="verify_remark" property="verifyRemark" />
        <result column="generate_time" property="generateTime" />
        <result column="verify_time" property="verifyTime" />
        <result column="operation_name" property="operationName" />
        <result column="operation_time" property="operationTime" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, supplier_id, status, verify_remark, generate_time, verify_time, operation_name, operation_time
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TCrmSupplierVerifyVO">
        SELECT tcsv.id, tcsv.supplier_id, tcsv.status, tcsv.verify_remark, tcsv.generate_time, tcsv.verify_time, tcsv.operation_name, tcsv.operation_time,
               tcs.supplier_name, tcs.supplier_contact, tcs.phone, tcs.remarks
        FROM t_crm_supplier_verify tcsv
        LEFT JOIN t_crm_supplier tcs ON tcsv.supplier_id = tcs.id
        <where>
            <if test="query.supplierName != null and query.supplierName != ''">
                AND tcs.supplier_name LIKE concat('%',#{query.supplierName},'%')
            </if>
            <if test="query.supplierContact != null and query.supplierContact != ''">
                AND tcs.supplier_contact LIKE concat('%',#{query.supplierContact},'%')
            </if>
            <if test="query.phone != null and query.phone != ''">
                AND tcs.phone LIKE concat('%',#{query.phone},'%')
            </if>
            <if test="query.status != null">
                AND tcsv.status = #{query.status}
            </if>
        </where>
        ORDER BY tcsv.generate_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TSysNoticeMapper.xml
New file
@@ -0,0 +1,51 @@
<?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.TSysNoticeMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TSysNotice">
        <id column="id" property="id" />
        <result column="notice_title" property="noticeTitle" />
        <result column="display_location" property="displayLocation" />
        <result column="notice_content" property="noticeContent" />
        <result column="start_time" property="startTime" />
        <result column="end_time" property="endTime" />
        <result column="status" property="status" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
        <result column="update_by" property="updateBy" />
        <result column="disabled" property="disabled" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, notice_title, display_location, notice_content, start_time, end_time, status, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TSysNoticeVO">
        SELECT
        <include refid="Base_Column_List" />
            FROM t_sys_notice
        <where>
            <if test="query.noticeTitle != null and query.noticeTitle != ''">
                AND notice_title LIKE concat('%',#{query.noticeTitle},'%')
            </if>
            <if test="query.showStatus != null and query.showStatus == 1">
                AND date_format(start_time,'%y%m%d %H%i%s') &gt; date_format(NOW(),'%y%m%d %H%i%s')
            </if>
            <if test="query.showStatus != null and query.showStatus == 2">
                AND date_format(start_time,'%y%m%d %H%i%s') &lt;= date_format(NOW(),'%y%m%d %H%i%s')
                AND date_format(end_time,'%y%m%d %H%i%s') &gt;= date_format(NOW(),'%y%m%d %H%i%s')
            </if>
            <if test="query.showStatus != null and query.showStatus == 3">
                AND date_format(end_time,'%y%m%d %H%i%s') &lt; date_format(NOW(),'%y%m%d %H%i%s')
            </if>
            <if test="query.status != null">
                AND status = #{query.status}
            </if>
            AND disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TSysOtherConfigMapper.xml
@@ -11,6 +11,8 @@
        <result column="msg_count" property="msgCount" />
        <result column="ai_price" property="aiPrice" />
        <result column="delivery_time" property="deliveryTime" />
        <result column="verify_value" property="verifyValue" />
        <result column="verify_unit" property="verifyUnit" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
@@ -21,7 +23,8 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, procurement_conditions, points_expiration, expire_unit, msg_count, ai_price, delivery_time, create_time, update_time, create_by, update_by, disabled, create_id
        id, procurement_conditions, points_expiration, expire_unit, msg_count, ai_price, delivery_time,
          verify_value, verify_unit,create_time, update_time, create_by, update_by, disabled, create_id
    </sql>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TSysQualificationsMapper.xml
@@ -7,6 +7,8 @@
        <id column="id" property="id" />
        <result column="qualifications_name" property="qualificationsName" />
        <result column="qualifications_content" property="qualificationsContent" />
        <result column="qualifications_type" property="qualificationsType" />
        <result column="record_number" property="recordNumber" />
        <result column="status" property="status" />
        <result column="sort_by" property="sortBy" />
        <result column="create_time" property="createTime" />
@@ -18,7 +20,7 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, qualifications_name, qualifications_content, status, sort_by, create_time, update_time, create_by, update_by, disabled
        id, qualifications_name, qualifications_content,qualifications_type, record_number, status, sort_by, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.model.TSysQualifications">
        select