Kaynağa Gözat

Merge branch 'master' of http://192.168.1.43:3000/git/sass-lab-distributed-java

zhuchangxue 3 yıl önce
ebeveyn
işleme
6201ca1457
33 değiştirilmiş dosya ile 765 ekleme ve 9 silme
  1. 7 0
      zd-common/zd-common-core/src/main/java/com/zd/common/core/web/domain/BaseBean.java
  2. 2 0
      zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/AlarmRecord.java
  3. 2 0
      zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/BottleStorageError.java
  4. 2 0
      zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/RfidTag.java
  5. 2 0
      zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/UseRecord.java
  6. 2 0
      zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/UsegasApply.java
  7. 2 0
      zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/UsegasAuditRecord.java
  8. 1 0
      zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/vo/BottleStorageOutVo.java
  9. 3 3
      zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/vo/BottleStorageVo.java
  10. 1 0
      zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/BottleStorageServiceImpl.java
  11. 16 6
      zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/BottleStorageMapper.xml
  12. 7 0
      zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/BottleStorageOutMapper.xml
  13. 115 0
      zd-modules/zd-chemical/pom.xml
  14. 72 0
      zd-modules/zd-chemical/src/main/java/com/zd/chemical/domain/SydSmsLog.java
  15. 69 0
      zd-modules/zd-chemical/src/main/java/com/zd/chemical/mapper/SydSmsLogMapper.java
  16. 69 0
      zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/ISydSmsLogService.java
  17. 109 0
      zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/impl/SydSmsLogServiceImpl.java
  18. 139 0
      zd-modules/zd-chemical/src/main/java/com/zd/chemical/util/SmsSydUtil.java
  19. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/commons-codec-1.4.jar
  20. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/commons-io-1.3.2.jar
  21. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/commons-pool-1.5.4.jar
  22. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-annotations-2.6.0.jar
  23. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-core-2.6.2.jar
  24. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-databind-2.6.2.jar
  25. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-dataformat-xml-2.6.2.jar
  26. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-module-jaxb-annotations-2.6.2.jar
  27. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/junit-4.8.1.jar
  28. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/postmsg-ump-5.3.0.0.jar
  29. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/protobuf-java-2.4.1.jar
  30. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/stax2-api-3.1.4.jar
  31. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/xpp3_min-1.1.4c.jar
  32. BIN
      zd-modules/zd-chemical/src/main/resources/libs/sms-syd/xstream-1.3.1.jar
  33. 145 0
      zd-modules/zd-chemical/src/main/resources/mapper/chemical/SydSmsLogMapper.xml

+ 7 - 0
zd-common/zd-common-core/src/main/java/com/zd/common/core/web/domain/BaseBean.java

