ソースを参照

修改自动监测查询到sql

hgw 3 年 前
コミット
1bef7b7796

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/TenantInfoDao.java

@@ -15,6 +15,8 @@ public interface TenantInfoDao extends BaseMapper<TenantInfo> {
 
     <T> IPage<T> queryPage(Page<T> page, @Param("param") Map<String, Object> param);
 
+    <T> List<T> queryPage(@Param("param") Map<String, Object> param);
+
     TenantProductSumm queryTenantInfoProductSumm(Integer tenantId);
 
     TenantInfo getOpenTenant(Integer tenantId);
@@ -23,7 +25,5 @@ public interface TenantInfoDao extends BaseMapper<TenantInfo> {
 
     void updatePhone(@Param("newPhone")String newPhone, @Param("oldPhone")String oldPhone);
 
-    List<TenantInfo> queryExpiryTenant(@Param("expiryDate") Date expiryDate);
-
     Integer queryUserByTenantId(@Param("tenantId") Integer tenantId);
 }

+ 22 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/vo/TenantInfoInfoPageVo.java

@@ -26,6 +26,9 @@ public class TenantInfoInfoPageVo implements Serializable {
     @ApiModelProperty(value = "机构联系人电话")
     private String phone;
 
+    @ApiModelProperty(value = "机构email")
+    private String email;
+
     @ApiModelProperty(value = "缴费状态 0未缴费  1已缴费")
     private Integer payState;
 
@@ -52,6 +55,9 @@ public class TenantInfoInfoPageVo implements Serializable {
     @ApiModelProperty(value = "到期时间")
     private Date expireDate;
 
+    @ApiModelProperty(value = "学员上限")
+    private Integer userId;
+
     public Integer getId() {
         return id;
     }
@@ -84,6 +90,14 @@ public class TenantInfoInfoPageVo implements Serializable {
         this.phone = phone;
     }
 
+    public String getEmail() {
+        return email;
+    }
+
+    public void setEmail(String email) {
+        this.email = email;
+    }
+
     public Integer getPayState() {
         return payState;
     }
@@ -147,4 +161,12 @@ public class TenantInfoInfoPageVo implements Serializable {
     public void setStudentCount(Integer studentCount) {
         this.studentCount = studentCount;
     }
+
+    public Integer getUserId() {
+        return userId;
+    }
+
+    public void setUserId(Integer userId) {
+        this.userId = userId;
+    }
 }

+ 15 - 10
mec-biz/src/main/java/com/ym/mec/biz/service/impl/TenantInfoServiceImpl.java

@@ -835,24 +835,29 @@ public class TenantInfoServiceImpl extends ServiceImpl<TenantInfoDao, TenantInfo
 
         //查询过期并且没有停用的机构,将其停用
         Date maturity = DateUtils.addDays(now, -1);
-        List<TenantInfo> maturityTenant = baseMapper.queryExpiryTenant(maturity);
+        Map<String, Object> par = new HashMap<>();
+        par.put("expiryDate", maturity);
+        List<TenantInfoInfoPageVo> maturityTenant = baseMapper.queryPage(par);
         maturityTenant.forEach(t -> {
-            t.setState(2);
-            t.setUpdatedBy(-1);
-            t.setUpdatedTime(now);
-            this.updateById(t);
+            TenantInfo tenantInfo = baseMapper.selectById(t.getId());
+            tenantInfo.setState(2);
+            tenantInfo.setUpdatedBy(-1);
+            tenantInfo.setUpdatedTime(now);
+            this.updateById(tenantInfo);
         });
     }
 
     private void checkAndSend(Date now, int i) {
-        Date one = DateUtils.addDays(now, i);
-        List<TenantInfo> oneTenant = baseMapper.queryExpiryTenant(one);
-        send(oneTenant, DateUtils.formatDate(one, "yyyy年MM月dd日"));
+        Date expiryDate = DateUtils.addDays(now, i);
+        Map<String, Object> par = new HashMap<>();
+        par.put("expiryDate", expiryDate);
+        List<TenantInfoInfoPageVo> oneTenant = baseMapper.queryPage(par);
+        send(oneTenant, DateUtils.formatDate(expiryDate, "yyyy年MM月dd日"));
     }
 
-    private void send(List<TenantInfo> infoList, String dateStr) {
+    private void send(List<TenantInfoInfoPageVo> infoList, String dateStr) {
         infoList.forEach(t -> {
-            Object[] objects = {t.getName(), dateStr};
+            Object[] objects = {t.getName(), t.getServeName(), dateStr, t.getStudentUpLimit()};
             tenantInfoSendMsgService.platformSendToAll(EXPIRATION, t.getUserId(), t.getEmail(), t.getPhone(), objects);
         });
     }

+ 8 - 32
mec-biz/src/main/resources/config/mybatis/TenantInfoMapper.xml

@@ -42,11 +42,13 @@
         <result column="name_" jdbcType="VARCHAR" property="name"/>
         <result column="contacts_" jdbcType="VARCHAR" property="contacts"/>
         <result column="phone_" jdbcType="VARCHAR" property="phone"/>
+        <result column="email_" jdbcType="VARCHAR" property="email"/>
         <result column="pay_state_" jdbcType="INTEGER" property="payState"/>
         <result column="state_" jdbcType="INTEGER" property="state"/>
         <result column="logo_" jdbcType="VARCHAR" property="logo"/>
         <result column="real_name_" jdbcType="VARCHAR" property="createdName"/>
         <result column="studentCount" jdbcType="INTEGER" property="studentCount"/>
+        <result column="userId" jdbcType="INTEGER" property="userId"/>
         <!-- 机构产品信息-->
         <result column="serve_name_" jdbcType="VARCHAR" property="serveName"/>
         <result column="student_up_limit_" jdbcType="INTEGER" property="studentUpLimit"/>
@@ -58,6 +60,7 @@
         a.`name_`,
         a.`contacts_`,
         a.`phone_`,
+        a.`email_`,
         a.`pay_state_`,
         a.`state_`,
         a.logo_,
@@ -65,7 +68,8 @@
         c.`name_` AS serve_name_,
         d.`student_up_limit_`,
         b.`expiry_date_`,
-        ifnull(st.studentCount, 0) as studentCount
+        ifnull(st.studentCount, 0) as studentCount,
+        a.user_id_ as userId
         FROM tenant_info AS a
         LEFT JOIN tenant_product_info AS b ON a.`id_` = b.`tenant_id_` and b.using_ = 0
         LEFT JOIN platform_serve AS c ON b.`serve_id_` = c.`id_`
@@ -96,6 +100,9 @@
             <if test="param.endDate != null ">
                 AND b.`expiry_date_` <![CDATA[ <= ]]>  #{param.endDate}
             </if>
+            <if test="param.expiryDate != null ">
+            AND b.`expiry_date_` = #{param.expiryDate}
+            </if>
         </where>
     </select>
 
@@ -125,37 +132,6 @@
         where id_ = (select tenant_id_ from organization where id_ = #{organId})
     </select>
 
-    <select id="queryExpiryTenant" resultMap="BaseResultMap">
-        SELECT a.id_,
-               a.name_,
-               a.contacts_,
-               a.phone_,
-               address_,
-               a.email_,
-               a.logo_,
-               a.customer_service_phone_,
-               a.remark_,
-               a.domain_name_,
-               a.data_source_,
-               a.pay_state_,
-               a.state_,
-               a.created_by_,
-               a.created_time_,
-               a.updated_by_,
-               a.updated_time_,
-               a.tsign_code_,
-               a.tsign_name_,
-               a.area_id_,
-               a.user_id_
-        FROM `tenant_info` AS a
-                 LEFT JOIN `tenant_product_info` AS b
-                           ON a.id_ = b.`tenant_id_`
-        WHERE a.`state_` = 1
-          AND a.`pay_state_` = 1
-          AND b.`using_` = 0
-          AND b.`expiry_date_` = #{expiryDate}
-    </select>
-
     <select id="queryUserByTenantId" resultType="integer">
         select id_ from sys_user where tenant_id_ = #{tenantId} limit 1
     </select>