liujie
2025-09-05 a40429e0df56c94fecd29dbfb4c99cf2d393a1a8
Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/haizhentong
1个文件已删除
19个文件已修改
10个文件已添加
988 ■■■■■ 已修改文件
generator/src/test/java/com/xizang/CodeGeneratorTests.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TRegionController.java 51 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysAppUserController.java 179 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java 89 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TRegionMapper.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysAppUserMapper.java 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysOrderMapper.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TRegion.java 62 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAppUser.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysInspection.java 75 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/query/TSysAppUserQuery.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TRegionService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysAppUserService.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TRegionServiceImpl.java 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java 63 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java 26 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/LivePushJob.java 29 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysAppUserVO.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysOrderVO.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TRegionMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TSysAppUserMapper.xml 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TSysInspectionMapper.xml 21 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-system/src/main/resources/mapper/system/TSysOrderMapper.xml 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
generator/src/test/java/com/xizang/CodeGeneratorTests.java
@@ -144,7 +144,7 @@
//         strategy.setTablePrefix(pc.getModuleName() + "");
//        strategy.setLikeTable(new LikeTable("room"));
        //strategy.setLikeTable(new LikeTable("member"));
        strategy.setLikeTable(new LikeTable("t_crm_change_points"));// 生成表名
        strategy.setLikeTable(new LikeTable("t_sys_inspection"));// 生成表名
//        strategy.setLikeTable(new LikeTable("t_hotel"));// 生成表名
//        strategy.setLikeTable(new LikeTable("t_scan_message"));// 生成表名
//        strategy.setNotLikeTable(new LikeTable("hotel_info"));// 不生成表名
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TRegionController.java
New file
@@ -0,0 +1,51 @@
package com.ruoyi.web.controller.api;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.system.model.TRegion;
import com.ruoyi.system.service.TRegionService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * <p>
 * 省市管理 前端控制器
 * </p>
 *
 * @author xiaochen
 * @since 2024-02-29
 */