@@ -11,6 +11,7 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author Administrator
@@ -21,6 +22,12 @@ public class BaseBean implements Serializable {
     private static final long serialVersionUID = 1L;
 
     /**
+     * 批量操作的id集合
+     */
+    @ApiModelProperty("批量操作的id集合")
+    private transient List<Long> ids;
+
+    /**
      * 数据主键
      */
     @ApiModelProperty(value = "${comment}")

+ 2 - 0
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/AlarmRecord.java

@@ -1,5 +1,6 @@
 package com.zd.bottle.domain;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.zd.common.core.web.domain.BaseBean;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,6 +25,7 @@ import java.util.Date;
 @Accessors(chain = true)
 @ApiModel(value = "AlarmRecord对象", description = "报警记录表")
 @EqualsAndHashCode(callSuper = true)
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class AlarmRecord extends BaseBean{
 
     @ApiModelProperty("数据主键,关联其他业务表中的数据id")

+ 2 - 0
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/BottleStorageError.java

@@ -1,5 +1,6 @@
 package com.zd.bottle.domain;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.zd.common.core.web.domain.BaseBean;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -25,6 +26,7 @@ import java.util.Date;
 @Accessors(chain = true)
 @ApiModel(value = "BottleStorageError对象", description = "气瓶异常记录表")
 @EqualsAndHashCode(callSuper = true)
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class BottleStorageError extends BaseBean {
 
     @ApiModelProperty("气瓶入库ID")

+ 2 - 0
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/RfidTag.java

@@ -1,5 +1,6 @@
 package com.zd.bottle.domain;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.zd.common.core.annotation.Excel;
 import com.zd.common.core.web.domain.BaseBean;
 import io.swagger.annotations.ApiModel;
@@ -23,6 +24,7 @@ import org.hibernate.validator.constraints.Length;
 @Accessors(chain = true)
 @ApiModel(value = "RfidTag对象", description = "RFID标签管理")
 @EqualsAndHashCode(callSuper = true)
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class RfidTag extends BaseBean {
 
     @Excel(name = "授权码")

+ 2 - 0
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/UseRecord.java

@@ -1,5 +1,6 @@
 package com.zd.bottle.domain;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.zd.common.core.web.domain.BaseBean;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -25,6 +26,7 @@ import java.util.Date;
 @Accessors(chain = true)
 @ApiModel(value = "UseRecord对象", description = "使用记录表")
 @EqualsAndHashCode(callSuper = true)
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class UseRecord extends BaseBean {
 
     @ApiModelProperty("联系人")

+ 2 - 0
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/UsegasApply.java

@@ -1,6 +1,7 @@
 package com.zd.bottle.domain;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.zd.common.core.web.domain.BaseBean;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -26,6 +27,7 @@ import java.util.Date;
 @Accessors(chain = true)
 @ApiModel(value = "UsegasApply对象", description = "用气申请表")
 @EqualsAndHashCode(callSuper = true)
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class UsegasApply extends BaseBean {
 
     @ApiModelProperty("实验地点")

+ 2 - 0
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/domain/UsegasAuditRecord.java

@@ -1,5 +1,6 @@
 package com.zd.bottle.domain;
 
+import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
 import com.zd.common.core.web.domain.BaseBean;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
@@ -24,6 +25,7 @@ import java.util.Date;
 @Accessors(chain = true)
 @ApiModel(value = "UsegasAuditRecord对象", description = "用气审核表")
 @EqualsAndHashCode(callSuper = true)
+@JsonIgnoreProperties(ignoreUnknown = true)
 public class UsegasAuditRecord extends BaseBean {
 
     @ApiModelProperty("审核人id")

+ 1 - 0
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/vo/BottleStorageOutVo.java

@@ -8,6 +8,7 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * @Author: liujh

+ 3 - 3
zd-modules/zd-bottle-parent/zd-bottle-api/src/main/java/com/zd/bottle/vo/BottleStorageVo.java

@@ -9,15 +9,15 @@ import lombok.Getter;
 import lombok.Setter;
 
 import java.util.Date;
+import java.util.List;
 
 /**
  * @author Administrator
  */
 @Data
-@Getter
-@Setter
 public class BottleStorageVo extends BottleStorage {
 
+
     /** 使用人数 */
     @ApiModelProperty(value = "使用人数")
     private Integer numberPersons;
@@ -25,7 +25,7 @@ public class BottleStorageVo extends BottleStorage {
     /**
      * 管理端端查询冗余字段
      */
-    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
+    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
     @ApiModelProperty(value = "管理端端查询冗余字段(最后使用时间)")
     private Date lastTime;
 

+ 1 - 0
zd-modules/zd-bottle-parent/zd-bottle/src/main/java/com/zd/bottle/service/impl/BottleStorageServiceImpl.java

@@ -58,6 +58,7 @@ public class BottleStorageServiceImpl extends ServiceImpl<BottleStorageMapper, B
         bottleStorage.setDeptName(sysUser.getDept().getDeptName());
         bottleStorage.setCreateBy(sysUser.getNickName());
         bottleStorage.setCreateTime(new Date());
+        bottleStorage.setCurrentPressure(bottleStorage.getGasPressure());
         bottleStorage.setAirNumber(String.valueOf(System.currentTimeMillis() ) );
 
         return save(bottleStorage);

+ 16 - 6
zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/BottleStorageMapper.xml

@@ -73,18 +73,28 @@
 
     <select id="getListVo" resultType="com.zd.bottle.vo.BottleStorageVo"
             parameterType="com.zd.bottle.vo.BottleStorageVo">
+        select * from (
         select bs.*,
-               (select count(1) from ab_use_record ur where ur.storage_id=bs.id) numberPersons,
-               ( select max(ur.use_time) from ab_use_record ur where ur.storage_id=bs.id ORDER BY use_time desc ) lastTime
+        (select count(1) from ab_use_record ur where ur.storage_id=bs.id) numberPersons,
+        ( select max(ur.use_time) from ab_use_record ur where ur.storage_id=bs.id ORDER BY use_time desc ) lastTime
         from ab_bottle_storage bs
-                 where 1=1
-        <if test="searchValue != null">
+        where 1=1
+        <if test="searchValue != null and searchValue != ''">
             and (bs.electronic_tag like concat('%', #{searchValue}, '%')
             or bs.air_number like concat('%', #{searchValue}, '%') )
         </if>
         <if test="storageStatus != null ">and storage_status = #{storageStatus}</if>
-        <if test="startTime != null "> and date_format(bs.create_time,'%Y-%m-%d') &gt;= date_format(#{startTime},'%Y-%m-%d')</if>
-        <if test="endTime != null "> and date_format(bs.create_time,'%Y-%m-%d') &lt;= date_format(#{endTime},'%Y-%m-%d')</if>
+        <if test="ids != null ">
+            and bs.id in
+            <foreach item="id" collection="ids" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+        ) t  where 1=1
+        <if test="startTime != null ">
+               and date_format(t.lastTime,'%Y-%m-%d') &gt;= date_format(#{startTime},'%Y-%m-%d')</if>
+        <if test="endTime != null ">
+               and date_format(t.lastTime,'%Y-%m-%d') &lt;= date_format(#{endTime},'%Y-%m-%d')</if>
     </select>
 
     <select id="returnGas" parameterType="com.zd.bottle.vo.BottleStorageUseVo" resultType="com.zd.bottle.vo.BottleStorageUseVo">

+ 7 - 0
zd-modules/zd-bottle-parent/zd-bottle/src/main/resources/mapper/BottleStorageOutMapper.xml

@@ -54,6 +54,13 @@
         ab_bottle_storage_out bso
         LEFT JOIN ab_bottle_storage bs ON bso.storage_id = bs.id
         <where>
+        <if test="ids != null ">
+            and bso.id in
+            <foreach item="id" collection="ids" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </if>
+
         <if test="searchValue != null">
             and (
             bso.user_name like concat('%', #{searchValue}, '%')

+ 115 - 0
zd-modules/zd-chemical/pom.xml

@@ -134,6 +134,121 @@
                 </exclusion>
             </exclusions>
         </dependency>
+
+        <!-- 四医大短信依赖包 -->
+        <dependency>
+            <groupId>commons</groupId>
+            <artifactId>commons-codec</artifactId>
+            <version>1.4</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/commons-codec-1.4.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>commons</groupId>
+            <artifactId>commons-io</artifactId>
+            <version>1.3.2</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/commons-io-1.3.2.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>commons</groupId>
+            <artifactId>commons-pool</artifactId>
+            <version>1.5.4</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/commons-pool-1.5.4.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>jackson</groupId>
+            <artifactId>jackson-annotations</artifactId>
+            <version>2.6.0</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/jackson-annotations-2.6.0.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>jackson</groupId>
+            <artifactId>jackson-core</artifactId>
+            <version>2.6.2</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/jackson-core-2.6.2.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>jackson</groupId>
+            <artifactId>jackson-databind</artifactId>
+            <version>2.6.2</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/jackson-databind-2.6.2.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>jackson</groupId>
+            <artifactId>jackson-dataformat-xml</artifactId>
+            <version>2.6.2</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/jackson-dataformat-xml-2.6.2.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>jackson</groupId>
+            <artifactId>jackson-module-jaxb-annotations</artifactId>
+            <version>2.6.2</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/jackson-module-jaxb-annotations-2.6.2.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>junit</groupId>
+            <artifactId>junit</artifactId>
+            <version>4.8.1</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/junit-4.8.1.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>postmsg</groupId>
+            <artifactId>postmsg-ump</artifactId>
+            <version>5.3.0.0</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/postmsg-ump-5.3.0.0.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>protobuf</groupId>
+            <artifactId>protobuf-java</artifactId>
+            <version>2.4.1</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/protobuf-java-2.4.1.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>stax2-api</groupId>
+            <artifactId>stax2-api</artifactId>
+            <version>3.1.4</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/stax2-api-3.1.4.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>xpp3_min</groupId>
+            <artifactId>xpp3_min</artifactId>
+            <version>1.1.4c</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/xpp3_min-1.1.4c.jar</systemPath>
+        </dependency>
+
+        <dependency>
+            <groupId>xstream</groupId>
+            <artifactId>xstream</artifactId>
+            <version>1.3.1</version>
+            <scope>system</scope>
+            <systemPath>${pom.basedir}/src/main/resources/libs/sms-syd/xstream-1.3.1.jar</systemPath>
+        </dependency>
+
+        <!-- 四医大短信依赖包 -->
     </dependencies>
 
     <build>

+ 72 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/domain/SydSmsLog.java

@@ -0,0 +1,72 @@
+package com.zd.chemical.domain;
+
+import javax.validation.constraints.NotBlank;
+
+import org.hibernate.validator.constraints.Length;
+import com.zd.common.core.annotation.Excel;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
+import lombok.experimental.Accessors;
+import org.hibernate.validator.constraints.Length;
+import com.zd.common.core.web.domain.BaseEntity;
+
+/**
+ * 四医大校方短信对接日志对象 syd_sms_log
+ *
+ * @author liubo
+ * @date 2022-09-16
+ */
+@ApiModel("四医大校方短信对接日志")
+@Data
+@Accessors(chain = true)
+@ToString(callSuper = true)
+@EqualsAndHashCode(callSuper = false)
+public class SydSmsLog extends BaseEntity {
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * $column.columnComment
+     */
+    @ApiModelProperty(value = "${comment}")
+    private Long id;
+    /**
+     * 手机号
+     */
+    @ApiModelProperty(value = "手机号")
+    private String phone;
+    /**
+     * 通知内容
+     */
+    @ApiModelProperty(value = "通知内容")
+    private String content;
+    /**
+     * 短信下发批次
+     */
+    @ApiModelProperty(value = "短信下发批次")
+    private String uuid;
+    /**
+     * 0 下发成功,负数为失败(见状态码)
+     */
+    @ApiModelProperty(value = "0 下发成功,负数为失败")
+    private Integer status;
+    /**
+     * 是否回复
+     */
+    @ApiModelProperty(value = "是否回复")
+    private Integer reply;
+    /**
+     * 回复内容
+     */
+    @ApiModelProperty(value = "回复内容")
+    private String replyContent;
+
+    @ApiModelProperty(value = "用途:1 告警,2 登录,3 开锁")
+    private Integer purpose;
+
+    @ApiModelProperty(value = "开门申请id")
+    private Long lockApplyId;
+
+}

+ 69 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/mapper/SydSmsLogMapper.java

@@ -0,0 +1,69 @@
+package com.zd.chemical.mapper;
+
+import java.util.List;
+
+import com.zd.chemical.domain.SydSmsLog;
+
+/**
+ * 四医大校方短信对接日志Mapper接口
+ *
+ * @author liubo
+ * @date 2022-09-16
+ */
+public interface SydSmsLogMapper {
+    /**
+     * 查询四医大校方短信对接日志
+     *
+     * @param id 四医大校方短信对接日志主键
+     * @return 四医大校方短信对接日志
+     */
+    SydSmsLog selectSydSmsLogById(Long id);
+
+    /**
+     * 查询四医大校方短信对接日志列表
+     *
+     * @param sydSmsLog 四医大校方短信对接日志
+     * @return 四医大校方短信对接日志集合
+     */
+    List<SydSmsLog> selectSydSmsLogList(SydSmsLog sydSmsLog);
+
+    /**
+     * 根据主键集合查询四医大校方短信对接日志列表
+     *
+     * @param ids 主键集合
+     * @return 四医大校方短信对接日志集合
+     */
+    List<SydSmsLog> getListByIds(List<Long> ids);
+
+    /**
+     * 新增四医大校方短信对接日志
+     *
+     * @param sydSmsLog 四医大校方短信对接日志
+     * @return 结果
+     */
+    int insertSydSmsLog(SydSmsLog sydSmsLog);
+
+    /**
+     * 修改四医大校方短信对接日志
+     *
+     * @param sydSmsLog 四医大校方短信对接日志
+     * @return 结果
+     */
+    int updateSydSmsLog(SydSmsLog sydSmsLog);
+
+    /**
+     * 删除四医大校方短信对接日志
+     *
+     * @param id 四医大校方短信对接日志主键
+     * @return 结果
+     */
+    int deleteSydSmsLogById(Long id);
+
+    /**
+     * 批量删除四医大校方短信对接日志
+     *
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    int deleteSydSmsLogByIds(Long[] ids);
+}

+ 69 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/ISydSmsLogService.java

@@ -0,0 +1,69 @@
+package com.zd.chemical.service;
+
+import java.util.List;
+
+import com.zd.chemical.domain.SydSmsLog;
+
+/**
+ * 四医大校方短信对接日志Service接口
+ *
+ * @author liubo
+ * @date 2022-09-16
+ */
+public interface ISydSmsLogService {
+    /**
+     * 查询四医大校方短信对接日志
+     *
+     * @param id 四医大校方短信对接日志主键
+     * @return 四医大校方短信对接日志
+     */
+    SydSmsLog selectSydSmsLogById(Long id);
+
+    /**
+     * 查询四医大校方短信对接日志列表
+     *
+     * @param sydSmsLog 四医大校方短信对接日志
+     * @return 四医大校方短信对接日志集合
+     */
+    List<SydSmsLog> selectSydSmsLogList(SydSmsLog sydSmsLog);
+
+    /**
+     * 根据主键集合查询四医大校方短信对接日志列表
+     *
+     * @param ids 主键集合
+     * @return 四医大校方短信对接日志集合
+     */
+    List<SydSmsLog> getListByIds(List<Long> ids);
+
+    /**
+     * 新增四医大校方短信对接日志
+     *
+     * @param sydSmsLog 四医大校方短信对接日志
+     * @return 结果
+     */
+    int insertSydSmsLog(SydSmsLog sydSmsLog);
+
+    /**
+     * 修改四医大校方短信对接日志
+     *
+     * @param sydSmsLog 四医大校方短信对接日志
+     * @return 结果
+     */
+    int updateSydSmsLog(SydSmsLog sydSmsLog);
+
+    /**
+     * 批量删除四医大校方短信对接日志
+     *
+     * @param ids 需要删除的四医大校方短信对接日志主键集合
+     * @return 结果
+     */
+    int deleteSydSmsLogByIds(Long[] ids);
+
+    /**
+     * 删除四医大校方短信对接日志信息
+     *
+     * @param id 四医大校方短信对接日志主键
+     * @return 结果
+     */
+    int deleteSydSmsLogById(Long id);
+}

+ 109 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/service/impl/SydSmsLogServiceImpl.java

@@ -0,0 +1,109 @@
+package com.zd.chemical.service.impl;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import com.zd.common.core.utils.DateUtils;
+import com.zd.common.core.utils.SecurityUtils;
+import com.zd.common.security.utils.SaveUtil;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+import com.zd.chemical.mapper.SydSmsLogMapper;
+import com.zd.chemical.domain.SydSmsLog;
+import com.zd.chemical.service.ISydSmsLogService;
+
+/**
+ * 四医大校方短信对接日志Service业务层处理
+ *
+ * @author liubo
+ * @date 2022-09-16
+ */
+@Service
+public class SydSmsLogServiceImpl implements ISydSmsLogService {
+    @Autowired
+    private SydSmsLogMapper sydSmsLogMapper;
+
+    /**
+     * 查询四医大校方短信对接日志
+     *
+     * @param id 四医大校方短信对接日志主键
+     * @return 四医大校方短信对接日志
+     */
+    @Override
+    public SydSmsLog selectSydSmsLogById(Long id) {
+        return sydSmsLogMapper.selectSydSmsLogById(id);
+    }
+
+    /**
+     * 查询四医大校方短信对接日志列表
+     *
+     * @param sydSmsLog 四医大校方短信对接日志
+     * @return 四医大校方短信对接日志
+     */
+    @Override
+    public List<SydSmsLog> selectSydSmsLogList(SydSmsLog sydSmsLog) {
+        return sydSmsLogMapper.selectSydSmsLogList(sydSmsLog);
+    }
+
+    @Override
+    public List<SydSmsLog> getListByIds(List<Long> ids) {
+        if (ids.isEmpty()) {
+            new ArrayList<>();
+        }
+        return sydSmsLogMapper.getListByIds(ids);
+    }
+
+    /**
+     * 新增四医大校方短信对接日志
+     *
+     * @param sydSmsLog 四医大校方短信对接日志
+     * @return 结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int insertSydSmsLog(SydSmsLog sydSmsLog) {
+        //设置其他公共字段
+        SaveUtil.setCommonAttr(sydSmsLog);
+        return sydSmsLogMapper.insertSydSmsLog(sydSmsLog);
+    }
+
+    /**
+     * 修改四医大校方短信对接日志
+     *
+     * @param sydSmsLog 四医大校方短信对接日志
+     * @return 结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int updateSydSmsLog(SydSmsLog sydSmsLog) {
+        sydSmsLog.setUpdateTime(DateUtils.getNowDate());
+        sydSmsLog.setUpdateBy(SecurityUtils.getUsername());
+        return sydSmsLogMapper.updateSydSmsLog(sydSmsLog);
+    }
+
+    /**
+     * 批量删除四医大校方短信对接日志
+     *
+     * @param ids 需要删除的四医大校方短信对接日志主键
+     * @return 结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int deleteSydSmsLogByIds(Long[] ids) {
+        return sydSmsLogMapper.deleteSydSmsLogByIds(ids);
+    }
+
+    /**
+     * 删除四医大校方短信对接日志信息
+     *
+     * @param id 四医大校方短信对接日志主键
+     * @return 结果
+     */
+    @Override
+    @Transactional(rollbackFor = Exception.class)
+    public int deleteSydSmsLogById(Long id) {
+        return sydSmsLogMapper.deleteSydSmsLogById(id);
+    }
+}

+ 139 - 0
zd-modules/zd-chemical/src/main/java/com/zd/chemical/util/SmsSydUtil.java

@@ -0,0 +1,139 @@
+package com.zd.chemical.util;
+
+import cn.hutool.core.util.IdUtil;
+import com.esms.MOMsg;
+import com.esms.MessageData;
+import com.esms.PostMsg;
+import com.esms.common.entity.Account;
+import com.esms.common.entity.GsmsResponse;
+import com.esms.common.entity.MTPack;
+import com.zd.chemical.domain.SydSmsLog;
+import com.zd.chemical.service.ISydSmsLogService;
+import com.zd.common.core.constant.Constants;
+import com.zd.common.core.domain.R;
+import com.zd.common.core.utils.DateUtils;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.validation.constraints.NotNull;
+import java.util.HashMap;
+import java.util.Map;
+import java.util.UUID;
+
+@Slf4j
+@Component
+public class SmsSydUtil {
+
+    private static MTPack mtPack;
+
+    // 证号 djjx
+    // 登录密码 6B1aQety
+    // 发送密码 yfhzfGSJ
+    private static Account account = new Account("djjx", "yfhzfGSJ");
+
+    private static String SMS_IP =  "127.0.0.1";
+    public static int DOWN_PORT = 8090;
+    public static int UP_PORT = 8188;
+
+    // 8090  下发端口   8188 拉取状态报告和上行
+    private static PostMsg DOWN_PM = new PostMsg(SMS_IP, DOWN_PORT);
+    private static PostMsg UP_PM = new PostMsg(SMS_IP, UP_PORT);
+
+    private static Map<Integer, String> DOWN_MAP;
+
+    private ISydSmsLogService sydSmsLogService;
+
+    SmsSydUtil(){
+        // TODO 参数配置化
+
+        DOWN_MAP = new HashMap<>();
+        DOWN_MAP.put(0 , "成功");
+        DOWN_MAP.put(-1 , "账号无效,或者账号停用、过期等。");
+        DOWN_MAP.put(-2 , "参数无效");
+        DOWN_MAP.put(-3 , "连接不上服务器");
+        DOWN_MAP.put(-6 , "用户名密码错误");
+        DOWN_MAP.put(-11 , "单次提交号码数量超过系统限制");
+        DOWN_MAP.put(-12 , "超过发送量限制");
+        DOWN_MAP.put(-13 , "账号没有发送权限");
+        DOWN_MAP.put(-99 , "系统内部错误");
+        DOWN_MAP.put(-100 , "其它错误");
+
+    }
+
+    private static MTPack buildDefaultSMSPack() {
+        if(SmsSydUtil.mtPack == null){
+            mtPack = new MTPack();
+            mtPack.setSendType(MTPack.SendType.MASS);
+            mtPack.setMsgType(MTPack.MsgType.SMS);
+            mtPack.setBizType(1);
+        }
+        return SmsSydUtil.mtPack;
+    }
+
+    /**
+     * 四医大平台发送短信
+     * @param content 发送内容
+     * @param purpose 短信用途 1 告警,2 登录,3 开锁
+     * @param phones  手机号
+     * @return 发送结果
+     */
+    public R sendSydSms(@NotNull String content, @NotNull Integer purpose, Long lockApplyId, @NotNull String... phones) throws Exception {
+        UUID uuid = UUID.randomUUID();
+        R r = singleTicketMsgId(content, uuid, phones);
+
+        SydSmsLog sydSmsLog = new SydSmsLog();
+        sydSmsLog.setContent(content);
+        sydSmsLog.setPhone(phones.toString());
+        sydSmsLog.setPurpose(purpose);
+        sydSmsLog.setStatus(Integer.parseInt(r.getData() + ""));
+        sydSmsLog.setCreateTime(DateUtils.getNowDate());
+        sydSmsLog.setUuid(uuid.toString());
+        sydSmsLog.setLockApplyId(lockApplyId);
+
+        sydSmsLogService.insertSydSmsLog(sydSmsLog);
+        return r;
+    }
+
+
+    /**
+     * 短信下发范例 每个话单,一个扩展码
+     */
+    private synchronized static R singleTicketMsgId(@NotNull String content, UUID uuid, @NotNull String... phones) throws Exception {
+
+        MTPack pack = buildDefaultSMSPack();
+
+        // 批次号
+        pack.setBatchID(uuid);
+
+        log.info("四医大短信下发参数:UUID," + pack.getBatchID() + "手机号:" + phones.toString() + "内容:" + content);
+
+        for (String phone : phones) {
+            pack.addMsg(MessageData.getInstance(phone, content));
+        }
+
+        GsmsResponse resp = DOWN_PM.post(account, pack);
+        log.info("四医大短信下发返回结果:" + resp.toString());
+        if(resp.getResult() == 0){
+
+            return R.ok(resp.getResult()+"", resp.getResult());
+        }else {
+            return R.fail(resp.getResult()+"", DOWN_MAP.get(resp.getResult()));
+        }
+    }
+
+
+    /**
+     * 获取上行信息
+     *
+     */
+    private static void doGetMos() throws Exception {
+        MOMsg[] mos;
+        mos = UP_PM.getMOMsgs(account, 10);
+        if (mos != null) {
+            for (MOMsg mo : mos) {
+                log.info("四医大短信上行查询结果:" + mo.toString());
+            }
+        }
+    }
+
+}

BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/commons-codec-1.4.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/commons-io-1.3.2.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/commons-pool-1.5.4.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-annotations-2.6.0.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-core-2.6.2.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-databind-2.6.2.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-dataformat-xml-2.6.2.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/jackson-module-jaxb-annotations-2.6.2.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/junit-4.8.1.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/postmsg-ump-5.3.0.0.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/protobuf-java-2.4.1.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/stax2-api-3.1.4.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/xpp3_min-1.1.4c.jar


BIN
zd-modules/zd-chemical/src/main/resources/libs/sms-syd/xstream-1.3.1.jar


+ 145 - 0
zd-modules/zd-chemical/src/main/resources/mapper/chemical/SydSmsLogMapper.xml

@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper
+        PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
+        "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.zd.chemical.mapper.SydSmsLogMapper">
+
+    <resultMap type="com.zd.chemical.domain.SydSmsLog" id="SydSmsLogResult">
+        <result property="id" column="id"/>
+        <result property="phone" column="phone"/>
+        <result property="content" column="content"/>
+        <result property="uuid" column="uuid"/>
+        <result property="status" column="status"/>
+        <result property="reply" column="reply"/>
+        <result property="replyContent" column="reply_content"/>
+        <result property="createTime" column="create_time"/>
+        <result property="updateTime" column="update_time"/>
+        <result property="purpose" column="purpose"/>
+        <result property="lockApplyId" column="lock_apply_id"/>
+
+    </resultMap>
+
+    <sql id="selectSydSmsLogVo">
+        select id,
+               phone,
+               content,
+               uuid,
+               status,
+               reply,
+               reply_content,
+               create_time,
+               update_time,
+               purpose,
+               lock_apply_id
+        from syd_sms_log
+    </sql>
+    <sql id="selectSydSmsLogListVo">
+        select t.id,
+               t.phone,
+               t.content,
+               t.uuid,
+               t.status,
+               t.reply,
+               t.reply_content,
+               t.create_time,
+               t.update_time,
+               t.purpose,
+               t.lock_apply_id
+        from syd_sms_log as t
+    </sql>
+    <select id="selectSydSmsLogList" parameterType="com.zd.chemical.domain.SydSmsLog" resultMap="SydSmsLogResult">
+        <include refid="selectSydSmsLogVo"/>
+        <where>
+            <if test="phone != null  and phone != ''">and phone = #{phone}</if>
+            <if test="content != null  and content != ''">and content = #{content}</if>
+            <if test="uuid != null  and uuid != ''">and uuid = #{uuid}</if>
+            <if test="status != null ">and status = #{status}</if>
+            <if test="reply != null ">and reply = #{reply}</if>
+            <if test="replyContent != null  and replyContent != ''">and reply_content = #{replyContent}</if>
+        </where>
+    </select>
+
+    <select id="getListByIds" resultMap="SydSmsLogResult">
+        <include refid="selectSydSmsLogVo"/>
+        <where>
+            id in
+            <foreach item="id" collection="list" open="(" separator="," close=")">
+                #{id}
+            </foreach>
+        </where>
+    </select>
+
+    <select id="selectSydSmsLogById" resultMap="SydSmsLogResult">
+        <include refid="selectSydSmsLogVo"/>
+        where id = #{id}
+    </select>
+
+    <insert id="insertSydSmsLog" parameterType="com.zd.chemical.domain.SydSmsLog">
+        insert into syd_sms_log
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+
+            <if test="phone != null and phone != ''">phone,</if>
+
+            <if test="content != null">content,</if>
+
+            <if test="uuid != null">uuid,</if>
+
+            <if test="status != null">status,</if>
+
+            <if test="reply != null">reply,</if>
+
+            <if test="replyContent != null">reply_content,</if>
+
+            <if test="createTime != null">create_time,</if>
+
+            <if test="updateTime != null">update_time,</if>
+
+            <if test="purpose != null">purpose,</if>
+
+            <if test="lockApplyId != null">lock_apply_id,</if>
+
+        </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="phone != null and phone != ''">#{phone},</if>
+            <if test="content != null">#{content},</if>
+            <if test="uuid != null">#{uuid},</if>
+            <if test="status != null">#{status},</if>
+            <if test="reply != null">#{reply},</if>
+            <if test="replyContent != null">#{replyContent},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+            <if test="purpose != null">#{purpose},</if>
+            <if test="lockApplyId != null">#{lockApplyId},</if>
+        </trim>
+    </insert>
+
+    <update id="updateSydSmsLog" parameterType="com.zd.chemical.domain.SydSmsLog">
+        update syd_sms_log
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="phone != null and phone != ''">phone = #{phone},</if>
+            <if test="content != null">content = #{content},</if>
+            <if test="uuid != null">uuid = #{uuid},</if>
+            <if test="status != null">status = #{status},</if>
+            <if test="reply != null">reply = #{reply},</if>
+            <if test="replyContent != null">reply_content = #{replyContent},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+            <if test="purpose != null">purpose = #{purpose},</if>
+            <if test="lockApplyId != null">lock_apply_id = #{lockApplyId}</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteSydSmsLogById">
+        delete
+        from syd_sms_log
+        where id = #{id}
+    </delete>
+
+    <delete id="deleteSydSmsLogByIds">
+        delete from syd_sms_log where id in
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>