From a40429e0df56c94fecd29dbfb4c99cf2d393a1a8 Mon Sep 17 00:00:00 2001 From: liujie <1793218484@qq.com> Date: 星期五, 05 九月 2025 11:14:09 +0800 Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/haizhentong --- ruoyi-system/src/main/resources/mapper/system/TSysInspectionMapper.xml | 21 + ruoyi-system/src/main/resources/mapper/system/TSysOrderMapper.xml | 6 ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysOrderMapper.java | 11 ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAppUser.java | 13 ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/LivePushJob.java | 29 + ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java | 9 ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java | 63 +++ ruoyi-system/src/main/resources/mapper/system/TRegionMapper.xml | 21 + ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java | 26 + ruoyi-system/src/main/java/com/ruoyi/system/service/TSysAppUserService.java | 23 + ruoyi-system/src/main/java/com/ruoyi/system/service/TRegionService.java | 23 + ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysOrderVO.java | 18 + generator/src/test/java/com/xizang/CodeGeneratorTests.java | 2 ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java | 89 +++++ ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TRegionController.java | 51 +++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TRegionMapper.java | 18 + ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java | 7 ruoyi-system/src/main/resources/mapper/system/TSysAppUserMapper.xml | 53 +++ ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java | 9 ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysAppUserVO.java | 34 ++ ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java | 9 ruoyi-system/src/main/java/com/ruoyi/system/model/TSysInspection.java | 75 ++++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TRegionServiceImpl.java | 35 ++ ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java | 2 /dev/null | 25 - ruoyi-system/src/main/java/com/ruoyi/system/model/TRegion.java | 62 +++ ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java | 25 + ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysAppUserController.java | 179 ++++++++++ ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysAppUserMapper.java | 21 + ruoyi-system/src/main/java/com/ruoyi/system/query/TSysAppUserQuery.java | 29 + 30 files changed, 945 insertions(+), 43 deletions(-) diff --git a/generator/src/test/java/com/xizang/CodeGeneratorTests.java b/generator/src/test/java/com/xizang/CodeGeneratorTests.java index 725e5d6..c87f2a6 100644 --- a/generator/src/test/java/com/xizang/CodeGeneratorTests.java +++ b/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"));// 不生成表名 diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TRegionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TRegionController.java new file mode 100644 index 0000000..67334f7 --- /dev/null +++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TRegionController.java @@ -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))); + } +} + diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysAppUserController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysAppUserController.java index 401f0b7..4b9c45c 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysAppUserController.java +++ b/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(); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java index c873c0b..f2b83a4 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/api/TSysInspectionController.java +++ b/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)); + } + } diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java b/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java index e5836a2..607f8ea 100644 --- a/ruoyi-admin/src/main/java/com/ruoyi/web/core/config/DataUpdateHandlerConfig.java +++ b/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); } diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java b/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java index 9042014..5086ef8 100644 --- a/ruoyi-common/src/main/java/com/ruoyi/common/utils/DateUtils.java +++ b/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 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TRegionMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TRegionMapper.java new file mode 100644 index 0000000..a690520 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TRegionMapper.java @@ -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> { + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysAppUserMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysAppUserMapper.java index f9fa25e..1b924a5 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysAppUserMapper.java +++ b/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); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysOrderMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysOrderMapper.java index 1c4a15f..220ed52 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/TSysOrderMapper.java +++ b/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); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TRegion.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TRegion.java new file mode 100644 index 0000000..e1875d9 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/model/TRegion.java @@ -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; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAppUser.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAppUser.java index bb307db..27942c1 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysAppUser.java +++ b/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; + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysInspection.java b/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysInspection.java index 4a046b3..b738d84 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/model/TSysInspection.java +++ b/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; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/query/TSysAppUserQuery.java b/ruoyi-system/src/main/java/com/ruoyi/system/query/TSysAppUserQuery.java new file mode 100644 index 0000000..e5b96e3 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/query/TSysAppUserQuery.java @@ -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; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TRegionService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TRegionService.java new file mode 100644 index 0000000..4b6fab6 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/TRegionService.java @@ -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(); +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysAppUserService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysAppUserService.java index aa0b9c7..83dce4b 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysAppUserService.java +++ b/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); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java index ca9459f..26fec74 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/TSysOrderService.java +++ b/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); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TRegionServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TRegionServiceImpl.java new file mode 100644 index 0000000..cf5a63d --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TRegionServiceImpl.java @@ -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; + } +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java index 9ca141c..fcc0411 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysAppUserServiceImpl.java +++ b/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; + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java index 496e7eb..c5456e0 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysLiveServiceImpl.java +++ b/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(); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java index fa46e03..aaa4d00 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/TSysOrderServiceImpl.java +++ b/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); + } } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java b/ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java index 0950214..e738867 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/task/base/AbstractJob.java +++ b/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); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java b/ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java index 8bacc4a..67782ff 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/task/base/TimeJobType.java +++ b/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) { diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/LivePushJob.java b/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/LivePushJob.java new file mode 100644 index 0000000..defd05a --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/LivePushJob.java @@ -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(); + } + } + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java b/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java deleted file mode 100644 index 025f67f..0000000 --- a/ruoyi-system/src/main/java/com/ruoyi/system/task/jobs/StateProcessJob.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.ruoyi.system.task.jobs; - -import com.ruoyi.system.task.base.AbstractJob; -import org.quartz.JobExecutionContext; -import org.quartz.JobExecutionException; - -/** - * 发票定时任务 - * @author Administrator - * - */ -public class StateProcessJob extends AbstractJob { - - public static final String name = "stateProcess_"; - - @Override - public void execute(JobExecutionContext context) - throws JobExecutionException { - try { - }catch(Exception e){ - e.printStackTrace(); - } - } - -} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysAppUserVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysAppUserVO.java new file mode 100644 index 0000000..f9d32dc --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysAppUserVO.java @@ -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; + +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysOrderVO.java b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysOrderVO.java new file mode 100644 index 0000000..4246580 --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/vo/TSysOrderVO.java @@ -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; + +} diff --git a/ruoyi-system/src/main/resources/mapper/system/TRegionMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TRegionMapper.xml new file mode 100644 index 0000000..f9437e8 --- /dev/null +++ b/ruoyi-system/src/main/resources/mapper/system/TRegionMapper.xml @@ -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> diff --git a/ruoyi-system/src/main/resources/mapper/system/TSysAppUserMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TSysAppUserMapper.xml index ed86f4f..2fc698c 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TSysAppUserMapper.xml +++ b/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> diff --git a/ruoyi-system/src/main/resources/mapper/system/TSysInspectionMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TSysInspectionMapper.xml index a599d58..94f9fb8 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TSysInspectionMapper.xml +++ b/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> diff --git a/ruoyi-system/src/main/resources/mapper/system/TSysOrderMapper.xml b/ruoyi-system/src/main/resources/mapper/system/TSysOrderMapper.xml index 8adf955..bd05255 100644 --- a/ruoyi-system/src/main/resources/mapper/system/TSysOrderMapper.xml +++ b/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> -- Gitblit v1.7.1