|
@@ -5,16 +5,18 @@ import com.rongwe.zhsw.system.domain.SwUserRepairDo;
|
|
|
import com.rongwe.zhsw.system.vo.WeChatFeedbackReportVo;
|
|
|
import com.rongwe.zhsw.system.vo.WeChatRepairReportVo;
|
|
|
import com.rongwe.zhsw.system.vo.WeChatUploadVo;
|
|
|
+import com.rongwei.rwadmincommon.system.domain.SysUserDo;
|
|
|
import com.rongwei.rwcommon.base.R;
|
|
|
import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
+import com.rongwei.rwcommon.utils.StringUtils;
|
|
|
import com.rongwei.rwcommoncomponent.file.dto.ImageScaleDto;
|
|
|
import com.rongwei.rwcommoncomponent.file.service.impl.SysFileItemServiceImpl;
|
|
|
import com.rongwei.rwcommoncomponent.file.utils.FileUtil;
|
|
|
import com.rongwei.rwcommonentity.commonservers.domain.SysFileItemDo;
|
|
|
+import com.rongwei.zhsw.system.dao.CommonBusinessDao;
|
|
|
import com.rongwei.zhsw.system.service.impl.SwFeedBackOpinionServiceImpl;
|
|
|
import com.rongwei.zhsw.system.service.impl.SwUserRepairServiceImpl;
|
|
|
import com.rongwei.zhsw.system.wechat.RegistrationService;
|
|
|
-import com.rongwei.zhsw.system.utils.ZHSWCommonUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@@ -23,6 +25,7 @@ import org.springframework.stereotype.Service;
|
|
|
import java.util.Base64;
|
|
|
import java.util.Date;
|
|
|
import java.util.List;
|
|
|
+import java.util.function.BiConsumer;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
import static com.rongwei.zhsw.system.utils.ZHSWCommonUtils.initModelGeneralParameters;
|
|
@@ -43,6 +46,8 @@ public class RegistrationServiceImpl implements RegistrationService {
|
|
|
private SysFileItemServiceImpl sysFileItemService;
|
|
|
@Autowired
|
|
|
private SwFeedBackOpinionServiceImpl swFeedBackOpinionService;
|
|
|
+ @Autowired
|
|
|
+ private CommonBusinessDao commonBusinessDao;
|
|
|
|
|
|
/**
|
|
|
* 用户保修
|
|
@@ -62,18 +67,23 @@ public class RegistrationServiceImpl implements RegistrationService {
|
|
|
swUserRepairDo.setAddress(weChatRepairReportVo.getAddress());
|
|
|
swUserRepairDo.setContact(weChatRepairReportVo.getContact());
|
|
|
swUserRepairDo.setRepairtype(weChatRepairReportVo.getRepairType());
|
|
|
+ swUserRepairDo.setAccountname(weChatRepairReportVo.getUserName());
|
|
|
+ swUserRepairDo.setDeclaccnum(weChatRepairReportVo.getUserNum());
|
|
|
// ZHSWCommonUtils.replaceSysDictMethod(swUserRepairDo, SwUserRepairDo::getRepairtype, SwUserRepairDo::setRepairtype,
|
|
|
// "repair_management_report_type");
|
|
|
swUserRepairDo.setRepairsource("2");
|
|
|
swUserRepairDo.setIscompleted("2");
|
|
|
swUserRepairDo.setFaultdescription(weChatRepairReportVo.getDescription());
|
|
|
swUserRepairDo.setContactnumber(weChatRepairReportVo.getPhone());
|
|
|
+ getHandlerInfoByVolumeNo("wxry", weChatRepairReportVo.getUserNum(), swUserRepairDo,
|
|
|
+ SwUserRepairDo::setRepairpersonid, SwUserRepairDo::setRepairperson);
|
|
|
+
|
|
|
//用户上传的附件
|
|
|
List<WeChatUploadVo> images = weChatRepairReportVo.getImages();
|
|
|
List<SysFileItemDo> fileItemDos = null;
|
|
|
if (images != null && !images.isEmpty()) {
|
|
|
fileItemDos = images.stream().map(data -> {
|
|
|
- return imgSave(data, swUserRepairDo.getId(),"REPAIR");
|
|
|
+ return imgSave(data, swUserRepairDo.getId(), "REPAIR");
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
|
if (fileItemDos != null && !fileItemDos.isEmpty()) {
|
|
@@ -106,17 +116,22 @@ public class RegistrationServiceImpl implements RegistrationService {
|
|
|
swFeedBackOpinionDo.setCategory(weChatFeedbackReportVo.getCategory());
|
|
|
swFeedBackOpinionDo.setReplynote(weChatFeedbackReportVo.getDescription());
|
|
|
swFeedBackOpinionDo.setIscompleted("2");
|
|
|
+ swFeedBackOpinionDo.setDeclaccnum(weChatFeedbackReportVo.getUserNum());
|
|
|
+ swFeedBackOpinionDo.setAccountname(weChatFeedbackReportVo.getUserName());
|
|
|
//来源
|
|
|
swFeedBackOpinionDo.setFeedbacksource("2");
|
|
|
swFeedBackOpinionDo.setFeedbacktime(new Date());
|
|
|
swFeedBackOpinionDo.setCreateusername("微信用户");
|
|
|
swFeedBackOpinionDo.setModifyusername("微信用户");
|
|
|
+ getHandlerInfoByVolumeNo("role071", weChatFeedbackReportVo.getUserNum(), swFeedBackOpinionDo,
|
|
|
+ SwFeedBackOpinionDo::setReplypersonid, SwFeedBackOpinionDo::setReplyperson);
|
|
|
+
|
|
|
//用户上传的附件
|
|
|
List<WeChatUploadVo> images = weChatFeedbackReportVo.getImages();
|
|
|
List<SysFileItemDo> fileItemDos = null;
|
|
|
if (images != null && !images.isEmpty()) {
|
|
|
fileItemDos = images.stream().map(data -> {
|
|
|
- return imgSave(data, swFeedBackOpinionDo.getId(),"FEEDBACK");
|
|
|
+ return imgSave(data, swFeedBackOpinionDo.getId(), "FEEDBACK");
|
|
|
}).collect(Collectors.toList());
|
|
|
}
|
|
|
if (fileItemDos != null && !fileItemDos.isEmpty()) {
|
|
@@ -131,14 +146,14 @@ public class RegistrationServiceImpl implements RegistrationService {
|
|
|
}
|
|
|
|
|
|
|
|
|
- public SysFileItemDo imgSave(WeChatUploadVo weChatUploadVo, String id,String pathSuffix) {
|
|
|
+ public SysFileItemDo imgSave(WeChatUploadVo weChatUploadVo, String id, String pathSuffix) {
|
|
|
String base64 = weChatUploadVo.getBase64();
|
|
|
- String filePath="/upload_files/"+pathSuffix+"/";
|
|
|
+ String filePath = "/upload_files/" + pathSuffix + "/";
|
|
|
// 微信临时文件的目录
|
|
|
String tempFilePath = weChatUploadVo.getTempFilePath();
|
|
|
String fileName = tempFilePath.substring(tempFilePath.lastIndexOf("/") + 4);
|
|
|
ImageScaleDto scaleDto = ImageScaleDto.builder().scaleFlag(false).build();
|
|
|
- FileUtil.uploadFile(Base64.getDecoder().decode(base64),filePath , fileName, scaleDto);
|
|
|
+ FileUtil.uploadFile(Base64.getDecoder().decode(base64), filePath, fileName, scaleDto);
|
|
|
|
|
|
SysFileItemDo sysFileItem = new SysFileItemDo();
|
|
|
sysFileItem.setFilename(fileName);
|
|
@@ -146,11 +161,32 @@ public class RegistrationServiceImpl implements RegistrationService {
|
|
|
sysFileItem.setFiletype(fileName.substring(fileName.lastIndexOf(".") + 1));
|
|
|
sysFileItem.setStoragetype("1");
|
|
|
sysFileItem.setFullpath(filePath + fileName);
|
|
|
- sysFileItem.setUrlpath("/files/"+pathSuffix+"/" + fileName);
|
|
|
+ sysFileItem.setUrlpath("/files/" + pathSuffix + "/" + fileName);
|
|
|
sysFileItem.setRelationid(id);
|
|
|
sysFileItem.setId(SecurityUtil.getUUID());
|
|
|
sysFileItem.setCreatedate(new Date());
|
|
|
sysFileItem.setModifydate(new Date());
|
|
|
return sysFileItem;
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取保修和投诉相关的处理人员信息
|
|
|
+ *
|
|
|
+ * @param roleCode 角色编号
|
|
|
+ * @param volumeNo 册号
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ public <T> void getHandlerInfoByVolumeNo(String roleCode, String userNum,
|
|
|
+ T pojo,
|
|
|
+ BiConsumer<T, String> setIdFunction,
|
|
|
+ BiConsumer<T, String> setNameFunction) {
|
|
|
+ List<SysUserDo> handlerInfoByVolumeNo = commonBusinessDao.getHandlerInfoByVolumeNo(roleCode, userNum);
|
|
|
+ if (handlerInfoByVolumeNo.isEmpty()) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ String ids = handlerInfoByVolumeNo.stream().map(SysUserDo::getId).filter(StringUtils::isNotBlank).distinct().collect(Collectors.joining(","));
|
|
|
+ setIdFunction.accept(pojo, ids);
|
|
|
+ String names = handlerInfoByVolumeNo.stream().map(SysUserDo::getName).filter(StringUtils::isNotBlank).distinct().collect(Collectors.joining(","));
|
|
|
+ setNameFunction.accept(pojo, names);
|
|
|
+ }
|
|
|
}
|