forked from rongchao/epmet-cloud-rizhao
57 changed files with 765 additions and 97 deletions
@ -0,0 +1,42 @@ |
|||||
|
/** |
||||
|
* Copyright 2018 人人开源 https://www.renren.io
|
||||
|
* <p> |
||||
|
* 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. |
||||
|
* <p> |
||||
|
* 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. |
||||
|
* <p> |
||||
|
* You should have received a copy of the GNU General Public License |
||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
*/ |
||||
|
|
||||
|
package com.epmet.commons.tools.dto.form; |
||||
|
|
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
|
||||
|
/** |
||||
|
* epmet-user端调用gov-org端的入参 |
||||
|
* @author sun |
||||
|
*/ |
||||
|
@Data |
||||
|
public class CustomerGridFormDTO implements Serializable { |
||||
|
|
||||
|
private static final long serialVersionUID = 1L; |
||||
|
/** |
||||
|
* 网格Id |
||||
|
*/ |
||||
|
@NotBlank(message = "网格ID不能为空", groups = {Grid.class}) |
||||
|
private String gridId; |
||||
|
|
||||
|
public interface Grid{} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,29 @@ |
|||||
|
package com.epmet.commons.tools.feign; |
||||
|
|
||||
|
import com.epmet.commons.tools.constant.ServiceConstant; |
||||
|
import com.epmet.commons.tools.dto.form.CustomerGridFormDTO; |
||||
|
import com.epmet.commons.tools.feign.fallback.CommonGovOrgFeignClientFallBackFactory; |
||||
|
import com.epmet.commons.tools.redis.common.bean.GridInfoCache; |
||||
|
import com.epmet.commons.tools.utils.Result; |
||||
|
import org.springframework.cloud.openfeign.FeignClient; |
||||
|
import org.springframework.web.bind.annotation.PostMapping; |
||||
|
import org.springframework.web.bind.annotation.RequestBody; |
||||
|
|
||||
|
/** |
||||
|
* @Author zxc |
||||
|
* @DateTime 2022/3/17 1:42 下午 |
||||
|
* @DESC |
||||
|
*/ |
||||
|
@FeignClient(name = ServiceConstant.GOV_ORG_SERVER, fallbackFactory = CommonGovOrgFeignClientFallBackFactory.class) |
||||
|
public interface CommonGovOrgFeignClient { |
||||
|
|
||||
|
/** |
||||
|
* @Description 查询网格信息 |
||||
|
* @param customerGridFormDTO |
||||
|
* @author zxc |
||||
|
* @date 2021/11/5 2:54 下午 |
||||
|
*/ |
||||
|
@PostMapping("/gov/org/grid/getbaseinfo") |
||||
|
Result<GridInfoCache> getGridInfo(@RequestBody CustomerGridFormDTO customerGridFormDTO); |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,24 @@ |
|||||
|
package com.epmet.commons.tools.feign.fallback; |
||||
|
|
||||
|
import com.epmet.commons.tools.exception.ExceptionUtils; |
||||
|
import com.epmet.commons.tools.feign.CommonGovOrgFeignClient; |
||||
|
import feign.hystrix.FallbackFactory; |
||||
|
import lombok.extern.slf4j.Slf4j; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
/** |
||||
|
* @Author zxc |
||||
|
* @DateTime 2022/3/17 1:46 下午 |
||||
|
* @DESC |
||||
|
*/ |
||||
|
@Slf4j |
||||
|
@Component |
||||
|
public class CommonGovOrgFeignClientFallBackFactory implements FallbackFactory<CommonGovOrgFeignClient> { |
||||
|
private CommonGovOrgFeignClientFallback fallback = new CommonGovOrgFeignClientFallback(); |
||||
|
@Override |
||||
|
public CommonGovOrgFeignClient create(Throwable cause) { |
||||
|
log.error(String.format("FeignClient调用发生异常,异常信息:%s", ExceptionUtils.getThrowableErrorStackTrace(cause))); |
||||
|
return fallback; |
||||
|
} |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,26 @@ |
|||||
|
package com.epmet.commons.tools.feign.fallback; |
||||
|
|
||||
|
import com.epmet.commons.tools.constant.ServiceConstant; |
||||
|
import com.epmet.commons.tools.dto.form.CustomerGridFormDTO; |
||||
|
import com.epmet.commons.tools.feign.CommonGovOrgFeignClient; |
||||
|
import com.epmet.commons.tools.redis.common.bean.GridInfoCache; |
||||
|
import com.epmet.commons.tools.utils.ModuleUtils; |
||||
|
import com.epmet.commons.tools.utils.Result; |
||||
|
import org.springframework.stereotype.Component; |
||||
|
|
||||
|
/** |
||||
|
* 调用政府端权限 |
||||
|
* @Author wxz |
||||
|
* @Description |
||||
|
* @Date 2020/4/24 11:17 |
||||
|
**/ |
||||
|
@Component |
||||
|
public class CommonGovOrgFeignClientFallback implements CommonGovOrgFeignClient { |
||||
|
|
||||
|
@Override |
||||
|
public Result<GridInfoCache> getGridInfo(CustomerGridFormDTO customerGridFormDTO) { |
||||
|
return ModuleUtils.feignConError(ServiceConstant.GOV_ORG_SERVER, "getGridInfo", customerGridFormDTO); |
||||
|
} |
||||
|
|
||||
|
|
||||
|
} |
||||
@ -0,0 +1,19 @@ |
|||||
|
package com.epmet.service; |
||||
|
|
||||
|
/** |
||||
|
* @Description |
||||
|
* @Author zhaoqifeng |
||||
|
* @Date 2022/3/15 10:09 |
||||
|
*/ |
||||
|
public interface HistoryDataService { |
||||
|
/** |
||||
|
* 网格员立项来源改为work_event |
||||
|
* |
||||
|
* @Param customerId |
||||
|
* @Return |
||||
|
* @Author zhaoqifeng |
||||
|
* @Date 2022/3/15 10:13 |
||||
|
*/ |
||||
|
void projectAddGridId(String customerId); |
||||
|
|
||||
|
} |
||||
@ -0,0 +1,75 @@ |
|||||
|
package com.epmet.service.impl; |
||||
|
|
||||
|
import com.epmet.commons.tools.utils.ConvertUtils; |
||||
|
import com.epmet.constant.RoleKeyConstants; |
||||
|
import com.epmet.dto.org.CustomerStaffGridDTO; |
||||
|
import com.epmet.dto.user.result.StaffRoleInfoDTO; |
||||
|
import com.epmet.service.HistoryDataService; |
||||
|
import com.epmet.service.evaluationindex.extract.todata.FactOriginProjectMainDailyService; |
||||
|
import com.epmet.service.evaluationindex.screen.ScreenProjectDataService; |
||||
|
import com.epmet.service.org.CustomerGridService; |
||||
|
import com.epmet.service.project.ProjectService; |
||||
|
import com.epmet.service.user.UserService; |
||||
|
import org.apache.commons.collections4.CollectionUtils; |
||||
|
import org.springframework.stereotype.Service; |
||||
|
|
||||
|
import javax.annotation.Resource; |
||||
|
import java.util.List; |
||||
|
import java.util.Map; |
||||
|
import java.util.function.Function; |
||||
|
import java.util.stream.Collectors; |
||||
|
|
||||
|
/** |
||||
|
* @Description |
||||
|
* @Author zhaoqifeng |
||||
|
* @Date 2022/3/15 10:12 |
||||
|
*/ |
||||
|
@Service |
||||
|
public class HistoryDataServiceImpl implements HistoryDataService { |
||||
|
@Resource |
||||
|
CustomerGridService customerGridService; |
||||
|
@Resource |
||||
|
private UserService userService; |
||||
|
@Resource |
||||
|
private ProjectService projectService; |
||||
|
@Resource |
||||
|
private FactOriginProjectMainDailyService factOriginProjectMainDailyService; |
||||
|
@Resource |
||||
|
private ScreenProjectDataService screenProjectDataService; |
||||
|
|
||||
|
/** |
||||
|
* 网格员立项来源改为work_event |
||||
|
* |
||||
|
* @param customerId |
||||
|
* @Param customerId |
||||
|
* @Return |
||||
|
* @Author zhaoqifeng |
||||
|
* @Date 2022/3/15 10:13 |
||||
|
*/ |
||||
|
@Override |
||||
|
public void projectAddGridId(String customerId) { |
||||
|
List<CustomerStaffGridDTO> staffGridList = customerGridService.getCustomerStaffGridList(customerId); |
||||
|
List<StaffRoleInfoDTO> staffInfoList = userService.getStaffByRoleKey(customerId, RoleKeyConstants.ROLE_KEY_GRID_MEMBER); |
||||
|
if (CollectionUtils.isEmpty(staffGridList) || CollectionUtils.isEmpty(staffInfoList)) { |
||||
|
return; |
||||
|
} |
||||
|
Map<String, StaffRoleInfoDTO> staffMap = staffInfoList.stream().collect(Collectors.toMap(StaffRoleInfoDTO :: getStaffId, |
||||
|
Function.identity())); |
||||
|
List<CustomerStaffGridDTO> list = staffGridList.stream().filter(p -> null != staffMap.get(p.getStaffId())).map(item -> { |
||||
|
StaffRoleInfoDTO staffInfo = staffMap.get(item.getStaffId()); |
||||
|
CustomerStaffGridDTO dto = ConvertUtils.sourceToTarget(item, CustomerStaffGridDTO.class); |
||||
|
dto.setStaffId(staffInfo.getStaffId()); |
||||
|
return dto; |
||||
|
}).collect(Collectors.toList()); |
||||
|
|
||||
|
list.forEach(part -> { |
||||
|
//更新project表
|
||||
|
projectService.updateHistoryData(part); |
||||
|
//更新fact_origin_project_main_daily
|
||||
|
factOriginProjectMainDailyService.updateHistoryData(part); |
||||
|
//更新screen_project_data
|
||||
|
screenProjectDataService.updateHistoryData(part); |
||||
|
}); |
||||
|
|
||||
|
} |
||||
|
} |
||||
@ -1,3 +1,3 @@ |
|||||
alter table customer_grid |
alter table customer_grid |
||||
add column ABANDON_FLAG TINYINT(1) default '0' |
add column ABANDON_FLAG TINYINT(1) NOT NULL default '0' |
||||
comment '弃用:1;正常使用:0' after SYNC_FLAG; |
comment '弃用:1;正常使用:0' after SYNC_FLAG; |
||||
@ -0,0 +1,86 @@ |
|||||
|
CREATE TABLE `memo_attachment` ( |
||||
|
`ID` varchar(64) NOT NULL COMMENT '主键', |
||||
|
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', |
||||
|
`REMIND_MSG_ID` varchar(64) NOT NULL COMMENT 'REMIND_MSG.ID 业务(工作日志、难点堵点、人员关怀)表Id', |
||||
|
`FILE_NAME` varchar(255) DEFAULT NULL COMMENT '文件名', |
||||
|
`ATTACHMENT_NAME` varchar(64) DEFAULT NULL COMMENT '附件名(uuid随机生成)', |
||||
|
`ATTACHMENT_SIZE` int(11) DEFAULT NULL COMMENT '文件大小,单位b', |
||||
|
`ATTACHMENT_FORMAT` varchar(64) NOT NULL COMMENT '文件格式(JPG、PNG、PDF、JPEG、BMP、MP4、WMA、M4A、MP3、DOC、DOCX、XLS)', |
||||
|
`ATTACHMENT_TYPE` varchar(64) NOT NULL COMMENT '附件类型((图片 - image、 视频 - video、 语音 - voice、 文档 - doc))', |
||||
|
`ATTACHMENT_URL` varchar(255) NOT NULL COMMENT '附件地址', |
||||
|
`DURATION` int(11) DEFAULT '0' COMMENT '语音或视频时长,秒', |
||||
|
`SORT` int(1) NOT NULL COMMENT '排序字段', |
||||
|
`DEL_FLAG` varchar(1) NOT NULL COMMENT '删除标记 0:未删除,1:已删除', |
||||
|
`REVISION` int(11) NOT NULL COMMENT '乐观锁', |
||||
|
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', |
||||
|
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间', |
||||
|
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', |
||||
|
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', |
||||
|
PRIMARY KEY (`ID`) USING BTREE |
||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 ROW_FORMAT=COMPACT COMMENT='备忘录-附件表'; |
||||
|
|
||||
|
CREATE TABLE `memo_attr` ( |
||||
|
`ID` varchar(32) NOT NULL COMMENT '唯一标识', |
||||
|
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', |
||||
|
`REMIND_TIME` datetime DEFAULT NULL COMMENT '提醒时间', |
||||
|
`TYPE` varchar(32) NOT NULL COMMENT '业务类型 人员关怀:concern;难点堵点:difficulty;工作日志:work_diary', |
||||
|
`READ_FLAG` tinyint(1) NOT NULL DEFAULT '0' COMMENT '阅读标记1 已读;0未读', |
||||
|
`RECEIVER` varchar(32) NOT NULL COMMENT '接收人ID', |
||||
|
`DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', |
||||
|
`REVISION` int(11) NOT NULL COMMENT '乐观锁', |
||||
|
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', |
||||
|
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间', |
||||
|
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', |
||||
|
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', |
||||
|
PRIMARY KEY (`ID`) USING BTREE |
||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备忘录-属性(通知)表'; |
||||
|
|
||||
|
CREATE TABLE `memo_concern` ( |
||||
|
`ID` varchar(32) NOT NULL COMMENT '唯一标识(同memo_attr表Id)', |
||||
|
`CUSTOMER_ID` varchar(32) NOT NULL COMMENT '客户ID', |
||||
|
`CONCERN_TYPE` varchar(64) DEFAULT NULL COMMENT '关怀类型', |
||||
|
`RESI_NAME` varchar(64) NOT NULL COMMENT '关怀人员', |
||||
|
`PHONE` varchar(64) DEFAULT NULL COMMENT '关怀对象电话', |
||||
|
`ADDRESS` varchar(64) DEFAULT NULL COMMENT '关怀对象地址', |
||||
|
`CONTENT` varchar(1024) NOT NULL COMMENT '关怀事项', |
||||
|
`SCHEDULED_TIME` datetime DEFAULT NULL COMMENT '预计关怀时间', |
||||
|
`ACTUAL_TIME` datetime DEFAULT NULL COMMENT '实际执行时间(预留字段)', |
||||
|
`STATUS` tinyint(1) NOT NULL DEFAULT '0' COMMENT '状态 0未完成 1已完成', |
||||
|
`DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', |
||||
|
`REVISION` int(11) NOT NULL COMMENT '乐观锁', |
||||
|
`CREATED_BY` varchar(32) NOT NULL COMMENT '操作人', |
||||
|
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间', |
||||
|
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', |
||||
|
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', |
||||
|
PRIMARY KEY (`ID`) USING BTREE |
||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备忘录-人文关怀'; |
||||
|
|
||||
|
CREATE TABLE `memo_difficulty` ( |
||||
|
`ID` varchar(32) NOT NULL COMMENT '唯一标识(同memo_attr表Id)', |
||||
|
`CUSTOMER_ID` varchar(32) NOT NULL COMMENT '客户ID', |
||||
|
`CONTENT` varchar(1024) NOT NULL COMMENT '内容', |
||||
|
`RESOLVE_WAY` varchar(512) DEFAULT NULL COMMENT '解决方式', |
||||
|
`REMARK` varchar(255) DEFAULT NULL COMMENT '备注', |
||||
|
`SCHEDULED_TIME` datetime DEFAULT NULL COMMENT '预计处理时间', |
||||
|
`DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', |
||||
|
`REVISION` int(11) NOT NULL COMMENT '乐观锁', |
||||
|
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', |
||||
|
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间', |
||||
|
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', |
||||
|
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', |
||||
|
PRIMARY KEY (`ID`) USING BTREE |
||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备忘录-难点读点'; |
||||
|
|
||||
|
CREATE TABLE `memo_work_diary` ( |
||||
|
`ID` varchar(32) NOT NULL COMMENT '唯一标识(同memo_attr表Id)', |
||||
|
`CUSTOMER_ID` varchar(64) NOT NULL COMMENT '客户ID', |
||||
|
`CONTENT` varchar(1024) NOT NULL COMMENT '内容', |
||||
|
`WORK_TYPE` varchar(64) DEFAULT NULL COMMENT '工作事项', |
||||
|
`DEL_FLAG` char(1) NOT NULL COMMENT '删除标识:0.未删除 1.已删除', |
||||
|
`REVISION` int(11) NOT NULL COMMENT '乐观锁', |
||||
|
`CREATED_BY` varchar(32) NOT NULL COMMENT '创建人', |
||||
|
`CREATED_TIME` datetime NOT NULL COMMENT '创建时间', |
||||
|
`UPDATED_BY` varchar(32) NOT NULL COMMENT '更新人', |
||||
|
`UPDATED_TIME` datetime NOT NULL COMMENT '更新时间', |
||||
|
PRIMARY KEY (`ID`) USING BTREE |
||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='备忘录-工作日志'; |
||||
@ -0,0 +1,26 @@ |
|||||
|
package com.epmet.dto.form; |
||||
|
|
||||
|
import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; |
||||
|
import lombok.Data; |
||||
|
|
||||
|
import javax.validation.constraints.NotBlank; |
||||
|
import java.io.Serializable; |
||||
|
|
||||
|
|
||||
|
@Data |
||||
|
public class ModifyRegGridFormDTO implements Serializable { |
||||
|
public interface AddUserInternalGroup { |
||||
|
} |
||||
|
|
||||
|
public interface AddUserShowGroup extends CustomerClientShowGroup { |
||||
|
} |
||||
|
|
||||
|
@NotBlank(message = "userId不能为空", groups = AddUserInternalGroup.class) |
||||
|
private String userId; |
||||
|
@NotBlank(message = "customerId不能为空", groups = AddUserInternalGroup.class) |
||||
|
private String customerId; |
||||
|
|
||||
|
@NotBlank(message = "请选择您所在的网格", groups = AddUserShowGroup.class) |
||||
|
private String gridId; |
||||
|
|
||||
|
} |
||||
Loading…
Reference in new issue