|
@@ -31,6 +31,7 @@ import cn.com.ty.lift.common.verify.Val;
|
|
import cn.com.ty.lift.common.verify.Validate;
|
|
import cn.com.ty.lift.common.verify.Validate;
|
|
import cn.com.ty.lift.common.verify.ValidateException;
|
|
import cn.com.ty.lift.common.verify.ValidateException;
|
|
import cn.com.xwy.boot.web.dto.RestResponse;
|
|
import cn.com.xwy.boot.web.dto.RestResponse;
|
|
|
|
+import cn.hutool.core.codec.Base64;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.CollUtil;
|
|
import cn.hutool.core.collection.IterUtil;
|
|
import cn.hutool.core.collection.IterUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
import cn.hutool.core.io.FileUtil;
|
|
@@ -502,10 +503,20 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
|
|
return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
|
|
return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
|
|
}
|
|
}
|
|
List<MtRecordImg> imageList = new ArrayList<>();
|
|
List<MtRecordImg> imageList = new ArrayList<>();
|
|
- //更新保养图片
|
|
|
|
|
|
+
|
|
|
|
+ //当前时间
|
|
|
|
+ String waterTime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(LocalDateTime.now());
|
|
|
|
+ //电梯注册码
|
|
|
|
+ String waterRegistrationCode = liftService.getBaseMapper().selectById(oldRecord.getLiftId()).getRegistrationCode();
|
|
|
|
+ //当前维保工名称
|
|
|
|
+ String name = baseMapper.getUserNameById(oldRecord.getWorkerId1());
|
|
|
|
+
|
|
|
|
+ //生成水印后缀
|
|
|
|
+ String suffix = generateWatermark(name, waterTime, waterRegistrationCode);
|
|
|
|
+
|
|
request.getRecordImageList().forEach(entry -> {
|
|
request.getRecordImageList().forEach(entry -> {
|
|
MtRecordImg image = new MtRecordImg();
|
|
MtRecordImg image = new MtRecordImg();
|
|
- image.setImgUrl(entry);
|
|
|
|
|
|
+ image.setImgUrl(entry+suffix);
|
|
image.setMtRecordId(record.getId());
|
|
image.setMtRecordId(record.getId());
|
|
imageList.add(image);
|
|
imageList.add(image);
|
|
});
|
|
});
|
|
@@ -543,6 +554,52 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
|
|
return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
|
|
return RestResponse.success(null, MessageUtils.get("msg.modify.success"));
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * 生成水印后缀
|
|
|
|
+ *
|
|
|
|
+ * @param userName 用户名
|
|
|
|
+ * @param time 时间
|
|
|
|
+ * @param registrationCode 电梯注册码
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private String generateWatermark(String userName, String time, String registrationCode) {
|
|
|
|
+
|
|
|
|
+ if (Objects.isNull(userName) || Objects.isNull(time) || Objects.isNull(registrationCode)) {
|
|
|
|
+ throw new RuntimeException("生产图片参数校验错误!");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ StringBuffer buffer = new StringBuffer();
|
|
|
|
+ //图片固定格式
|
|
|
|
+ buffer.append("?x-oss-process=image/auto-orient,1/quality,q_90/watermark,image_bG9nby9sb2dvLnBuZz94LW9zcy1wcm9jZXNzPWltYWdlL3Jlc2l6ZSxQXzMw,g_se,x_10,y_10");
|
|
|
|
+ //用户名
|
|
|
|
+ buffer.append("/watermark,text_");
|
|
|
|
+ buffer.append(toBase64(userName));
|
|
|
|
+ buffer.append(",color_2D78B6,size_30,g_sw,x_10,y_90");
|
|
|
|
+ //时间
|
|
|
|
+ buffer.append("/watermark,text_");
|
|
|
|
+ buffer.append(toBase64(time));
|
|
|
|
+ buffer.append(",color_2D78B6,size_30,g_sw,x_10,y_50");
|
|
|
|
+ //电梯注册码
|
|
|
|
+ buffer.append("/watermark,text_");
|
|
|
|
+ buffer.append(toBase64(registrationCode));
|
|
|
|
+ buffer.append(",color_2D78B6,size_30,g_sw,x_10,y_10");
|
|
|
|
+
|
|
|
|
+ return buffer.toString();
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 字符串base64编码(阿里云oss特定的需要格式)
|
|
|
|
+ *
|
|
|
|
+ * @param str
|
|
|
|
+ * @return
|
|
|
|
+ */
|
|
|
|
+ private String toBase64(String str) {
|
|
|
|
+ String encode = Base64.encode(str);
|
|
|
|
+ return encode.replaceAll("\\+", "-").replaceAll("/", "_").replaceAll("=", "");
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
/**
|
|
/**
|
|
* @param id 保养记录id
|
|
* @param id 保养记录id
|
|
* @return 保养信息详情
|
|
* @return 保养信息详情
|
|
@@ -757,11 +814,19 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
|
|
if (IterUtil.isEmpty(imgs)) {
|
|
if (IterUtil.isEmpty(imgs)) {
|
|
return RestResponse.success(true);
|
|
return RestResponse.success(true);
|
|
}
|
|
}
|
|
|
|
+ //后台pc补录加水印
|
|
|
|
+ String waterTime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(record.getWorkDate());
|
|
|
|
+ String waterRegistrationCode = liftService.getBaseMapper().selectById(record.getLiftId()).getRegistrationCode();
|
|
|
|
+ String name = baseMapper.getUserNameById(record.getWorkerId1());
|
|
|
|
+
|
|
|
|
+ //生成水印后缀
|
|
|
|
+ String suffix = generateWatermark(name, waterTime, waterRegistrationCode);
|
|
|
|
+
|
|
List<MtRecordImg> mtRecordImgs = new ArrayList<>();
|
|
List<MtRecordImg> mtRecordImgs = new ArrayList<>();
|
|
for (int i = 0; i < imgs.size(); i++) {
|
|
for (int i = 0; i < imgs.size(); i++) {
|
|
MtRecordImg mri = new MtRecordImg();
|
|
MtRecordImg mri = new MtRecordImg();
|
|
mri.setMtRecordId(record.getId());
|
|
mri.setMtRecordId(record.getId());
|
|
- mri.setImgUrl(imgs.get(i));
|
|
|
|
|
|
+ mri.setImgUrl(imgs.get(i)+suffix);
|
|
mri.setSort(i);
|
|
mri.setSort(i);
|
|
mtRecordImgs.add(mri);
|
|
mtRecordImgs.add(mri);
|
|
}
|
|
}
|