|
|
|
|
@ -16,14 +16,24 @@ |
|
|
|
|
*/ |
|
|
|
|
package org.springblade.modules.business.service.impl; |
|
|
|
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
|
|
|
|
import lombok.RequiredArgsConstructor; |
|
|
|
|
import org.springblade.core.mp.base.BaseServiceImpl; |
|
|
|
|
import org.springblade.core.tool.utils.BeanUtil; |
|
|
|
|
import org.springblade.core.tool.utils.Func; |
|
|
|
|
import org.springblade.modules.business.entity.Appeal; |
|
|
|
|
import org.springblade.modules.business.entity.AppealReg; |
|
|
|
|
import org.springblade.modules.business.entity.AppealVisitor; |
|
|
|
|
import org.springblade.modules.business.mapper.AppealMapper; |
|
|
|
|
import org.springblade.modules.business.mapper.AppealRegMapper; |
|
|
|
|
import org.springblade.modules.business.mapper.AppealVisitorMapper; |
|
|
|
|
import org.springblade.modules.business.service.IAppealRegService; |
|
|
|
|
import org.springblade.modules.business.service.IAppealVisitorService; |
|
|
|
|
import org.springblade.modules.business.vo.AppealListVO; |
|
|
|
|
import org.springblade.modules.business.vo.AppealRegVO; |
|
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
|
|
|
import java.util.Date; |
|
|
|
|
import java.util.List; |
|
|
|
|
|
|
|
|
|
/** |
|
|
|
|
@ -32,8 +42,13 @@ import java.util.List; |
|
|
|
|
* @author BladeX |
|
|
|
|
*/ |
|
|
|
|
@Service |
|
|
|
|
@RequiredArgsConstructor |
|
|
|
|
public class AppealRegServiceImpl extends BaseServiceImpl<AppealRegMapper, AppealReg> implements IAppealRegService { |
|
|
|
|
|
|
|
|
|
private final IAppealVisitorService visitorService; |
|
|
|
|
private final AppealMapper appealMapper; |
|
|
|
|
private final AppealVisitorMapper visitorMapper; |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public List<AppealListVO> getList(String appealStatus, String startTime, String endTime, String appealType, String windowId, String username) { |
|
|
|
|
return baseMapper.getList(appealStatus, startTime, endTime, appealType, windowId, username); |
|
|
|
|
@ -41,11 +56,66 @@ public class AppealRegServiceImpl extends BaseServiceImpl<AppealRegMapper, Appea |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public AppealRegVO getById(String appealId) { |
|
|
|
|
return null; |
|
|
|
|
AppealRegVO vo = new AppealRegVO(); |
|
|
|
|
// 1 获取诉求对象
|
|
|
|
|
Appeal appeal = appealMapper.selectById(appealId); |
|
|
|
|
|
|
|
|
|
if (Func.isEmpty(appeal)) { |
|
|
|
|
return vo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 2. 获取最后一次登记
|
|
|
|
|
AppealReg lastReg = baseMapper.getLastReg(appealId); |
|
|
|
|
|
|
|
|
|
// 3. 获取诉求的所有来访人员
|
|
|
|
|
List<AppealVisitor> visitors = visitorMapper.selectList( |
|
|
|
|
Wrappers.<AppealVisitor>lambdaQuery().eq(AppealVisitor::getAppealId, appealId)); |
|
|
|
|
|
|
|
|
|
// 4. 组织返回对象数据
|
|
|
|
|
vo.setAppealId(Long.valueOf(appealId)); |
|
|
|
|
vo.setVisitors(visitors); |
|
|
|
|
vo.setStreetId(appeal.getStreetId()); |
|
|
|
|
vo.setDisputeId(appeal.getDisputeId()); |
|
|
|
|
vo.setDisputeName(appeal.getDisputeName()); |
|
|
|
|
vo.setDisposeDept(lastReg.getDisposeDept()); |
|
|
|
|
vo.setDisposeDeptName(lastReg.getDisposeDeptName()); |
|
|
|
|
vo.setProtocol(lastReg.getProtocol()); |
|
|
|
|
vo.setOpinion(lastReg.getOpinion()); |
|
|
|
|
vo.setReviewOpinion(lastReg.getReviewOpinion()); |
|
|
|
|
vo.setLegalPaper(lastReg.getLegalPaper()); |
|
|
|
|
vo.setFirstRegTime(appeal.getFirstRegTime()); |
|
|
|
|
vo.setProblemDesc(appeal.getProblemDesc()); |
|
|
|
|
return vo; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
@Override |
|
|
|
|
public boolean save(AppealRegVO entity) { |
|
|
|
|
return false; |
|
|
|
|
public boolean saveReg(AppealRegVO entity) { |
|
|
|
|
// 解析保存数据, 构建保存对象
|
|
|
|
|
Appeal appeal = BeanUtil.copy(entity, Appeal.class); |
|
|
|
|
appeal.setId(entity.getAppealId()); |
|
|
|
|
AppealReg reg = BeanUtil.copy(entity, AppealReg.class); |
|
|
|
|
List<AppealVisitor> visitors = entity.getVisitors(); |
|
|
|
|
|
|
|
|
|
// 1. 先保存appeal
|
|
|
|
|
int nums = Func.isEmpty(appeal.getId()) ? appealMapper.insert(appeal) : appealMapper.updateById(appeal); |
|
|
|
|
if (nums <= 0) { |
|
|
|
|
return false; |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
// 2. 将appealId赋值给appealReg, 保存appealReg对象
|
|
|
|
|
reg.setId(null); |
|
|
|
|
reg.setPersonNum(visitors.size()); |
|
|
|
|
baseMapper.insert(reg); |
|
|
|
|
|
|
|
|
|
// 3. 将appealId和appealRegId赋值给来访人员, 保存来访人员
|
|
|
|
|
for (int i = 0; i < visitors.size(); i++) { |
|
|
|
|
AppealVisitor visitor = visitors.get(i); |
|
|
|
|
visitor.setId(null); |
|
|
|
|
visitor.setAppealId(appeal.getId()); |
|
|
|
|
visitor.setAppealRegId(reg.getId()); |
|
|
|
|
visitor.setSort(i); |
|
|
|
|
} |
|
|
|
|
visitorService.saveBatch(visitors); |
|
|
|
|
return true; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|