From d15bb50dfc52dfe2af143fc2ff1706ad7c5b5bcc Mon Sep 17 00:00:00 2001 From: luyan Date: Tue, 20 Jun 2023 15:48:54 +0800 Subject: [PATCH] =?UTF-8?q?=E7=A4=BE=E5=8C=BA=E5=8C=BB=E7=96=97=E6=9C=8D?= =?UTF-8?q?=E5=8A=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/epmet/dto/CommunityCareDTO.java | 75 +++++++++++ .../epmet/dto/form/CommunityCareFormDTO.java | 79 ++++++++++++ .../controller/CommunityCareController.java | 76 ++++++++++++ .../java/com/epmet/dao/CommunityCareDao.java | 23 ++++ .../com/epmet/entity/CommunityCareEntity.java | 73 +++++++++++ .../com/epmet/excel/CommunityCareExcel.java | 69 +++++++++++ .../epmet/service/CommunityCareService.java | 81 ++++++++++++ .../impl/CommunityCareServiceImpl.java | 117 ++++++++++++++++++ .../resources/mapper/CommunityCareDao.xml | 70 +++++++++++ 9 files changed, 663 insertions(+) create mode 100755 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/CommunityCareDTO.java create mode 100644 epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CommunityCareFormDTO.java create mode 100755 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/CommunityCareController.java create mode 100755 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/CommunityCareDao.java create mode 100755 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/CommunityCareEntity.java create mode 100755 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/CommunityCareExcel.java create mode 100755 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/CommunityCareService.java create mode 100755 epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/CommunityCareServiceImpl.java create mode 100755 epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/CommunityCareDao.xml diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/CommunityCareDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/CommunityCareDTO.java new file mode 100755 index 0000000000..f5643833a2 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/CommunityCareDTO.java @@ -0,0 +1,75 @@ +package com.epmet.dto; + +import lombok.Data; + +import java.io.Serializable; +import java.util.Date; + + +/** + * 日照:社区医疗服务 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-06-19 + */ +@Data +public class CommunityCareDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * 主键ID + */ + private String id; + + /** + * 服务标题 + */ + private String title; + + /** + * 服务类型 + */ + private String serviceType; + + /** + * 发布时间 + */ + private Date releaseTime; + + /** + * 商户名称 + */ + private String unitName; + + /** + * 商户地址 + */ + private String unitAddr; + + /** + * 联系人 + */ + private String attn; + + /** + * 联系人电话 + */ + private String attnPhone; + + /** + * 服务内容 + */ + private String content; + + /** + * 上门服务 + */ + private String onsiteServices; + + /** + * 封面图片 + */ + private String imgUrl; + +} diff --git a/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CommunityCareFormDTO.java b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CommunityCareFormDTO.java new file mode 100644 index 0000000000..41f91d869b --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/CommunityCareFormDTO.java @@ -0,0 +1,79 @@ +package com.epmet.dto.form; + +import com.epmet.commons.tools.dto.form.PageFormDTO; +import lombok.Data; + +import java.io.Serializable; + +/** + * @author yan Lu + * @description 描述 + * @create 2023/6/19 20:03 + */ +@Data +public class CommunityCareFormDTO extends PageFormDTO implements Serializable { + + private static final long serialVersionUID = -1982531591277565163L; + + /** + * 主键ID + */ + private String id; + + /** + * 服务标题 + */ + private String title; + + /** + * 服务类型 + */ + private String serviceType; + + /** + * 发布时间 + */ + private String releaseTime; + + /** + * 商户名称 + */ + private String unitName; + + /** + * 商户地址 + */ + private String unitAddr; + + /** + * 联系人 + */ + private String attn; + + /** + * 联系人电话 + */ + private String attnPhone; + + /** + * 服务内容 + */ + private String content; + + /** + * 上门服务 + */ + private String onsiteServices; + + /** + * 封面图片 + */ + private String imgUrl; + + /** + * 发布时间 + */ + private String startTime; + + private String endTime; +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/CommunityCareController.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/CommunityCareController.java new file mode 100755 index 0000000000..4acb8dc7cc --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/CommunityCareController.java @@ -0,0 +1,76 @@ +package com.epmet.controller; + +import com.epmet.commons.tools.aop.NoRepeatSubmit; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.Result; +import com.epmet.commons.tools.validator.AssertUtils; +import com.epmet.commons.tools.validator.ValidatorUtils; +import com.epmet.commons.tools.validator.group.AddGroup; +import com.epmet.commons.tools.validator.group.DefaultGroup; +import com.epmet.commons.tools.validator.group.UpdateGroup; +import com.epmet.dto.CommunityCareDTO; +import com.epmet.dto.form.CommunityCareFormDTO; +import com.epmet.service.CommunityCareService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import java.util.Map; + + +/** + * 日照:社区医疗服务 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-06-19 + */ +@RestController +@RequestMapping("communityCare") +public class CommunityCareController { + + @Autowired + private CommunityCareService communityCareService; + + @RequestMapping("page") + public Result> page(@RequestParam Map params) { + PageData page = communityCareService.page(params); + return new Result>().ok(page); + } + + @RequestMapping(value = "{id}", method = {RequestMethod.POST, RequestMethod.GET}) + public Result get(@PathVariable("id") String id) { + CommunityCareDTO data = communityCareService.get(id); + return new Result().ok(data); + } + + @NoRepeatSubmit + @PostMapping("save") + public Result save(@RequestBody CommunityCareFormDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + communityCareService.save(dto); + return new Result(); + } + + @NoRepeatSubmit + @PostMapping("update") + public Result update(@RequestBody CommunityCareFormDTO dto) { + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + communityCareService.update(dto); + return new Result(); + } + + @PostMapping("delete") + public Result delete(@RequestBody String[] ids) { + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + communityCareService.delete(ids); + return new Result(); + } + + @PostMapping("search") + public Result> search(@RequestBody CommunityCareFormDTO dto) { + return new Result().ok(communityCareService.search(dto)); + } + +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/CommunityCareDao.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/CommunityCareDao.java new file mode 100755 index 0000000000..d6f0e465da --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/CommunityCareDao.java @@ -0,0 +1,23 @@ +package com.epmet.dao; + +import com.epmet.commons.mybatis.dao.BaseDao; +import com.epmet.dto.CommunityCareDTO; +import com.epmet.entity.CommunityCareEntity; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 日照:社区医疗服务 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-06-19 + */ +@Mapper +public interface CommunityCareDao extends BaseDao { + + List search(@Param("title") String title, @Param("unitName") String unitName, + @Param("attn") String attn, @Param("onsite") String onsite, + @Param("startTime") String startTime, @Param("endTime") String endTime); +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/CommunityCareEntity.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/CommunityCareEntity.java new file mode 100755 index 0000000000..95fffeb490 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/entity/CommunityCareEntity.java @@ -0,0 +1,73 @@ +package com.epmet.entity; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.epmet.commons.mybatis.entity.BaseEpmetEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 日照:社区医疗服务 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-06-19 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("community_care") +public class CommunityCareEntity extends BaseEpmetEntity { + + private static final long serialVersionUID = 1L; + + /** + * 服务标题 + */ + private String title; + + /** + * 服务类型 + */ + private String serviceType; + + /** + * 发布时间 + */ + private Date releaseTime; + + /** + * 商户名称 + */ + private String unitName; + + /** + * 商户地址 + */ + private String unitAddr; + + /** + * 联系人 + */ + private String attn; + + /** + * 联系人电话 + */ + private String attnPhone; + + /** + * 服务内容 + */ + private String content; + + /** + * 上门服务 + */ + private String onsiteServices; + + /** + * 封面图片 + */ + private String imgUrl; + +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/CommunityCareExcel.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/CommunityCareExcel.java new file mode 100755 index 0000000000..43898fb1f6 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/excel/CommunityCareExcel.java @@ -0,0 +1,69 @@ +package com.epmet.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 日照:社区医疗服务 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-06-19 + */ +@Data +public class CommunityCareExcel { + + @Excel(name = "主键ID") + private String id; + + @Excel(name = "服务标题") + private String title; + + @Excel(name = "服务类型") + private String serviceType; + + @Excel(name = "发布时间") + private Date releaseTime; + + @Excel(name = "商户名称") + private String unitName; + + @Excel(name = "商户地址") + private String unitAddr; + + @Excel(name = "联系人") + private String attn; + + @Excel(name = "联系人电话") + private String attnPhone; + + @Excel(name = "服务内容") + private String content; + + @Excel(name = "上门服务") + private String onsiteServices; + + @Excel(name = "封面图片") + private String imgUrl; + + @Excel(name = "删除标识 0.未删除 1.已删除") + private Integer delFlag; + + @Excel(name = "乐观锁") + private Integer revision; + + @Excel(name = "创建人") + private String createdBy; + + @Excel(name = "创建时间") + private Date createdTime; + + @Excel(name = "更新人") + private String updatedBy; + + @Excel(name = "更新时间") + private Date updatedTime; + + +} \ No newline at end of file diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/CommunityCareService.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/CommunityCareService.java new file mode 100755 index 0000000000..40c4e968de --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/CommunityCareService.java @@ -0,0 +1,81 @@ +package com.epmet.service; + +import com.epmet.commons.mybatis.service.BaseService; +import com.epmet.commons.tools.page.PageData; +import com.epmet.dto.CommunityCareDTO; +import com.epmet.dto.form.CommunityCareFormDTO; +import com.epmet.entity.CommunityCareEntity; + +import java.util.List; +import java.util.Map; + +/** + * 日照:社区医疗服务 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-06-19 + */ +public interface CommunityCareService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2023-06-19 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2023-06-19 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return CommunityCareDTO + * @author generator + * @date 2023-06-19 + */ + CommunityCareDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2023-06-19 + */ + void save(CommunityCareFormDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2023-06-19 + */ + void update(CommunityCareFormDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2023-06-19 + */ + void delete(String[] ids); + + PageData search(CommunityCareFormDTO dto); +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/CommunityCareServiceImpl.java b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/CommunityCareServiceImpl.java new file mode 100755 index 0000000000..be2947cbf4 --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/CommunityCareServiceImpl.java @@ -0,0 +1,117 @@ +package com.epmet.service.impl; + +import cn.hutool.core.date.DateUtil; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; +import com.epmet.commons.tools.constant.FieldConstant; +import com.epmet.commons.tools.page.PageData; +import com.epmet.commons.tools.utils.ConvertUtils; +import com.epmet.dao.CommunityCareDao; +import com.epmet.dto.CommunityCareDTO; +import com.epmet.dto.form.CommunityCareFormDTO; +import com.epmet.entity.CommunityCareEntity; +import com.epmet.service.CommunityCareService; +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 日照:社区医疗服务 + * + * @author generator generator@elink-cn.com + * @since v1.0.0 2023-06-19 + */ +@Service +public class CommunityCareServiceImpl extends BaseServiceImpl implements CommunityCareService { + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, CommunityCareDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, CommunityCareDTO.class); + } + + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + + QueryWrapper wrapper = new QueryWrapper<>(); + wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); + + return wrapper; + } + + @Override + public CommunityCareDTO get(String id) { + CommunityCareEntity entity = baseDao.selectById(id); + CommunityCareDTO dto = ConvertUtils.sourceToTarget(entity, CommunityCareDTO.class); + if (null != dto.getReleaseTime()) { + dto.setReleaseTime(DateUtil.parseDate(DateUtil.formatDate(dto.getReleaseTime()))); + } + return ConvertUtils.sourceToTarget(entity, CommunityCareDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(CommunityCareFormDTO dto) { + CommunityCareEntity entity = ConvertUtils.sourceToTarget(dto, CommunityCareEntity.class); + if (null != dto.getReleaseTime()) { + entity.setReleaseTime(DateUtil.parseDate(dto.getReleaseTime())); + } + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(CommunityCareFormDTO dto) { + CommunityCareEntity entity = ConvertUtils.sourceToTarget(dto, CommunityCareEntity.class); + if (null != dto.getReleaseTime()) { + entity.setReleaseTime(DateUtil.parseDate(dto.getReleaseTime())); + } + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + + @Override + public PageData search(CommunityCareFormDTO dto) { + PageInfo pageInfo = PageHelper.startPage(dto.getPageNo(), dto.getPageSize(), dto.getIsPage()) + .doSelectPageInfo(() -> baseDao.search(dto.getTitle(), dto.getUnitName(), dto.getAttn(), dto.getOnsiteServices(), dto.getStartTime(), dto.getEndTime())); + if (null != pageInfo.getList() && pageInfo.getList().size() > 0) { + buildDate(pageInfo.getList()); + } + return new PageData<>(pageInfo.getList() == null ? new ArrayList<>() : pageInfo.getList(), pageInfo.getTotal()); + } + + private void buildDate(List dateList) { + if (null != dateList && dateList.size() > 0) { + for (CommunityCareDTO dto : dateList) { + if (null != dto.getReleaseTime()) { + dto.setReleaseTime(DateUtil.parseDate(DateUtil.formatDate(dto.getReleaseTime()))); + } + } + } + } + +} diff --git a/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/CommunityCareDao.xml b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/CommunityCareDao.xml new file mode 100755 index 0000000000..a47c6c9dae --- /dev/null +++ b/epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/CommunityCareDao.xml @@ -0,0 +1,70 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +