|
@@ -0,0 +1,98 @@
|
|
|
+package com.rongwei.zhsw.system.service.impl;
|
|
|
+
|
|
|
+import com.rongwe.zhsw.system.domain.SwUserRepairDo;
|
|
|
+import com.rongwe.zhsw.system.vo.WeChatRepairReportVo;
|
|
|
+import com.rongwe.zhsw.system.vo.WeChatUploadVo;
|
|
|
+import com.rongwei.rwcommon.base.R;
|
|
|
+import com.rongwei.rwcommon.utils.SecurityUtil;
|
|
|
+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.service.RegistrationService;
|
|
|
+import com.rongwei.zhsw.system.utils.ZhswCommonUtils;
|
|
|
+import org.slf4j.Logger;
|
|
|
+import org.slf4j.LoggerFactory;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.Base64;
|
|
|
+import java.util.Date;
|
|
|
+import java.util.List;
|
|
|
+import java.util.stream.Collectors;
|
|
|
+
|
|
|
+import static com.rongwei.zhsw.system.utils.ZhswCommonUtils.initModelGeneralParameters;
|
|
|
+import static com.rongwei.zhsw.system.utils.ZhswCommonUtils.uniqueSign;
|
|
|
+
|
|
|
+/**
|
|
|
+ * RegistrationServiceImpl class
|
|
|
+ *
|
|
|
+ * @author XH
|
|
|
+ * @date 2025/03/17
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class RegistrationServiceImpl implements RegistrationService {
|
|
|
+ private static final Logger log = LoggerFactory.getLogger(RegistrationServiceImpl.class);
|
|
|
+ @Autowired
|
|
|
+ private SwUserRepairServiceImpl swUserRepairService;
|
|
|
+ @Autowired
|
|
|
+ private SysFileItemServiceImpl sysFileItemService;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public R repairRegistration(WeChatRepairReportVo weChatRepairReportVo) {
|
|
|
+ log.info("保存用户保修记录");
|
|
|
+
|
|
|
+ SwUserRepairDo swUserRepairDo = new SwUserRepairDo();
|
|
|
+ swUserRepairDo.setId(SecurityUtil.getUUID());
|
|
|
+ initModelGeneralParameters(swUserRepairDo, null);
|
|
|
+ swUserRepairDo.setDeclno(uniqueSign());
|
|
|
+ swUserRepairDo.setAddress(weChatRepairReportVo.getAddress());
|
|
|
+ swUserRepairDo.setContact(weChatRepairReportVo.getContact());
|
|
|
+ swUserRepairDo.setRepairtype(weChatRepairReportVo.getRepairType());
|
|
|
+ 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());
|
|
|
+ //用户上传的附件
|
|
|
+ List<WeChatUploadVo> images = weChatRepairReportVo.getImages();
|
|
|
+ List<SysFileItemDo> fileItemDos=null;
|
|
|
+ if(images!=null && !images.isEmpty()){
|
|
|
+ fileItemDos = images.stream().map(data -> {
|
|
|
+ return imgSave(data, swUserRepairDo.getId());
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+ if(fileItemDos!=null && !fileItemDos.isEmpty()){
|
|
|
+ String imagesStr = fileItemDos.stream().map(data -> data.getFilename() + "-;-" + data.getId())
|
|
|
+ .collect(Collectors.joining("^_^"));
|
|
|
+ swUserRepairDo.setImages(imagesStr);
|
|
|
+ sysFileItemService.saveBatch(fileItemDos);
|
|
|
+ }
|
|
|
+ swUserRepairService.save(swUserRepairDo);
|
|
|
+ return R.ok();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public SysFileItemDo imgSave(WeChatUploadVo weChatUploadVo,String id) {
|
|
|
+ String base64 = weChatUploadVo.getBase64();
|
|
|
+ // 微信临时文件的目录
|
|
|
+ String tempFilePath = weChatUploadVo.getTempFilePath();
|
|
|
+ String fileName = tempFilePath.substring(tempFilePath.lastIndexOf("tmp/")+4);
|
|
|
+ ImageScaleDto scaleDto = ImageScaleDto.builder().scaleFlag(false).build();
|
|
|
+ FileUtil.uploadFile(Base64.getDecoder().decode(base64), "/upload_files/REPAIR", fileName, scaleDto);
|
|
|
+
|
|
|
+ SysFileItemDo sysFileItem= new SysFileItemDo();
|
|
|
+ sysFileItem.setFilename(fileName);
|
|
|
+ sysFileItem.setFilesize(weChatUploadVo.getSize());
|
|
|
+ sysFileItem.setFiletype(fileName.substring(fileName.lastIndexOf(".") + 1));
|
|
|
+ sysFileItem.setStoragetype("1");
|
|
|
+ sysFileItem.setFullpath("/upload_files/REPAIR" + fileName);
|
|
|
+ sysFileItem.setUrlpath("/files/REPAIR" + fileName);
|
|
|
+ sysFileItem.setRelationid(id);
|
|
|
+ sysFileItem.setId(SecurityUtil.getUUID());
|
|
|
+ sysFileItem.setCreatedate(new Date());
|
|
|
+ sysFileItem.setModifydate(new Date());
|
|
|
+ return sysFileItem;
|
|
|
+ }
|
|
|
+}
|