소스 검색

Merge branch 'master' of http://111.47.29.214:3000/udream-cxs/lift-server.git

Wei Ruifeng 4 년 전
부모
커밋
8e5d152445

+ 10 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/dao/mapper/MaintenanceRecordMapper.java

@@ -72,7 +72,7 @@ public interface MaintenanceRecordMapper extends BaseMapper<MaintenanceRecord> {
 
     IPage<MtRecordResponse> pageByLift(IPage<MtRecordResponse> page, @Param("cond") MtRecordRequest request);
 
-    MaintenanceTask queryMaintenanceTask(@Param("mtCompanyId") Long mtCompanyId,@Param("liftId") Long liftId);
+    MaintenanceTask queryMaintenanceTask(@Param("mtCompanyId") Long mtCompanyId, @Param("liftId") Long liftId);
 
     @Select("SELECT img_url FROM mt_record_img WHERE mt_record_id = #{recordId}")
     List<String> getMaintenanceRecordUrl(Long recordId);
@@ -85,4 +85,13 @@ public interface MaintenanceRecordMapper extends BaseMapper<MaintenanceRecord> {
 
     @Select("SELECT user_id,name FROM user_info WHERE user_id in (${userIds})")
     List<Map<String, Object>> selectUserBy(@Param("userIds") String userIds);
+
+    /**
+     * 用户ID获取用户姓名
+     *
+     * @param userId
+     * @return
+     */
+    @Select("SELECT name FROM user_info WHERE user_id = #{userId}")
+    String getUserNameById(@Param("userId") Long userId);
 }

+ 68 - 3
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenanceRecordService.java

@@ -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.ValidateException;
 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.IterUtil;
 import cn.hutool.core.io.FileUtil;
@@ -502,10 +503,20 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
             return RestResponse.fail(MessageUtils.get("msg.modify.fail"));
         }
         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 -> {
             MtRecordImg image = new MtRecordImg();
-            image.setImgUrl(entry);
+            image.setImgUrl(entry+suffix);
             image.setMtRecordId(record.getId());
             imageList.add(image);
         });
@@ -543,6 +554,52 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         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
      * @return 保养信息详情
@@ -757,11 +814,19 @@ public class MaintenanceRecordService extends ServiceImpl<MaintenanceRecordMappe
         if (IterUtil.isEmpty(imgs)) {
             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<>();
         for (int i = 0; i < imgs.size(); i++) {
             MtRecordImg mri = new MtRecordImg();
             mri.setMtRecordId(record.getId());
-            mri.setImgUrl(imgs.get(i));
+            mri.setImgUrl(imgs.get(i)+suffix);
             mri.setSort(i);
             mtRecordImgs.add(mri);
         }

+ 6 - 0
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/response/ProjectCompanyResponse.java

@@ -43,4 +43,10 @@ public class ProjectCompanyResponse {
      * 是否维保班长
      */
     private String isMonitor;
+
+
+    /**
+     * 区域主管名称
+     */
+    private String directorName;
 }

+ 4 - 1
lift-business-service/src/main/resources/mapper/project/ProjectMapper.xml

@@ -173,8 +173,11 @@
 		p.project_name  AS projectName,
 		p.project_usage AS projectUsage,
 		ifnull(t.actualNum, 0) actualNum,
-		p.project_status AS projectStatus
+		p.project_status AS projectStatus,
+		ui.`name` as directorName
 		FROM project p
+		LEFT JOIN region as r on p.region_id=r.id
+		LEFT JOIN user_info as ui on r.user_id= ui.user_id
 		LEFT JOIN (SELECT count(1) actualNum, project_id, mt_company_id
 					FROM project_lift_relevance plr
 					WHERE plr.delete_flag = '0'

+ 36 - 5
lift-system-service/src/main/resources/application-test.yml

@@ -1,26 +1,57 @@
 spring:
   datasource:
-    url: jdbc:mysql://192.168.1.122:3306/rdsliftmanager?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
-    username: root
-    password: Ty-20526
+    url: jdbc:mysql://rm-bp1qkwy173koi066xuo.mysql.rds.aliyuncs.com:3306/rdsliftmanager?characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Shanghai
+    username: tykj
+    password: Tdkg-13250409
     driver-class-name: com.mysql.cj.jdbc.Driver
 
   #redis缓存配置
   redis:
     database: 0 #数据库索引,默认为0
-    host: 192.168.1.122 #服务器地址
+    host: r-bp1j7odydtfqtprdvmpd.redis.rds.aliyuncs.com #(内网地址)服务器地址
     port: 6379 #端口
-    password: tytykj #验证密码
+    password: Gdkc-290431 #验证密码
     jedis:
       pool:
         max-active: 8 #最大连接数
         max-idle: 8 #最大空闲链接
         max-wait: 20000ms
         min-idle: 0
+    timeout: 600000
+    open:  true
+    db: 0
+  activemq:
+    #ActiveMQ通讯地址
+    broker-url: tcp://172.16.24.145:61616
+    #用户名
+    user: admin
+    #密码
+    password: admin
+    #true 表示使用内置的MQ,false则连接服务器: 消息持久化就必须spring.activemq.in-memory=false选项
+    in-memory: false
+    packages:
+      #信任所有的包: 如果直接发送对象消息,那么必须设置spring.activemq.packages.trust-all为true
+      trust-all: true
+    pool:
+      #true表示使用连接池;false时,每发送一条数据创建一个连接
+      enabled: true
+      #连接池最大连接数
+      max-connections: 30
+      #空闲的连接过期时间,默认为30秒
+      idle-timeout: 3000s
+  jms:
+    #如果是点对点(queue),那么此处默认应该是false,如果发布订阅,那么一定设置为true
+    pub-sub-domain: false
+  servlet:
+    multipart:
+      #配置文件接收大小最大为3MB
+      max-file-size: 3MB
 
 #aliyun OSS服务配置信息,加载到SystemConfiguration
 aliyun:
   oss:
+    #    endpoint: http://oss-cn-hangzhou.aliyuncs.com
+    #使用内网需要把返回的路径 -internal去掉,不然外网无法访问
     endpoint: http://oss-cn-hangzhou-internal.aliyuncs.com
     bucketName: ty-oss-file
     accessKeyId: LTAI4G1iLTczu8JxM2En57gY

+ 1 - 1
lift-system-service/src/main/resources/application.yml

@@ -12,7 +12,7 @@ spring:
   application:
     name: lift-system-service
   profiles:
-    active: prod
+    active: test
 
 #自动添加createTime、isDelete 等字段
 xwy:

+ 1 - 1
lift-system-service/src/main/resources/bootstrap.yml

@@ -20,4 +20,4 @@ eureka:
     lease-expiration-duration-in-seconds: 20
   client:
     service-url:
-      defaultZone: http://172.16.24.142:10225/eureka/
+      defaultZone: http://192.168.1.121:10225/eureka/

+ 1 - 0
lift-ud-service/src/main/java/cn/com/ty/lift/ud/config/SwaggerConfiguration.java

@@ -47,6 +47,7 @@ public class SwaggerConfiguration {
                 .paths(PathSelectors.any())
                 .build()
                 // 设置swagger-ui.html页面上的一些元素信息。
+                .enable(false)
                 .apiInfo(apiInfo());
     }
 

+ 1 - 1
lift-ud-service/src/main/resources/application-test.yml

@@ -57,7 +57,7 @@ aliyun:
 #微信分享跳转链接
 sys:
   cont:
-    wxShareUrl: http://dev.edtyun.com/h5/index.html
+    wxShareUrl: https://dtgj.edtyun.com/app4share/index.html
 
 
 ##微信支付配置信息