diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/log/DeptRespondLogDTO.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/log/DeptRespondLogDTO.java new file mode 100644 index 000000000..82a1edd0c --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/dto/log/DeptRespondLogDTO.java @@ -0,0 +1,96 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.dto.log; + +import java.io.Serializable; +import java.util.Date; +import lombok.Data; + + +/** + * 部门响应记录 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-10-22 + */ +@Data +public class DeptRespondLogDTO implements Serializable { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + private String id; + + /** + * 引用ID + */ + private String referenceId; + + /** + * 引用类型 issue或item + */ + private String referenceType; + + /** + * 响应部门的id(被呼叫的部门即审核部门) + */ + private Long respondDeptId; + + /** + * 响应时间即审核时间 + */ + private Date respondTime; + + /** + * 响应类型,参考枚举类DeptRespondTypeEnum + */ + private Integer respondType; + + /** + * 删除标识 0:未删除,1:删除 + */ + private String delFlag; + + /** + * 乐观锁 + */ + private Integer revision; + + /** + * 创建人 + */ + private String createdBy; + + /** + * 创建时间 + */ + private Date createdTime; + + /** + * 更新人 + */ + private String updatedBy; + + /** + * 更新时间 + */ + private Date updatedTime; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/DeptRespondTypeEnum.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/DeptRespondTypeEnum.java index 8d7203362..e6569d443 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/DeptRespondTypeEnum.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/DeptRespondTypeEnum.java @@ -31,11 +31,20 @@ public enum DeptRespondTypeEnum { //------------------------------------- + /** + * 事件-驳回 + */ + EVENT_REVIEW_REJECT(EventIssueItemState.EVENT_REVIEW_REJECT,"事件驳回"), + //----------------------------------------------------------- /** - * 议题:审核通过 + * 议题:审核通过 成为议题 */ ISSUE_HANDLED_PASS(EventIssueItemState.ISSUE_HANDLED_PASS, "审核通过"), + /** + * 议题:议题-已转项目 + */ + ISSUE_CHANGE_TO_ITEM(EventIssueItemState.ISSUE_CHANGE_TO_ITEM, "审核通过"), /** * 议题:反馈 */ @@ -43,7 +52,7 @@ public enum DeptRespondTypeEnum { /** * 议题:关闭 */ - ISSUE_HANDLED_CLOSED(EventIssueItemState.ISSUE_HANDLED_CLOSED, "关闭"), + ISSUE_CLOSED(EventIssueItemState.ISSUE_CLOSED, "关闭"), //------------------------------------- diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/IssueOrItemEnum.java b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ReferenceTypeEnum.java similarity index 70% rename from esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/IssueOrItemEnum.java rename to esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ReferenceTypeEnum.java index 035894c13..6921bcdd3 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/IssueOrItemEnum.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-client/src/main/java/com/elink/esua/epdc/enums/ReferenceTypeEnum.java @@ -6,7 +6,7 @@ package com.elink.esua.epdc.enums; * @author work@yujt.net.cn * @date 2019/10/21 10:30 */ -public enum IssueOrItemEnum { +public enum ReferenceTypeEnum { /** * 议题 @@ -16,12 +16,16 @@ public enum IssueOrItemEnum { /** * 项目 */ - ITEM("item"); + ITEM("item"), + /** + * 事件 + */ + EVENT("event"); private String name; - IssueOrItemEnum(String name) { + ReferenceTypeEnum(String name) { this.name = name; } diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/DeptRespondTask.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/DeptRespondTask.java new file mode 100644 index 000000000..2983f9e77 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/async/DeptRespondTask.java @@ -0,0 +1,96 @@ +package com.elink.esua.epdc.modules.async; + +import com.elink.esua.epdc.commons.tools.security.user.SecurityUser; +import com.elink.esua.epdc.commons.tools.security.user.UserDetail; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.constant.EventIssueItemState; +import com.elink.esua.epdc.constant.EventsNoticeConstant; +import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO; +import com.elink.esua.epdc.dto.issue.form.IssueWaitHandleSubmitFormDTO; +import com.elink.esua.epdc.dto.log.DeptRespondLogDTO; +import com.elink.esua.epdc.enums.DeptRespondTypeEnum; +import com.elink.esua.epdc.enums.ReferenceTypeEnum; +import com.elink.esua.epdc.modules.issue.service.IssueService; +import com.elink.esua.epdc.modules.log.entity.DeptRespondLogEntity; +import com.elink.esua.epdc.modules.log.service.DeptRespondLogService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Component; + +import java.util.Date; + +/** + * @author: qushutong + * @Date: 2019/10/22 14:22 + * @Description: 响应log日志 + */ +@Component +public class DeptRespondTask { + + @Autowired + private DeptRespondLogService deptRespondLogService; + + /*** + * 转议题插入部门响应记录 + * 通过不通过 + * @param dto + * @return void + * @author qushutong + * @date 2019/10/22 11:06 + */ + @Async + public void saveEventDeptRespond(EpdcEventsReviewFormDTO dto) { + //待审核 则不插入 + if (EventIssueItemState.EVENT_PENDING_REVIEW == dto.getEventState()) { + return; + } + //组装插入数据 + DeptRespondLogEntity entity = new DeptRespondLogEntity(); + UserDetail user = SecurityUser.getUser(); + entity.setReferenceId(dto.getId()); + entity.setReferenceType(ReferenceTypeEnum.EVENT.getName()); + entity.setRespondDeptId(user.getDeptId()); + entity.setRespondTime(new Date()); + //审核通过 + if (EventIssueItemState.EVENT_REVIEW_PASS == dto.getEventState()) { + entity.setRespondType(DeptRespondTypeEnum.ISSUE_HANDLED_PASS.getValue()); + }//驳回 + else if (EventIssueItemState.EVENT_REVIEW_REJECT == dto.getEventState()) { + entity.setRespondType(DeptRespondTypeEnum.EVENT_REVIEW_REJECT.getValue()); + } + DeptRespondLogDTO deptRespondLogDTO = ConvertUtils.sourceToTarget(entity, DeptRespondLogDTO.class); + deptRespondLogService.save(deptRespondLogDTO); + } + + /*** + * 议事处理审核/关闭 + * @param dto + * @return void + * @author qushutong + * @date 2019/10/22 14:51 + */ + @Async + public void saveIssueDeptRespond(IssueWaitHandleSubmitFormDTO dto) { + //组装插入数据 + DeptRespondLogEntity entity = new DeptRespondLogEntity(); + UserDetail user = SecurityUser.getUser(); + entity.setReferenceId(dto.getId()); + entity.setReferenceType(ReferenceTypeEnum.ISSUE.getName()); + entity.setRespondDeptId(user.getDeptId()); + entity.setRespondTime(new Date()); + //议题关闭 1-反馈,2-关闭,4-已转项目 + if (EventIssueItemState.ISSUE_CLOSED == dto.getState()) { + entity.setRespondType(DeptRespondTypeEnum.ISSUE_CLOSED.getValue()); + } + //议题审核 + else if (EventIssueItemState.ISSUE_HANDLED_FEEDBACK == dto.getState()) { + entity.setRespondType(DeptRespondTypeEnum.ISSUE_HANDLED_FEEDBACK.getValue()); + } + //已转项目 + else if (EventIssueItemState.ISSUE_CHANGE_TO_ITEM == dto.getState()) { + entity.setRespondType(DeptRespondTypeEnum.ISSUE_CHANGE_TO_ITEM.getValue()); + } + DeptRespondLogDTO deptRespondLogDTO = ConvertUtils.sourceToTarget(entity, DeptRespondLogDTO.class); + deptRespondLogService.save(deptRespondLogDTO); + } +} diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java index de8ef79de..7f9551174 100644 --- a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/events/service/impl/EpdcEventsServiceImpl.java @@ -35,6 +35,9 @@ import com.elink.esua.epdc.dto.events.*; import com.elink.esua.epdc.dto.events.form.EpdcEventSubmitFormDTO; import com.elink.esua.epdc.dto.events.form.EpdcEventsReviewFormDTO; import com.elink.esua.epdc.dto.events.result.EventAppDetailResultDTO; +import com.elink.esua.epdc.dto.log.DeptRespondLogDTO; +import com.elink.esua.epdc.enums.DeptRespondTypeEnum; +import com.elink.esua.epdc.modules.async.DeptRespondTask; import com.elink.esua.epdc.modules.async.NewsTask; import com.elink.esua.epdc.modules.events.dao.EpdcEventsDao; import com.elink.esua.epdc.modules.events.entity.EpdcEventsEntity; @@ -44,12 +47,16 @@ import com.elink.esua.epdc.modules.issue.entity.IssueEntity; import com.elink.esua.epdc.modules.issue.entity.IssueHandleEntity; import com.elink.esua.epdc.modules.issue.service.IssueHandleService; import com.elink.esua.epdc.modules.issue.service.IssueService; +import com.elink.esua.epdc.modules.log.entity.DeptRespondLogEntity; +import com.elink.esua.epdc.modules.log.service.DeptRespondLogService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.scheduling.annotation.Async; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import java.util.Arrays; +import java.util.Date; import java.util.List; import java.util.Map; @@ -74,6 +81,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl listOfPendingReviewEvents(Map params) { IPage page = getPage(params); @@ -88,9 +98,9 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); - String issueCategoryId = (String)params.get("issueCategoryId"); + private QueryWrapper getWrapper(Map params) { + String id = (String) params.get(FieldConstant.ID_HUMP); + String issueCategoryId = (String) params.get("issueCategoryId"); QueryWrapper wrapper = new QueryWrapper<>(); wrapper.eq(StringUtils.isNotBlank(id), FieldConstant.ID, id); wrapper.eq(StringUtils.isNotBlank(issueCategoryId), "ISSUE_CATEGORY_ID", issueCategoryId); @@ -162,7 +172,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl listOfRejectEvents(Map params) { IPage page = getPage(params); @@ -213,7 +227,7 @@ public class EpdcEventsServiceImpl extends BaseServiceImpl imp @Autowired private NewsTask newsTask; + @Autowired + private DeptRespondTask deptRespondTask; + + @Override public PageData listOfIssues(Map params) { IPage page = getPage(params); @@ -105,8 +110,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp return ConvertUtils.sourceToTarget(entityList, IssueDTO.class); } - private QueryWrapper getWrapper(Map params){ - String id = (String)params.get(FieldConstant.ID_HUMP); + 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); @@ -169,7 +174,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp informationFormDTO.setType(EventsNoticeConstant.NOTICE_TYPE_PROGRESS_NOTICE); informationFormDTO.setBusinessType(EventsNoticeConstant.NOTICE_BUSINESS_TYPE_ITEM); informationFormDTO.setBusinessId(entity.getId()); - informationFormDTO.setRelBusinessContent("议题:"+entity.getIssueContent()); + informationFormDTO.setRelBusinessContent("议题:" + entity.getIssueContent()); // 反馈、关闭 if (EventIssueItemState.ISSUE_HANDLED_FEEDBACK == dto.getState() || EventIssueItemState.ISSUE_CLOSED == dto.getState()) { @@ -207,7 +212,8 @@ public class IssueServiceImpl extends BaseServiceImpl imp informationFormDTO.setBusinessId(itemEntity.getId()); } } - + //插入绩效部门响应日志表 + deptRespondTask.saveIssueDeptRespond(dto); // 发送消息 newsTask.insertUserInformation(informationFormDTO); @@ -257,7 +263,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp formDto.setSomeMonthsAgo(DateUtils.addDateMonths(new Date(), -6)); List data = baseDao.selectListOfNewOrHotIssues(formDto); // 查询最热评论 - for (IssueResultDTO dto: + for (IssueResultDTO dto : data) { IssueHotCommentResultDTO resultDTO = eventCommentService.getHotComment(dto.getEventId()); dto.setComment(resultDTO); @@ -291,7 +297,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp public Result> listIssuesAndEventsOfMine(IssuesAndEventsOfMineFormDTO formDTO) { List data = baseDao.selectListOfIssuesAndEventsOfMine(formDTO); // 查询最热评论 - for (IssuesAndEventsOfMineResultDTO dto: + for (IssuesAndEventsOfMineResultDTO dto : data) { IssueHotCommentResultDTO resultDTO = eventCommentService.getHotComment(dto.getEventId()); dto.setComment(resultDTO); @@ -306,6 +312,7 @@ public class IssueServiceImpl extends BaseServiceImpl imp /** * 初始化项目 + * * @Params: [issueEntity] * @Return: com.elink.esua.epdc.modules.item.entity.ItemEntity * @Author: liuchuang diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/controller/DeptRespondLogController.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/controller/DeptRespondLogController.java new file mode 100644 index 000000000..b8cc0bcfe --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/controller/DeptRespondLogController.java @@ -0,0 +1,94 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.log.controller; + +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ExcelUtils; +import com.elink.esua.epdc.commons.tools.utils.Result; +import com.elink.esua.epdc.commons.tools.validator.AssertUtils; +import com.elink.esua.epdc.commons.tools.validator.ValidatorUtils; +import com.elink.esua.epdc.commons.tools.validator.group.AddGroup; +import com.elink.esua.epdc.commons.tools.validator.group.UpdateGroup; +import com.elink.esua.epdc.commons.tools.validator.group.DefaultGroup; +import com.elink.esua.epdc.dto.log.DeptRespondLogDTO; +import com.elink.esua.epdc.modules.log.excel.DeptRespondLogExcel; +import com.elink.esua.epdc.modules.log.service.DeptRespondLogService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; +import java.util.Map; + + +/** + * 部门响应记录 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-10-22 + */ +@RestController +@RequestMapping("deptrespondlog") +public class DeptRespondLogController { + + @Autowired + private DeptRespondLogService deptRespondLogService; + + @GetMapping("page") + public Result> page(@RequestParam Map params){ + PageData page = deptRespondLogService.page(params); + return new Result>().ok(page); + } + + @GetMapping("{id}") + public Result get(@PathVariable("id") String id){ + DeptRespondLogDTO data = deptRespondLogService.get(id); + return new Result().ok(data); + } + + @PostMapping + public Result save(@RequestBody DeptRespondLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); + deptRespondLogService.save(dto); + return new Result(); + } + + @PutMapping + public Result update(@RequestBody DeptRespondLogDTO dto){ + //效验数据 + ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); + deptRespondLogService.update(dto); + return new Result(); + } + + @DeleteMapping + public Result delete(@RequestBody String[] ids){ + //效验数据 + AssertUtils.isArrayEmpty(ids, "id"); + deptRespondLogService.delete(ids); + return new Result(); + } + + @GetMapping("export") + public void export(@RequestParam Map params, HttpServletResponse response) throws Exception { + List list = deptRespondLogService.list(params); + ExcelUtils.exportExcelToTarget(response, null, list, DeptRespondLogExcel.class); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/dao/DeptRespondLogDao.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/dao/DeptRespondLogDao.java new file mode 100644 index 000000000..17bbfc82f --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/dao/DeptRespondLogDao.java @@ -0,0 +1,33 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.log.dao; + +import com.elink.esua.epdc.commons.mybatis.dao.BaseDao; +import com.elink.esua.epdc.modules.log.entity.DeptRespondLogEntity; +import org.apache.ibatis.annotations.Mapper; + +/** + * 部门响应记录 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-10-22 + */ +@Mapper +public interface DeptRespondLogDao extends BaseDao { + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/entity/DeptRespondLogEntity.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/entity/DeptRespondLogEntity.java new file mode 100644 index 000000000..67fd80106 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/entity/DeptRespondLogEntity.java @@ -0,0 +1,66 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.log.entity; + +import com.baomidou.mybatisplus.annotation.TableName; + +import com.elink.esua.epdc.commons.mybatis.entity.BaseEpdcEntity; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * 部门响应记录 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-10-22 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("epdc_dept_respond_log") +public class DeptRespondLogEntity extends BaseEpdcEntity { + + private static final long serialVersionUID = 1L; + + /** + * 引用ID + */ + private String referenceId; + + /** + * 引用类型 issue或item + */ + private String referenceType; + + /** + * 响应部门的id(被呼叫的部门即审核部门) + */ + private Long respondDeptId; + + /** + * 响应时间即审核时间 + */ + private Date respondTime; + + /** + * 响应类型,参考枚举类DeptRespondTypeEnum + */ + private Integer respondType; + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/excel/DeptRespondLogExcel.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/excel/DeptRespondLogExcel.java new file mode 100644 index 000000000..12e31f896 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/excel/DeptRespondLogExcel.java @@ -0,0 +1,71 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.log.excel; + +import cn.afterturn.easypoi.excel.annotation.Excel; +import lombok.Data; + +import java.util.Date; + +/** + * 部门响应记录 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-10-22 + */ +@Data +public class DeptRespondLogExcel { + + @Excel(name = "ID") + private String id; + + @Excel(name = "引用ID") + private String referenceId; + + @Excel(name = "引用类型 issue或item") + private String referenceType; + + @Excel(name = "响应部门的id(被呼叫的部门即审核部门)") + private Long respondDeptId; + + @Excel(name = "响应时间即审核时间") + private Date respondTime; + + @Excel(name = "响应类型,参考枚举类DeptRespondTypeEnum") + private Integer respondType; + + @Excel(name = "删除标识 0:未删除,1:删除") + private String 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/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/redis/DeptRespondLogRedis.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/redis/DeptRespondLogRedis.java new file mode 100644 index 000000000..e186849fb --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/redis/DeptRespondLogRedis.java @@ -0,0 +1,47 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.log.redis; + +import com.elink.esua.epdc.commons.tools.redis.RedisUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Component; + +/** + * 部门响应记录 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-10-22 + */ +@Component +public class DeptRespondLogRedis { + @Autowired + private RedisUtils redisUtils; + + public void delete(Object[] ids) { + + } + + public void set(){ + + } + + public String get(String id){ + return null; + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/service/DeptRespondLogService.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/service/DeptRespondLogService.java new file mode 100644 index 000000000..5c62038bf --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/service/DeptRespondLogService.java @@ -0,0 +1,95 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.log.service; + +import com.elink.esua.epdc.commons.mybatis.service.BaseService; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.dto.log.DeptRespondLogDTO; +import com.elink.esua.epdc.modules.log.entity.DeptRespondLogEntity; + +import java.util.List; +import java.util.Map; + +/** + * 部门响应记录 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-10-22 + */ +public interface DeptRespondLogService extends BaseService { + + /** + * 默认分页 + * + * @param params + * @return PageData + * @author generator + * @date 2019-10-22 + */ + PageData page(Map params); + + /** + * 默认查询 + * + * @param params + * @return java.util.List + * @author generator + * @date 2019-10-22 + */ + List list(Map params); + + /** + * 单条查询 + * + * @param id + * @return DeptRespondLogDTO + * @author generator + * @date 2019-10-22 + */ + DeptRespondLogDTO get(String id); + + /** + * 默认保存 + * + * @param dto + * @return void + * @author generator + * @date 2019-10-22 + */ + void save(DeptRespondLogDTO dto); + + /** + * 默认更新 + * + * @param dto + * @return void + * @author generator + * @date 2019-10-22 + */ + void update(DeptRespondLogDTO dto); + + /** + * 批量删除 + * + * @param ids + * @return void + * @author generator + * @date 2019-10-22 + */ + void delete(String[] ids); +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/service/impl/DeptRespondLogServiceImpl.java b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/service/impl/DeptRespondLogServiceImpl.java new file mode 100644 index 000000000..d8f3c4afa --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/java/com/elink/esua/epdc/modules/log/service/impl/DeptRespondLogServiceImpl.java @@ -0,0 +1,104 @@ +/** + * Copyright 2018 人人开源 https://www.renren.io + *

+ * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + *

+ * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + *

+ * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +package com.elink.esua.epdc.modules.log.service.impl; + +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; +import com.elink.esua.epdc.commons.tools.page.PageData; +import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; +import com.elink.esua.epdc.commons.tools.constant.FieldConstant; +import com.elink.esua.epdc.modules.log.dao.DeptRespondLogDao; +import com.elink.esua.epdc.dto.log.DeptRespondLogDTO; +import com.elink.esua.epdc.modules.log.entity.DeptRespondLogEntity; +import com.elink.esua.epdc.modules.log.redis.DeptRespondLogRedis; +import com.elink.esua.epdc.modules.log.service.DeptRespondLogService; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Arrays; +import java.util.List; +import java.util.Map; + +/** + * 部门响应记录 + * + * @author qu qu@elink-cn.com + * @since v1.0.0 2019-10-22 + */ +@Service +public class DeptRespondLogServiceImpl extends BaseServiceImpl implements DeptRespondLogService { + + @Autowired + private DeptRespondLogRedis deptRespondLogRedis; + + @Override + public PageData page(Map params) { + IPage page = baseDao.selectPage( + getPage(params, FieldConstant.CREATED_TIME, false), + getWrapper(params) + ); + return getPageData(page, DeptRespondLogDTO.class); + } + + @Override + public List list(Map params) { + List entityList = baseDao.selectList(getWrapper(params)); + + return ConvertUtils.sourceToTarget(entityList, DeptRespondLogDTO.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 DeptRespondLogDTO get(String id) { + DeptRespondLogEntity entity = baseDao.selectById(id); + return ConvertUtils.sourceToTarget(entity, DeptRespondLogDTO.class); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void save(DeptRespondLogDTO dto) { + DeptRespondLogEntity entity = ConvertUtils.sourceToTarget(dto, DeptRespondLogEntity.class); + insert(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void update(DeptRespondLogDTO dto) { + DeptRespondLogEntity entity = ConvertUtils.sourceToTarget(dto, DeptRespondLogEntity.class); + updateById(entity); + } + + @Override + @Transactional(rollbackFor = Exception.class) + public void delete(String[] ids) { + // 逻辑删除(@TableLogic 注解) + baseDao.deleteBatchIds(Arrays.asList(ids)); + } + +} \ No newline at end of file diff --git a/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/log/DeptRespondLogDao.xml b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/log/DeptRespondLogDao.xml new file mode 100644 index 000000000..52fb4fe51 --- /dev/null +++ b/esua-epdc/epdc-module/epdc-events/epdc-events-server/src/main/resources/mapper/log/DeptRespondLogDao.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file