@Api(tags = "省市管理")
@RestController
@RequestMapping("/tRegion")
public class TRegionController {
    private final TRegionService regionService;
    @Autowired
    public TRegionController(TRegionService regionService) {
        this.regionService = regionService;
    }
    @ApiOperation(value = "查询省市管理")
    @GetMapping(value = "/getRegion")
    public R<List<TRegion>> getRegion() {
        return R.ok(regionService.getRegion());
    }
    @ApiOperation(value = "查询省")
    @PostMapping(value = "/getProvince")
    public R<List<TRegion>> getProvince() {
        return R.ok(regionService.list(Wrappers.lambdaQuery(TRegion.class).eq(TRegion::getParentId,0)));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysAppUserController.java
@@ -1,8 +1,31 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
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.common.utils.StringUtils;
import com.ruoyi.system.model.TSysAppUser;
import com.ruoyi.system.model.TSysChronicDisease;
import com.ruoyi.system.model.TSysInspection;
import com.ruoyi.system.query.TSysAppUserQuery;
import com.ruoyi.system.service.TSysAppUserService;
import com.ruoyi.system.service.TSysChronicDiseaseService;
import com.ruoyi.system.service.TSysInspectionService;
import com.ruoyi.system.service.TSysOrderService;
import com.ruoyi.system.vo.TSysAppUserVO;
import com.ruoyi.system.vo.TSysOrderVO;
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.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.Arrays;
import java.util.List;
/**
 * <p>
@@ -12,9 +35,161 @@
 * @author xiaochen
 * @since 2025-08-20
 */
@Api(tags = "用户管理")
@RestController
@RequestMapping("/t-sys-app-user")
public class TSysAppUserController {
    private final TSysAppUserService sysAppUserService;
    private final TSysInspectionService sysInspectionService;
    private final TSysOrderService sysOrderService;
    private final TSysChronicDiseaseService sysChronicDiseaseService;
    @Autowired
    public TSysAppUserController(TSysAppUserService sysAppUserService, TSysInspectionService sysInspectionService, TSysOrderService sysOrderService, TSysChronicDiseaseService sysChronicDiseaseService) {
        this.sysAppUserService = sysAppUserService;
        this.sysInspectionService = sysInspectionService;
        this.sysOrderService = sysOrderService;
        this.sysChronicDiseaseService = sysChronicDiseaseService;
    }
    /**
     * 获取用户管理管理列表
     */
    @ApiOperation(value = "获取用户管理分页列表")
    @PostMapping(value = "/pageList")
    public R<PageInfo<TSysAppUserVO>> pageList(@RequestBody TSysAppUserQuery query) {
        return R.ok(sysAppUserService.pageList(query));
    }
    /**
     * 获取用户管理管理列表
     */
    @ApiOperation(value = "获取慢性病患者分页列表")
    @PostMapping(value = "/pageChronicDiseaseUserList")
    public R<PageInfo<TSysAppUserVO>> pageChronicDiseaseUserList(@RequestBody TSysAppUserQuery query) {
        return R.ok(sysAppUserService.pageChronicDiseaseUserList(query));
    }
    /**
     * 获取用户管理管理列表
     */
    @ApiOperation(value = "获取用户管理列表")
    @PostMapping(value = "/list")
    public R<List<TSysAppUser>> list() {
        return R.ok(sysAppUserService.list(Wrappers.lambdaQuery(TSysAppUser.class)
                .eq(TSysAppUser::getStatus,1)
                .orderByDesc(TSysAppUser::getCreateTime)));
    }
    /**
     * 添加用户管理管理
     */
    @Log(title = "用户管理信息-新增用户管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加用户管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TSysAppUser dto) {
        if (sysAppUserService.isExit(dto)) {
            return R.fail("用户管理信息已存在");
        }
        return R.ok(sysAppUserService.save(dto));
    }
    /**
     * 修改用户管理
     */
    @Log(title = "用户管理信息-修改用户管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改用户管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TSysAppUser dto) {
        if (sysAppUserService.isExit(dto)) {
            return R.fail("用户管理信息已存在");
        }
        return R.ok(sysAppUserService.updateById(dto));
    }
    /**
     * 查看用户管理详情
     */
    @ApiOperation(value = "查看用户管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TSysAppUserVO> getDetailById(@RequestParam String id) {
        TSysAppUser sysAppUser = sysAppUserService.getById(id);
        TSysAppUserVO sysAppUserVO = new TSysAppUserVO();
        BeanUtils.copyProperties(sysAppUser, sysAppUserVO);
        // 查询慢性病
        String chronicDiseaseId = sysAppUserVO.getChronicDiseaseId();
        if(StringUtils.isNotBlank(chronicDiseaseId)){
            String[] split = chronicDiseaseId.split(",");
            List<TSysChronicDisease> sysChronicDiseases = sysChronicDiseaseService.list(Wrappers.lambdaQuery(TSysChronicDisease.class).in(TSysChronicDisease::getId, Arrays.asList(split)));
            sysAppUserVO.setSysChronicDiseases(sysChronicDiseases);
        }
        // 查询检测信息
        List<TSysInspection> sysInspections = sysInspectionService.list(Wrappers.lambdaQuery(TSysInspection.class).eq(TSysInspection::getAppUserId, id));
        sysAppUserVO.setSysInspections(sysInspections);
        // 订单信息
        List<TSysOrderVO> sysOrders = sysOrderService.queryListByAppUserId(id);
        sysAppUserVO.setSysOrders(sysOrders);
        return R.ok(sysAppUserVO);
    }
    /**
     * 根据用户id查询检测信息
     */
    @ApiOperation(value = "根据用户id查询检测信息")
    @GetMapping(value = "/getInspectionByAppUserId")
    public R<List<TSysInspection>> getInspectionByAppUserId(@RequestParam String appUserId) {
        // 订单信息
        List<TSysInspection> sysInspections = sysInspectionService.list(Wrappers.lambdaQuery(TSysInspection.class).eq(TSysInspection::getAppUserId, appUserId));
        return R.ok(sysInspections);
    }
    /**
     * 查看用户管理详情
     */
    @ApiOperation(value = "查看用户管理详情")
    @GetMapping(value = "/getOrderByAppUserId")
    public R<List<TSysOrderVO>> getOrderByAppUserId(@RequestParam String appUserId) {
        List<TSysOrderVO> sysOrders = sysOrderService.queryListByAppUserId(appUserId);
        return R.ok(sysOrders);
    }
    /**
     * 删除用户管理
     */
    @Log(title = "用户管理信息-删除用户管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除用户管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(sysAppUserService.removeById(id));
    }
    /**
     * 批量删除用户管理
     */
    @Log(title = "用户管理信息-删除用户管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除用户管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(sysAppUserService.removeByIds(ids));
    }
    /**
     * 批量删除用户管理
     */
    @Log(title = "用户管理信息-分公司管理解冻冻结", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "分公司管理解冻冻结",notes = "状态 1=使用中 2=冻结")
    @PutMapping(value = "/thawOrFreeze")
    public R<Boolean> thawOrFreeze(@RequestParam(value = "id")String id,
                                   @RequestParam(value = "status")Integer status) {
        TSysAppUser sysAppUser = sysAppUserService.getById(id);
        sysAppUser.setStatus(status);
        sysAppUserService.updateById(sysAppUser);
        if(status == 2){
            // TODO 退出账号 冻结
        }
        return R.ok();
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java
@@ -1,8 +1,19 @@
package com.ruoyi.web.controller.api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.ruoyi.common.annotation.Log;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.system.model.TSysInspection;
import com.ruoyi.system.service.TSysInspectionService;
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.util.List;
/**
 * <p>
@@ -12,9 +23,83 @@
 * @author xiaochen
 * @since 2025-08-20
 */
@Api(tags = "用户检测信息管理")
@RestController
@RequestMapping("/t-sys-inspection")
public class TSysInspectionController {
    private final TSysInspectionService sysInspectionService;
    @Autowired
    public TSysInspectionController(TSysInspectionService sysInspectionService) {
        this.sysInspectionService = sysInspectionService;
    }
//    /**
//     * 获取用户检测信息管理管理列表
//     */
//    @ApiOperation(value = "获取用户检测信息管理分页列表")
//    @PostMapping(value = "/pageList")
//    public R<PageInfo<TSysInspection>> pageList(@RequestBody TSysInspectionQuery query) {
//        return R.ok(sysInspectionService.pageList(query));
//    }
    /**
     * 获取用户检测信息管理管理列表
     */
    @ApiOperation(value = "获取用户检测信息管理列表")
    @PostMapping(value = "/list")
    public R<List<TSysInspection>> list() {
        return R.ok(sysInspectionService.list(Wrappers.lambdaQuery(TSysInspection.class).orderByDesc(TSysInspection::getCreateTime)));
    }
    /**
     * 添加用户检测信息管理管理
     */
    @Log(title = "用户检测信息管理信息-新增用户检测信息管理", businessType = BusinessType.INSERT)
    @ApiOperation(value = "添加用户检测信息管理")
    @PostMapping(value = "/add")
    public R<Boolean> add(@Validated @RequestBody TSysInspection dto) {
        return R.ok(sysInspectionService.save(dto));
    }
    /**
     * 修改用户检测信息管理
     */
    @Log(title = "用户检测信息管理信息-修改用户检测信息管理", businessType = BusinessType.UPDATE)
    @ApiOperation(value = "修改用户检测信息管理")
    @PostMapping(value = "/update")
    public R<Boolean> update(@Validated @RequestBody TSysInspection dto) {
        return R.ok(sysInspectionService.updateById(dto));
    }
    /**
     * 查看用户检测信息管理详情
     */
    @ApiOperation(value = "查看用户检测信息管理详情")
    @GetMapping(value = "/getDetailById")
    public R<TSysInspection> getDetailById(@RequestParam String id) {
        return R.ok(sysInspectionService.getById(id));
    }
    /**
     * 删除用户检测信息管理
     */
    @Log(title = "用户检测信息管理信息-删除用户检测信息管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "删除用户检测信息管理")
    @DeleteMapping(value = "/deleteById")
    public R<Boolean> deleteById(@RequestParam String id) {
        return R.ok(sysInspectionService.removeById(id));
    }
    /**
     * 批量删除用户检测信息管理
     */
    @Log(title = "用户检测信息管理信息-删除用户检测信息管理", businessType = BusinessType.DELETE)
    @ApiOperation(value = "批量删除用户检测信息管理")
    @DeleteMapping(value = "/deleteByIds")
    public R<Boolean> deleteByIds(@RequestBody List<String> ids) {
        return R.ok(sysInspectionService.removeByIds(ids));
    }
}
ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java
@@ -29,12 +29,15 @@
    @Override
    public void insertFill(MetaObject metaObject) {
        //  获取登录信息
        String userName = SecurityUtils.getUsername();
        String userName = SecurityUtils.getLoginUser().getUser().getNickName();
        Long userId = SecurityUtils.getUserId();
        if (StringUtils.isNotBlank(userName)) {
            this.setFieldValByName("createBy", userName, metaObject);
            this.setFieldValByName("createId", userId, metaObject);
            this.setFieldValByName("updateBy", userName, metaObject);
        } else {
            this.setFieldValByName("createBy", userName, metaObject);
            this.setFieldValByName("createId", userId, metaObject);
            this.setFieldValByName("updateBy", userName, metaObject);
        }
@@ -48,12 +51,10 @@
    @Override
    public void updateFill(MetaObject metaObject) {
        //  获取登录信息
        String userName = SecurityUtils.getUsername();
        String userName = SecurityUtils.getLoginUser().getUser().getNickName();
        if (StringUtils.isNotBlank(userName)){
            this.setFieldValByName("createBy", userName, metaObject);
            this.setFieldValByName("updateBy", userName, metaObject);
        } else {
            this.setFieldValByName("createBy", userName, metaObject);
            this.setFieldValByName("updateBy", userName, metaObject);
        }
ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java
@@ -369,6 +369,15 @@
    }
    /**
     *  LocalDateTime转为Date
     * @param time
     * @return
     */
    public static Date localDateTimeToDate(LocalDateTime time) {
        return Date.from(time.atZone(ZoneId.systemDefault()).toInstant());
    }
    /**
     * localdate转为字符串
     *
     * @param time localdate
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TRegionMapper.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.model.TRegion;
import org.apache.ibatis.annotations.Mapper;
/**
 * <p>
 * 省市 Mapper 接口
 * </p>
 *
 * @author xiaochen
 * @since 2024-02-29
 */
@Mapper
public interface TRegionMapper extends BaseMapper<TRegion> {
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysAppUserMapper.java
@@ -1,7 +1,13 @@
package com.ruoyi.system.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TSysAppUser;
import com.ruoyi.system.query.TSysAppUserQuery;
import com.ruoyi.system.vo.TSysAppUserVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +19,19 @@
 */
public interface TSysAppUserMapper extends BaseMapper<TSysAppUser> {
    /**
     * 分页查询
     * @param query
     * @param pageInfo
     * @return
     */
    List<TSysAppUserVO> pageList(@Param("query") TSysAppUserQuery query, @Param("pageInfo")PageInfo<TSysAppUserVO> pageInfo);
    /**
     * 分页查询
     * @param query
     * @param pageInfo
     * @return
     */
    List<TSysAppUserVO> pageChronicDiseaseUserList(@Param("query")TSysAppUserQuery query, @Param("pageInfo")PageInfo<TSysAppUserVO> pageInfo);
}
ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysOrderMapper.java
@@ -2,6 +2,10 @@
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.system.model.TSysOrder;
import com.ruoyi.system.vo.TSysOrderVO;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
 * <p>
@@ -13,4 +17,11 @@
 */
public interface TSysOrderMapper extends BaseMapper<TSysOrder> {
    /**
     * 根据appUserId查询订单列表
     *
     * @param id appUserId
     * @return 订单列表
     */
    List<TSysOrderVO> queryListByAppUserId(@Param("id") String id);
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TRegion.java
New file
@@ -0,0 +1,62 @@
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 io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.util.List;
/**
 * <p>
 * 省市管理
 * </p>
 *
 * @author xiaochen
 * @since 2024-02-29
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName("t_region")
@ApiModel(value="TRegion对象", description="省市管理")
public class TRegion implements Serializable {
    private static final long serialVersionUID = 1L;
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;
    @ApiModelProperty(value = "城市名称")
    @TableField("name")
    private String name;
    @ApiModelProperty(value = "城市代码")
    @TableField("code")
    private String code;
    @ApiModelProperty(value = "城市code")
    @TableField("cityCode")
    private String cityCode;
    @ApiModelProperty(value = "父级ID")
    @TableField("parentId")
    private Long parentId;
    @ApiModelProperty(value = "英文名称")
    @TableField("english")
    private String english;
    @ApiModelProperty(value = "首字母")
    @TableField("initial")
    private String initial;
    @ApiModelProperty(value = "子项")
    @TableField(exist = false)
    private List<TRegion> children;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAppUser.java
@@ -51,4 +51,17 @@
    @TableField("open_id")
    private String openId;
    @ApiModelProperty(value = "慢性病id,逗号分割")
    @TableField("chronic_disease_id")
    private String chronicDiseaseId;
    @ApiModelProperty(value = "状态 1=使用中 2=冻结")
    @TableField("status")
    private Integer status;
    @ApiModelProperty(value = "上次短信提醒时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @TableField("last_reminder_time")
    private LocalDateTime lastReminderTime;
}
ruoyi-system/src/main/java/com/ruoyi/system/model/TSysInspection.java
@@ -33,8 +33,83 @@
    @TableField("app_user_id")
    private String appUserId;
    @ApiModelProperty(value = "诊所id")
    @TableField("clinic_id")
    private String clinicId;
    @ApiModelProperty(value = "检测类型 1=诊所检测 2=小程序自检")
    @TableField("inspection_type")
    private Integer inspectionType;
    @ApiModelProperty(value = "检测信息")
    @TableField("inspection_info")
    private String inspectionInfo;
    @ApiModelProperty(value = "检测使用设备登录用户所属会员团队编码")
    @TableField("team_code")
    private String teamCode;
    @ApiModelProperty(value = "检测使用设备登录用户所属会员团队名称")
    @TableField("team_name")
    private String teamName;
    @ApiModelProperty(value = "检测使用的设备编码")
    @TableField("device_code")
    private String deviceCode;
    @ApiModelProperty(value = "检测使用的设备名称")
    @TableField("device_name")
    private String deviceName;
    @ApiModelProperty(value = "检测人名称")
    @TableField("person_name")
    private String personName;
    @ApiModelProperty(value = "检测人性别(1=男,2=女)")
    @TableField("person_sex")
    private Integer personSex;
    @ApiModelProperty(value = "检测人年龄")
    @TableField("person_age")
    private Integer personAge;
    @ApiModelProperty(value = "检测人手机号")
    @TableField("person_phone")
    private String personPhone;
    @ApiModelProperty(value = "检测人身高(单位cm)")
    @TableField("person_height")
    private Double personHeight;
    @ApiModelProperty(value = "检测人体重(单位kg)")
    @TableField("person_weight")
    private Double personWeight;
    @ApiModelProperty(value = "检测时间")
    @TableField("check_time")
    private String checkTime;
    @ApiModelProperty(value = "检测 PDF 报告 URL")
    @TableField("pdf_url")
    private String pdfUrl;
    @ApiModelProperty(value = "健康指数,其值越大表示健康状态越好")
    @TableField("health_index")
    private Double healthIndex;
    @ApiModelProperty(value = "体质")
    @TableField("constitution_names")
    private String constitutionNames;
    @ApiModelProperty(value = "证型,进一步判断体质(constitutionNames)的结果,更为准确体现用户的真实体质")
    @TableField("symptom_name")
    private String symptomName;
    @ApiModelProperty(value = "舌象特征分析")
    @TableField("tongue_feature")
    private String tongueFeature;
    @ApiModelProperty(value = "风险疾病名称")
    @TableField("disease_risks")
    private String diseaseRisks;
}
ruoyi-system/src/main/java/com/ruoyi/system/query/TSysAppUserQuery.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.system.query;
import com.baomidou.mybatisplus.annotation.TableField;
import com.ruoyi.common.core.domain.model.TimeRangeQueryBody;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel("用户管理查询参数TSysAppUserQuery")
public class TSysAppUserQuery extends TimeRangeQueryBody {
    @ApiModelProperty(value = "用户姓名")
    private String nickName;
    @ApiModelProperty(value = "手机号")
    private String phone;
    @ApiModelProperty(value = "是否慢性病患者 1=是 0=否")
    private Integer isInspection;
    @ApiModelProperty(value = "状态 1=使用中 2=冻结")
    private Integer status;
    @ApiModelProperty(value = "慢性病id")
    private String inspectionId;
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TRegionService.java
New file
@@ -0,0 +1,23 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.model.TRegion;
import java.util.List;
/**
 * <p>
 * 省市管理 服务类
 * </p>
 *
 * @author xiaochen
 * @since 2024-02-29
 */
public interface TRegionService extends IService<TRegion> {
    /**
     * 查询省市管理
     * @return
     */
    List<TRegion> getRegion();
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysAppUserService.java
@@ -1,7 +1,10 @@
package com.ruoyi.system.service;
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.system.model.TSysAppUser;
import com.ruoyi.system.query.TSysAppUserQuery;
import com.ruoyi.system.vo.TSysAppUserVO;
/**
 * <p>
@@ -13,4 +16,24 @@
 */
public interface TSysAppUserService extends IService<TSysAppUser> {
    /**
     * 分页列表
     * @param query
     * @return
     */
    PageInfo<TSysAppUserVO> pageList(TSysAppUserQuery query);
    /**
     * 判断是否存在
     * @param dto
     * @return
     */
    boolean isExit(TSysAppUser dto);
    /**
     * 获取慢性病患者分页列表
     * @param query
     * @return
     */
    PageInfo<TSysAppUserVO> pageChronicDiseaseUserList(TSysAppUserQuery query);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.extension.service.IService;
import com.ruoyi.system.model.TSysOrder;
import com.ruoyi.system.vo.TSysOrderVO;
import java.util.List;
/**
 * <p>
@@ -13,4 +16,10 @@
 */
public interface TSysOrderService extends IService<TSysOrder> {
    /**
     * 根据用户id查询订单列表
     * @param id
     * @return
     */
    List<TSysOrderVO> queryListByAppUserId(String id);
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TRegionServiceImpl.java
New file
@@ -0,0 +1,35 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.mapper.TRegionMapper;
import com.ruoyi.system.model.TRegion;
import com.ruoyi.system.service.TRegionService;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
 * 省市管理 服务实现类
 * </p>
 *
 * @author xiaochen
 * @since 2024-02-29
 */
@Service
public class TRegionServiceImpl extends ServiceImpl<TRegionMapper, TRegion> implements TRegionService {
    @Override
    public List<TRegion> getRegion() {
        List<TRegion> tRegions = this.baseMapper.selectList(Wrappers.lambdaQuery(TRegion.class));
        List<TRegion> parent = tRegions.stream().filter(e -> e.getParentId().equals(0L)).collect(Collectors.toList());
        for (TRegion region : parent) {
            List<TRegion> children = tRegions.stream().filter(e -> e.getParentId().equals(region.getId())).collect(Collectors.toList());
            region.setChildren(children);
        }
        return parent;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java
@@ -1,10 +1,24 @@
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.utils.StringUtils;
import com.ruoyi.system.mapper.TSysAppUserMapper;
import com.ruoyi.system.mapper.TSysChronicDiseaseMapper;
import com.ruoyi.system.model.TSysAppUser;
import com.ruoyi.system.model.TSysActivity;
import com.ruoyi.system.model.TSysAppUser;
import com.ruoyi.system.model.TSysChronicDisease;
import com.ruoyi.system.query.TSysAppUserQuery;
import com.ruoyi.system.service.TSysAppUserService;
import com.ruoyi.system.vo.TSysAppUserVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -17,4 +31,53 @@
@Service
public class TSysAppUserServiceImpl extends ServiceImpl<TSysAppUserMapper, TSysAppUser> implements TSysAppUserService {
    @Autowired
    private TSysChronicDiseaseMapper sysChronicDiseaseMapper;
    @Override
    public PageInfo<TSysAppUserVO> pageList(TSysAppUserQuery query) {
        PageInfo<TSysAppUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TSysAppUserVO> list = this.baseMapper.pageList(query,pageInfo);
        pageInfo.setRecords(list);
        return pageInfo;
    }
    @Override
    public boolean isExit(TSysAppUser dto) {
        if(StringUtils.isNotEmpty(dto.getId())){
            // 修改
            return this.count(Wrappers.lambdaQuery(TSysAppUser.class).ne(TSysAppUser::getId, dto.getId()).eq(TSysAppUser::getPhone, dto.getPhone())) > 0;
        }else {
            // 新增
            return this.count(Wrappers.lambdaQuery(TSysAppUser.class).eq(TSysAppUser::getPhone, dto.getPhone())) > 0;
        }
    }
    @Override
    public PageInfo<TSysAppUserVO> pageChronicDiseaseUserList(TSysAppUserQuery query) {
        PageInfo<TSysAppUserVO> pageInfo = new PageInfo<>(query.getPageNum(), query.getPageSize());
        List<TSysAppUserVO> list = this.baseMapper.pageChronicDiseaseUserList(query,pageInfo);
        if(CollectionUtils.isEmpty(list)){
            return pageInfo;
        }
        List<TSysChronicDisease> sysChronicDiseaseList = sysChronicDiseaseMapper.selectList(Wrappers.lambdaQuery(TSysChronicDisease.class));
        for (TSysAppUserVO sysAppUserVO : list) {
            String chronicDiseaseId = sysAppUserVO.getChronicDiseaseId();
            String[] split = chronicDiseaseId.split(",");
            StringBuilder stringBuilder = new StringBuilder();
            for (String diseaseId : split) {
                List<TSysChronicDisease> chronicDiseaseList = sysChronicDiseaseList.stream().filter(disease -> disease.getId().equals(diseaseId)).collect(Collectors.toList());
                // 最后一位不拼接逗号
                if(diseaseId.equals(split[split.length-1])){
                    stringBuilder.append(chronicDiseaseList.get(0).getChronicName());
                }else{
                    stringBuilder.append(chronicDiseaseList.get(0).getChronicName()).append(",");
                }
            }
            sysAppUserVO.setSysChronicDiseaseNames(stringBuilder.toString());
        }
        pageInfo.setRecords(list);
        return pageInfo;
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java
@@ -1,18 +1,25 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.google.common.collect.ImmutableMap;
import com.ruoyi.common.basic.PageInfo;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.mapper.TSysLiveMapper;
import com.ruoyi.system.model.TSysEducationalInfo;
import com.ruoyi.system.model.TSysLive;
import com.ruoyi.system.query.TSysLiveQuery;
import com.ruoyi.system.service.TSysLiveService;
import com.ruoyi.system.task.base.QuartzManager;
import com.ruoyi.system.task.base.TimeJobType;
import com.ruoyi.system.task.jobs.LivePushJob;
import com.ruoyi.system.vo.TSysLiveVO;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.Objects;
/**
@@ -30,10 +37,24 @@
    public R pushUser(String id, String pushType) {
        TSysLive sysLive = this.getById(id);
        if (Objects.nonNull(sysLive)){
            // 判断直播开始时间是否在当前时间之后
            if (sysLive.getStartTime().isBefore(LocalDateTime.now())){
                return R.fail("直播已开始,无法配置推送");
            }
            sysLive.setPushType(pushType);
            this.updateById(sysLive);
            // TODO 添加定时推送
            // 添加定时任务 直播开始推送
            Map<String, ? extends Object> maps =
                    new ImmutableMap.Builder<String, String>().
                            put("id", sysLive.getId())
                            .build();
            QuartzManager.addJob(
                    LivePushJob.class,
                    (LivePushJob.name+sysLive.getId()).toUpperCase(),
                    TimeJobType.LIVE_PUSH,
                    DateUtils.localDateTimeToDate(sysLive.getStartTime()),
                    maps
            );
        }
        return R.ok();
    }
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java
@@ -1,10 +1,19 @@
package com.ruoyi.system.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.ruoyi.system.mapper.TSysOrderGoodsMapper;
import com.ruoyi.system.mapper.TSysOrderMapper;
import com.ruoyi.system.model.TSysOrder;
import com.ruoyi.system.model.TSysOrderGoods;
import com.ruoyi.system.service.TSysOrderService;
import com.ruoyi.system.vo.TSysOrderVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
 * <p>
@@ -17,4 +26,21 @@
@Service
public class TSysOrderServiceImpl extends ServiceImpl<TSysOrderMapper, TSysOrder> implements TSysOrderService {
    @Autowired
    private TSysOrderGoodsMapper sysOrderGoodsMapper;
    @Override
    public List<TSysOrderVO> queryListByAppUserId(String id) {
        List<TSysOrderVO> sysOrderVOS = this.baseMapper.queryListByAppUserId(id);
        if(CollectionUtils.isEmpty(sysOrderVOS)){
            return sysOrderVOS;
        }
        List<String> orderIds = sysOrderVOS.stream().map(TSysOrderVO::getId).collect(Collectors.toList());
        List<TSysOrderGoods> sysOrderGoodsList = sysOrderGoodsMapper.selectList(Wrappers.lambdaQuery(TSysOrderGoods.class)
                .in(TSysOrderGoods::getOrderId, orderIds));
        for (TSysOrderVO sysOrderVO : sysOrderVOS) {
            sysOrderVO.setSysOrderGoods(sysOrderGoodsList.stream().filter(sysOrderGoods -> sysOrderGoods.getOrderId().equals(sysOrderVO.getId())).collect(Collectors.toList()));
        }
        return this.baseMapper.queryListByAppUserId(id);
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java
@@ -3,6 +3,7 @@
import com.aizuda.bpm.mybatisplus.mapper.FlwTaskActorMapper;
import com.aizuda.bpm.mybatisplus.mapper.FlwTaskMapper;
import com.ruoyi.system.service.ISysUserService;
import com.ruoyi.system.service.TSysLiveService;
import com.ruoyi.system.task.utils.SpringContextsUtil;
import org.quartz.Job;
import org.quartz.JobExecutionContext;
@@ -16,14 +17,12 @@
    @Override
    public abstract void execute(JobExecutionContext context) throws JobExecutionException;
    protected FlwTaskMapper flwTaskMapper;
    protected FlwTaskActorMapper flwTaskActorMapper;
    protected ISysUserService sysUserService;
    protected TSysLiveService sysLiveService;
    public AbstractJob(){
        this.flwTaskMapper = SpringContextsUtil.getBean(FlwTaskMapper.class);
        this.flwTaskActorMapper = SpringContextsUtil.getBean(FlwTaskActorMapper.class);
        this.sysUserService = SpringContextsUtil.getBean(ISysUserService.class);
        this.sysLiveService = SpringContextsUtil.getBean(TSysLiveService.class);
    }
     
ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java
@@ -5,7 +5,7 @@
 * @date 2025年2月17日 下午7:22:28
 */
public enum TimeJobType {
    AUTO_AUDIT("auto_audit","自动审核");
    LIVE_PUSH("live_push","直播推送");
    private String type;
    private String desc;
    private TimeJobType(String type, String desc) {
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/LivePushJob.java
New file
@@ -0,0 +1,29 @@
package com.ruoyi.system.task.jobs;
import com.ruoyi.system.task.base.AbstractJob;
import org.quartz.JobDataMap;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
/**
 * 直播推送定时任务
 * @author Administrator
 *
 */
public class LivePushJob extends AbstractJob {
    public static final String name = "livePush_";
    @Override
    public void execute(JobExecutionContext context)
            throws JobExecutionException {
        JobDataMap maps = context.getMergedJobDataMap();
        Long liveId = maps.getLong("id");
        try {
            System.out.println("开始执行直播推送任务");
        }catch(Exception e){
            e.printStackTrace();
        }
    }
}
ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java
File was deleted
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysAppUserVO.java
New file
@@ -0,0 +1,34 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TSysAppUser;
import com.ruoyi.system.model.TSysChronicDisease;
import com.ruoyi.system.model.TSysInspection;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "用户管理对象TSysAppUserVO")
public class TSysAppUserVO extends TSysAppUser {
    @ApiModelProperty(value = "是否慢性病患者 1=是 0=否")
    private Integer isInspection;
    @ApiModelProperty(value = "最近检测时间")
    private String lastInspectionTime;
    @ApiModelProperty(value = "慢性病列表")
    private List<TSysChronicDisease> sysChronicDiseases;
    @ApiModelProperty(value = "检测列表")
    private List<TSysInspection> sysInspections;
    @ApiModelProperty(value = "购药信息列表")
    private List<TSysOrderVO> sysOrders;
    @ApiModelProperty(value = "慢性病名称拼接")
    private String sysChronicDiseaseNames;
}
ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysOrderVO.java
New file
@@ -0,0 +1,18 @@
package com.ruoyi.system.vo;
import com.ruoyi.system.model.TSysOrder;
import com.ruoyi.system.model.TSysOrderGoods;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
@ApiModel(value = "订单信息VO")
public class TSysOrderVO extends TSysOrder {
    @ApiModelProperty(value = "订单商品列表")
    private List<TSysOrderGoods> sysOrderGoods;
}
ruoyi-system/src/main/resources/mapper/system/TRegionMapper.xml
New file
@@ -0,0 +1,21 @@
<?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.TRegionMapper">
    <!-- 通用查询映射结果 -->
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TRegion">
        <id column="id" property="id" />
        <result column="name" property="name" />
        <result column="code" property="code" />
        <result column="cityCode" property="cityCode" />
        <result column="parentId" property="parentId" />
        <result column="english" property="english" />
        <result column="initial" property="initial" />
    </resultMap>
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, `name`, code, cityCode, parentId, english, initial
    </sql>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TSysAppUserMapper.xml
@@ -10,6 +10,9 @@
        <result column="birth_time" property="birthTime" />
        <result column="sex" property="sex" />
        <result column="open_id" property="openId" />
        <result column="chronic_disease_id" property="chronicDiseaseId" />
        <result column="status" property="status" />
        <result column="last_reminder_time" property="lastReminderTime" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
@@ -19,7 +22,55 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, nick_name, phone, birth_time, sex, open_id, create_time, update_time, create_by, update_by, disabled
        id, nick_name, phone, birth_time, sex, open_id,chronic_disease_id,status,last_reminder_time, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="pageList" resultType="com.ruoyi.system.vo.TSysAppUserVO">
        select tsau.id, tsau.nick_name, tsau.phone, tsau.birth_time, tsau.sex, tsau.open_id,
               tsau.chronic_disease_id,tsau.status,tsau.last_reminder_time, tsau.create_time, tsau.update_time, tsau.create_by,
               tsau.update_by, tsau.disabled, tsi.lastInspectionTime
        from t_sys_app_user tsau
        left join (select id,app_user_id, max(check_time) as lastInspectionTime from t_sys_inspection limit 1) tsi on tsi.app_user_id = tsau.id
        <where>
            <if test="query.phone != null and query.phone != ''">
                and tsau.phone = #{query.phone}
            </if>
            <if test="query.nickName != null and query.nickName != ''">
                and tsau.nick_name like concat('%',#{query.nickName},'%')
            </if>
            <if test="query.startTime != null and query.startTime != '' and query.endTime != null and query.endTime != ''">
                and tsau.id in (select app_user_id from t_sys_inspection where check_time between #{query.startTime} and #{query.endTime})
            </if>
            <if test="query.isInspection != null and query.isInspection == 1">
                and tsau.chronic_disease_id IS NOT NULL
            </if>
            <if test="query.isInspection != null and query.isInspection == 0">
                and tsau.chronic_disease_id IS NULL
            </if>
            <if test="query.status != null">
                and tsau.status = #{query.status}
            </if>
            AND tsau.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tsau.create_time DESC
    </select>
    <select id="pageChronicDiseaseUserList" resultType="com.ruoyi.system.vo.TSysAppUserVO">
        select tsau.id, tsau.nick_name, tsau.phone, tsau.birth_time, tsau.sex, tsau.open_id,
               tsau.chronic_disease_id,tsau.status,tsau.last_reminder_time, tsau.create_time, tsau.update_time, tsau.create_by,
               tsau.update_by, tsau.disabled
        from t_sys_app_user tsau
        <where>
            <if test="query.phone != null and query.phone != ''">
                and tsau.phone = #{query.phone}
            </if>
            <if test="query.nickName != null and query.nickName != ''">
                and tsau.nick_name like concat('%',#{query.nickName},'%')
            </if>
            <if test="query.inspectionId != null and query.inspectionId != ''">
                and FIND_IN_SET(#{query.inspectionId},tsau.chronic_disease_id)
            </if>
            AND tsau.disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
        </where>
        ORDER BY tsau.create_time DESC
    </select>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TSysInspectionMapper.xml
@@ -6,7 +6,26 @@
    <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TSysInspection">
        <id column="id" property="id" />
        <result column="app_user_id" property="appUserId" />
        <result column="clinic_id" property="clinicId" />
        <result column="inspection_type" property="inspectionType" />
        <result column="inspection_info" property="inspectionInfo" />
        <result column="team_code" property="teamCode" />
        <result column="team_name" property="teamName" />
        <result column="device_code" property="deviceCode" />
        <result column="device_name" property="deviceName" />
        <result column="person_name" property="personName" />
        <result column="person_sex" property="personSex" />
        <result column="person_age" property="personAge" />
        <result column="person_phone" property="personPhone" />
        <result column="person_height" property="personHeight" />
        <result column="person_weight" property="personWeight" />
        <result column="check_time" property="checkTime" />
        <result column="pdf_url" property="pdfUrl" />
        <result column="health_index" property="healthIndex" />
        <result column="constitution_names" property="constitutionNames" />
        <result column="symptom_name" property="symptomName" />
        <result column="tongue_feature" property="tongueFeature" />
        <result column="disease_risks" property="diseaseRisks" />
        <result column="create_time" property="createTime" />
        <result column="update_time" property="updateTime" />
        <result column="create_by" property="createBy" />
@@ -16,7 +35,7 @@
    <!-- 通用查询结果列 -->
    <sql id="Base_Column_List">
        id, app_user_id, inspection_info, create_time, update_time, create_by, update_by, disabled
        id, app_user_id,clinic_id, inspection_info, team_code, team_name, device_code, device_name, person_name, person_sex, person_age, person_phone, person_height, person_weight, check_time, pdf_url, health_index, constitution_names, symptom_name, tongue_feature, disease_risks, create_time, update_time, create_by, update_by, disabled, create_id
    </sql>
</mapper>
ruoyi-system/src/main/resources/mapper/system/TSysOrderMapper.xml
@@ -21,5 +21,11 @@
    <sql id="Base_Column_List">
        id, app_user_id, inspection_id, order_number, total_money, check_time, create_time, update_time, create_by, update_by, disabled
    </sql>
    <select id="queryListByAppUserId" resultType="com.ruoyi.system.vo.TSysOrderVO">
        select
        <include refid="Base_Column_List"/>
            from t_sys_order
        where app_user_id = #{appUserId} and disabled = ${@com.ruoyi.common.enums.DisabledEnum@NO.getCode()}
    </select>
</mapper>