kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-api/src/main/java/com/kidgrow/oprationcenter/model/HospitalScreening.java
@@ -1,5 +1,6 @@ package com.kidgrow.oprationcenter.model; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.databind.annotation.JsonSerialize; import com.fasterxml.jackson.databind.ser.std.ToStringSerializer; @@ -83,5 +84,6 @@ /** * 查询关键字 */ @TableField(exist = false) private String keyWord; } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/mapper/HospitalScreeningMapper.java
@@ -10,15 +10,17 @@ /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * * @version 1.0 * @Description: 筛查医院信息表-未完待续<br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-04-01 09:37:05 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> * @version 1.0 */ public interface HospitalScreeningMapper extends SuperMapper<HospitalScreening> { /** * 分页查询筛查医院信息表-未完待续列表 * * @param page * @param params * @return @@ -27,6 +29,7 @@ /** * 根据HospitalScreening对象当做查询条件进行查询 * * @param * @return HospitalScreening对象 */ @@ -34,8 +37,16 @@ /** * 根据医院名称模糊查询医院数据列表 * * @param hospitalName * @return */ List<HospitalScreening> findByName(@Param("hospitalName") String hospitalName); /** * 查询所有有效医院,放入redis中 * * @return */ List<HospitalScreening> findAll(); } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/IHospitalScreeningService.java
@@ -54,10 +54,21 @@ /** * 导出医院数据 * * @param param 参数 * @return */ List<ScreeningHospitalDataExcel> export(Map<String, Object> param); /** * 医院数据放到redis */ void tableToRedis(); /** * @param hospitalScreening */ void updateRedisById(HospitalScreening hospitalScreening); } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/java/com/kidgrow/oprationcenter/service/impl/HospitalScreeningServiceImpl.java
@@ -9,6 +9,7 @@ import com.kidgrow.oprationcenter.model.HospitalScreening; import com.kidgrow.oprationcenter.model.ScreeningHospitalDataExcel; import com.kidgrow.oprationcenter.service.IHospitalScreeningService; import com.kidgrow.redis.util.RedisUtils; import com.kidgrow.report.feign.ReportService; import lombok.extern.slf4j.Slf4j; import org.apache.commons.collections4.MapUtils; @@ -20,11 +21,12 @@ /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * * @version 1.0 * @Description: 筛查医院信息表-未完待续<br> * @Project: 用户中心<br> * @CreateDate: Created in 2020-04-01 09:37:05 <br> * @Author: <a href="4345453@kidgrow.com">liuke</a> * @version 1.0 */ @Slf4j @Service @@ -32,49 +34,56 @@ @Autowired private ReportService reportService; @Autowired private RedisUtils redisUtils; private static final String CUSOTMERHOSPITAL = "CUSOTMER_HOSPITAL"; /** * 列表 * * @param params * @return */ @Override public PageResult<HospitalScreening> findList(Map<String, Object> params){ public PageResult<HospitalScreening> findList(Map<String, Object> params) { Page<HospitalScreening> page = new Page<>(MapUtils.getInteger(params, "page"), MapUtils.getInteger(params, "limit")); List<HospitalScreening> list = baseMapper.findList(page, params); List<HospitalScreening> list = baseMapper.findList(page, params); return PageResult.<HospitalScreening>builder().data(list).code(0).count(page.getTotal()).build(); } /** * 根据HospitalScreening对象当做查询条件进行查询 * @param hospitalScreening * @return HospitalScreening */ * 根据HospitalScreening对象当做查询条件进行查询 * * @param hospitalScreening * @return HospitalScreening */ @Override public HospitalScreening findByObject(HospitalScreening hospitalScreening){ public HospitalScreening findByObject(HospitalScreening hospitalScreening) { return baseMapper.findByObject(hospitalScreening); } /** * 更新状态:推送装填,启停状态 * * @param params 包含:1、type:0推送,1启停 * 2、ID :ID * 3、val:对用的值 * 2、ID :ID * 3、val:对用的值 * @return */ @Override public ResultBody updateEnabled(Map<String, Object> params) { int type = MapUtils.getInteger(params,"type"); int val = MapUtils.getInteger(params,"objVal"); long id = MapUtils.getLong(params,"objId"); int type = MapUtils.getInteger(params, "type"); int val = MapUtils.getInteger(params, "objVal"); long id = MapUtils.getLong(params, "objId"); HospitalScreening hospitalScreening = baseMapper.selectById(id); if(hospitalScreening == null){ if (hospitalScreening == null) { return ResultBody.failed("医院数据不存在!"); } switch (type){ switch (type) { case 0: hospitalScreening.setIsScreeningPush(val); break; @@ -87,11 +96,14 @@ int count = baseMapper.updateById(hospitalScreening); updateRedisById(hospitalScreening); return count > 0 ? ResultBody.ok().msg("更新成功") : ResultBody.failed("更新失败"); } /** * 根据医院名称模糊查询医院数据列表 * * @param hospitalName * @return */ @@ -100,13 +112,48 @@ return ResultBody.ok().data(baseMapper.findByName(hospitalName)).msg("查询成功"); } /** * 医院数据导出 * * @param param 参数 * @return */ @Override public List<ScreeningHospitalDataExcel> export(Map<String, Object> param) { List<ScreeningHospitalDataExcel> list = null; ResultBody resultBody = reportService.exportData(param); if(resultBody.getCode() == 0 && resultBody.getData() != null){ if (resultBody.getCode() == 0 && resultBody.getData() != null) { list = JSONArray.parseArray(JSONArray.toJSONString(resultBody.getData()), ScreeningHospitalDataExcel.class); } return list; } /** * 初始化,将表中的数据放入redis中 */ @Override public void tableToRedis() { List<HospitalScreening> list = baseMapper.findAll(); if (list.size() > 0) { if (redisUtils.hasKey(CUSOTMERHOSPITAL)) { redisUtils.del(CUSOTMERHOSPITAL); } for (HospitalScreening hs : list) { redisUtils.hset(CUSOTMERHOSPITAL, String.valueOf(hs.getId()), hs); } } } /** * 更新redis * * @param hospitalScreening */ @Override public void updateRedisById(HospitalScreening hospitalScreening) { if (redisUtils.hasKey(CUSOTMERHOSPITAL)) { redisUtils.hset(CUSOTMERHOSPITAL, String.valueOf(hospitalScreening.getId()), hospitalScreening); } } } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/HospitalScreeningMapper.xml
@@ -98,4 +98,11 @@ where is_del=0 and enabled=1 and hospital_name LIKE concat('%',#{hospitalName},'%') order by hospital_name desc,id desc </select> <select id="findAll" resultType="com.kidgrow.oprationcenter.model.HospitalScreening"> select <include refid="Column_List"/> from hospital_screening where is_del=0 </select> </mapper> kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/config/RedisStartupRunner.java
New file @@ -0,0 +1,19 @@ package com.kidgrow.oprationcenter.config; import com.kidgrow.oprationcenter.service.IHospitalScreeningService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.core.annotation.Order; import org.springframework.stereotype.Component; @Component //作为bean加入spring @Order(value = 2)//多个启动任务的执行顺序 public class RedisStartupRunner implements CommandLineRunner { @Autowired IHospitalScreeningService hospitalScreeningService; @Override public void run(String... args) throws Exception { hospitalScreeningService.tableToRedis(); } } kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-server/src/main/java/com/kidgrow/oprationcenter/controller/HospitalScreeningController.java
@@ -28,6 +28,7 @@ /** * 石家庄喜高科技有限责任公司 版权所有 © Copyright 2020<br> * * @Description: 筛查医院信息表-未完待续 * @Project: 运营中心 * @CreateDate: Created in 2020-04-02 18:25:34 <br> @@ -38,7 +39,7 @@ @RestController @RequestMapping("/hospitalscreening") @Api(tags = "筛查医院信息表-未完待续") public class HospitalScreeningController extends BaseController{ public class HospitalScreeningController extends BaseController { @Autowired private IHospitalScreeningService hospitalScreeningService; @@ -51,10 +52,10 @@ @ApiImplicitParam(name = "limit", value = "分页结束位置", required = true, dataType = "Integer") }) @GetMapping public PageResult<HospitalScreening> list(@RequestParam Map<String, Object> params) { if(params.size()==0){ params.put("page",1); params.put("limit",10); public PageResult<HospitalScreening> list(@RequestParam Map<String, Object> params) { if (params.size() == 0) { params.put("page", 1); params.put("limit", 10); } return hospitalScreeningService.findList(params); } @@ -85,26 +86,28 @@ @ApiOperation(value = "保存") @PostMapping public ResultBody save(@Valid @RequestBody HospitalScreening hospitalScreening, BindingResult bindingResult) { List<String> errMsg= new ArrayList<>(); List<String> errMsg = new ArrayList<>(); if (bindingResult.hasErrors()) { for (ObjectError error : bindingResult.getAllErrors()) { errMsg.add(error.getDefaultMessage()); } return ResultBody.failed().msg(errMsg.toString()); } else { if(hospitalScreening.getId() == null){ } else { if (hospitalScreening.getId() == null) { HospitalScreening hs = new HospitalScreening(); hs.setHospitalId(hospitalScreening.getHospitalId()); HospitalScreening byObject = hospitalScreeningService.findByObject(hs); if(byObject != null){ if (byObject != null) { return ResultBody.failed().msg("该医院已添加"); } } boolean v= hospitalScreeningService.saveOrUpdate(hospitalScreening); if(v) { boolean v = hospitalScreeningService.saveOrUpdate(hospitalScreening); //更新redis hospitalScreeningService.updateRedisById(hospitalScreening); if (v) { return ResultBody.ok().data(hospitalScreening).msg("保存成功"); } else { } else { return ResultBody.failed().msg("保存失败"); } } @@ -116,11 +119,10 @@ @ApiOperation(value = "删除") @DeleteMapping("/{id}") public ResultBody delete(@PathVariable Long id) { boolean v= hospitalScreeningService.removeById(id); if(v) { boolean v = hospitalScreeningService.removeById(id); if (v) { return ResultBody.ok().msg("删除成功"); } else { } else { return ResultBody.failed().msg("删除失败"); } } @@ -155,11 +157,11 @@ @ApiOperation(value = "导出") @PostMapping("/export") public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws IOException { public void export(@RequestParam Map<String, Object> params, HttpServletResponse response) throws IOException { List<ScreeningHospitalDataExcel> list = hospitalScreeningService.export(params); //导出操作 if(list != null && list.size() > 0) { String name = MapUtils.getString(params,"hospitalName"); if (list != null && list.size() > 0) { String name = MapUtils.getString(params, "hospitalName"); ExcelUtil.exportExcel(list, null, name, ScreeningHospitalDataExcel.class, name, response); } }