add 工作组项目成员添加已提醒字段

This commit is contained in:
lijiarao
2021-09-23 18:50:23 +08:00
parent 58632ddb3e
commit cb942a2395
8 changed files with 278 additions and 7 deletions
@@ -0,0 +1,68 @@
package com.jero.meeting.entity;
import java.io.Serializable;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.springframework.format.annotation.DateTimeFormat;
import org.jeecgframework.poi.excel.annotation.Excel;
import com.jero.common.aspect.annotation.Dict;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
/**
* @Description: 会议提醒记录表
* @Author: jero-boot
* @Date: 2021-09-23
* @Version: V1.0
*/
@Data
@TableName("pay_meeting_remind_record")
@Accessors(chain = true)
@EqualsAndHashCode(callSuper = false)
@ApiModel(value="pay_meeting_remind_record对象", description="会议提醒记录表")
public class PayMeetingRemindRecord implements Serializable {
private static final long serialVersionUID = 1L;
/**id*/
@TableId(type = IdType.ASSIGN_ID)
@ApiModelProperty(value = "id")
private String id;
/**创建人*/
@ApiModelProperty(value = "创建人")
private String createBy;
/**创建日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "创建日期")
private java.util.Date createTime;
/**更新人*/
@ApiModelProperty(value = "更新人")
private String updateBy;
/**更新日期*/
@JsonFormat(timezone = "GMT+8",pattern = "yyyy-MM-dd HH:mm:ss")
@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "更新日期")
private java.util.Date updateTime;
/**会议id*/
@Excel(name = "会议id", width = 15)
@ApiModelProperty(value = "会议id")
private String meetingId;
/**成员id*/
@Excel(name = "成员id", width = 15)
@ApiModelProperty(value = "成员id")
private String subitemId;
}
@@ -0,0 +1,17 @@
package com.jero.meeting.mapper;
import java.util.List;
import org.apache.ibatis.annotations.Param;
import com.jero.meeting.entity.PayMeetingRemindRecord;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
/**
* @Description: 会议提醒记录表
* @Author: jero-boot
* @Date: 2021-09-23
* @Version: V1.0
*/
public interface PayMeetingRemindRecordMapper extends BaseMapper<PayMeetingRemindRecord> {
}
@@ -0,0 +1,13 @@
<?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.jero.meeting.mapper.PayMeetingRemindRecordMapper">
<resultMap id="PayMeetingRemindRecordResultMap" type="com.jero.meeting.entity.PayMeetingRemindRecord">
<id column="id" property="id" />
<result column="create_by" property="createBy" />
<result column="create_time" property="createTime" />
<result column="update_by" property="updateBy" />
<result column="update_time" property="updateTime" />
<result column="meeting_id" property="meetingId" />
<result column="subitem_id" property="subitemId" />
</resultMap>
</mapper>
@@ -0,0 +1,54 @@
package com.jero.meeting.service;
import com.jero.meeting.entity.PayMeetingRemindRecord;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* @Description: 会议提醒记录表
* @Author: jero-boot
* @Date: 2021-09-23
* @Version: V1.0
*/
public interface IPayMeetingRemindRecordService extends IService<PayMeetingRemindRecord> {
/**
* 保存
*/
void add(PayMeetingRemindRecord payMeetingRemindRecord);
/**
* 更新
*/
void editById(PayMeetingRemindRecord payMeetingRemindRecord);
/**
* 通过id删除
*/
void deleteById(String id);
/**
* 批量删除
*/
void deleteByIds(List<String> ids);
/**
* 通过id查询
*/
PayMeetingRemindRecord queryById(String id);
/**
* 列表查询
*/
List<PayMeetingRemindRecord> queryList();
/**
* 关联会议和工作组成员的提醒次数
* @author lijiaro
* @date 2021/9/23 17:54
* @param meetingIdList 会议id
* @param subitemIdList 成员id
*
*/
void addList(List<String> meetingIdList, List<String> subitemIdList);
}
@@ -0,0 +1,78 @@
package com.jero.meeting.service.impl;
import com.jero.meeting.entity.PayMeetingRemindRecord;
import com.jero.meeting.mapper.PayMeetingRemindRecordMapper;
import com.jero.meeting.service.IPayMeetingRemindRecordService;
import org.springframework.stereotype.Service;
import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 会议提醒记录表
* @Author: jero-boot
* @Date: 2021-09-23
* @Version: V1.0
*/
@Service
public class PayMeetingRemindRecordServiceImpl extends ServiceImpl<PayMeetingRemindRecordMapper, PayMeetingRemindRecord> implements IPayMeetingRemindRecordService {
/**
* 保存
*/
@Override
public void add(PayMeetingRemindRecord payMeetingRemindRecord) {
save(payMeetingRemindRecord);
}
/**
* 更新
*/
@Override
public void editById(PayMeetingRemindRecord payMeetingRemindRecord) {
saveOrUpdate(payMeetingRemindRecord);
}
/**
* 通过id删除
*/
@Override
public void deleteById(String id) {
removeById(id);
}
/**
* 批量删除
*/
@Override
public void deleteByIds(List<String> ids) {
removeByIds(ids);
}
/**
* 通过id查询
*/
@Override
public PayMeetingRemindRecord queryById(String id) {
return getById(id);
}
/**
* 列表查询
*/
@Override
public List<PayMeetingRemindRecord> queryList() {
return list();
}
@Override
public void addList(List<String> meetingIdList, List<String> subitemIdList) {
for (String meetingId : meetingIdList) {
PayMeetingRemindRecord payMeetingRemindRecord = new PayMeetingRemindRecord();
payMeetingRemindRecord.setMeetingId(meetingId);
for (String subitemId : subitemIdList) {
payMeetingRemindRecord.setSubitemId(subitemId);
this.save(payMeetingRemindRecord);
}
}
}
}
@@ -7,14 +7,18 @@ import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.ValidUtil;
import com.jero.company.entity.PayContactsManagement;
import com.jero.company.service.IPayContactsManagementService;
import com.jero.data.entity.PayCaseCommittee;
import com.jero.data.service.IPayCaseCommitteeService;
import com.jero.meeting.common.MeetingCommon;
import com.jero.meeting.entity.PayMeeting;
import com.jero.meeting.entity.PayMeetingHotelContacts;
import com.jero.meeting.entity.PayMeetingRemindRecord;
import com.jero.meeting.entity.PayMeetingSituation;
import com.jero.meeting.mapper.PayMeetingMapper;
import com.jero.meeting.service.IPayMeetingHotelContactsService;
import com.jero.meeting.service.IPayMeetingRemindRecordService;
import com.jero.meeting.service.IPayMeetingService;
import com.jero.meeting.service.IPayMeetingSituationService;
import com.jero.meeting.valid.group.CaseCommitteeMeeting;
@@ -66,9 +70,11 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
@Resource
private IPayWorkingGroupSubItemService payWorkingGroupSubItemService;
@Resource
private IPayContactsManagementTemporaryService payContactsManagementTemporaryService;
private IPayContactsManagementService payContactsManagementService;
@Resource
private IPayCaseCommitteeService payCaseCommitteeService;
@Resource
private IPayMeetingRemindRecordService payMeetingRemindRecordService;
/**
* 新增会议
*/
@@ -305,8 +311,12 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
public void publishReminder(List<String> meetingIds, List<String> subitemIds) {
List<PayWorkingGroupSubItem> payWorkingGroupSubItems = payWorkingGroupSubItemService.listByIds(subitemIds);
List<String> userIds = new ArrayList<>();
//用于新增关联关系
List<String> meetingIdList = new ArrayList<>();
List<String> subitemIdList = new ArrayList<>();
//把单位会员中所有的联系人和有机联系人取出
for (PayWorkingGroupSubItem payWorkingGroupSubItem : payWorkingGroupSubItems) {
subitemIdList.add(payWorkingGroupSubItem.getId());
String contactsTemporaryIdOne = payWorkingGroupSubItem.getContactsTemporaryIdOne();
if (StrUtil.isNotBlank(contactsTemporaryIdOne)){
userIds.add(contactsTemporaryIdOne);
@@ -323,19 +333,24 @@ public class PayMeetingServiceImpl extends ServiceImpl<PayMeetingMapper, PayMeet
if (StrUtil.isNotBlank(mailContactsTemporaryId)){
userIds.add(mailContactsTemporaryId);
}
}
//去重
userIds = userIds.stream().distinct().collect(Collectors.toList());
LambdaQueryWrapper<PayContactsManagementTemporary> wrapper = new LambdaQueryWrapper<>();
wrapper.in(PayContactsManagementTemporary::getId,userIds);
List<PayContactsManagementTemporary> list = payContactsManagementTemporaryService.list(wrapper);
List<PayMeeting> payMeetings = listByIds(meetingIds);
for (PayContactsManagementTemporary payContactsManagementTemporary : list) {
LambdaQueryWrapper<PayContactsManagement> wrapper = new LambdaQueryWrapper<>();
wrapper.in(PayContactsManagement::getId,userIds);
List<PayContactsManagement> list = payContactsManagementService.list(wrapper);
for (PayContactsManagement payContactsManagement : list) {
//TODO 发送消息
}
//标记会议为已提醒
List<PayMeeting> payMeetings = listByIds(meetingIds);
for (PayMeeting payMeeting : payMeetings) {
meetingIdList.add(payMeeting.getId());
payMeeting.setRemind(MeetingCommon.REMIND_1);
saveOrUpdate(payMeeting);
}
payMeetingRemindRecordService.addList(meetingIdList,subitemIdList);
}
}
@@ -192,4 +192,13 @@ public class PayWorkingGroupSubItem implements Serializable {
@TableField(exist = false)
@ApiModelProperty(value = "项目ids 多个以逗号分隔")
private java.lang.String projectIds;
/**已提醒*/
@TableField(exist = false)
@Dict(dicCode = "yn")
private Integer remind;
/**会议id*/
@TableField(exist = false)
private java.lang.String meetingId;
}
@@ -17,6 +17,8 @@ import com.jero.contract.entity.PayIncomeContract;
import com.jero.contract.entity.PayIncomeContractAssociated;
import com.jero.contract.service.IPayIncomeContractAssociatedService;
import com.jero.contract.service.IPayIncomeContractService;
import com.jero.meeting.entity.PayMeetingRemindRecord;
import com.jero.meeting.service.IPayMeetingRemindRecordService;
import com.jero.pack.entity.PayPackCompanyProject;
import com.jero.pack.service.IPayPackCompanyProjectService;
import com.jero.project.common.PayProjectCommon;
@@ -81,6 +83,8 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
private IPayPackCompanyProjectService payPackCompanyProjectService;
@Autowired
private ProjectDetailService projectDetailService;
@Resource
private IPayMeetingRemindRecordService payMeetingRemindRecordService;
@Override
public void updateBatchSetCharge(SetChargeInput input) {
@@ -89,7 +93,20 @@ public class PayWorkingGroupSubItemServiceImpl extends ServiceImpl<PayWorkingGro
@Override
public IPage<PayWorkingGroupSubItem> queryPageList(Page<PayWorkingGroupSubItem> page, PayWorkingGroupSubItem payWorkingGroupSubitem,String paymentDate) {
return payWorkingGroupSubItemMapper.queryPageList(page,payWorkingGroupSubitem,paymentDate);
IPage<PayWorkingGroupSubItem> payWorkingGroupSubItemIPage = payWorkingGroupSubItemMapper.queryPageList(page, payWorkingGroupSubitem, paymentDate);
if (StringUtils.isNotBlank(payWorkingGroupSubitem.getMeetingId())){
List<PayWorkingGroupSubItem> records = payWorkingGroupSubItemIPage.getRecords();
for (PayWorkingGroupSubItem workingGroupSubItem : records) {
String workingGroupSubItemId = workingGroupSubItem.getId();
LambdaQueryWrapper<PayMeetingRemindRecord> wrapper = new LambdaQueryWrapper<>();
wrapper.eq(PayMeetingRemindRecord::getId,workingGroupSubItemId);
int count = payMeetingRemindRecordService.count(wrapper);
if (count>0){
workingGroupSubItem.setRemind(PayProjectCommon.YES);
}
}
}
return payWorkingGroupSubItemIPage;
}
@Override