Browse Source

增加 是否发送短信

bzd_lxf 2 months ago
parent
commit
dc5e4b9601

+ 20 - 1
pm-admin/src/main/java/com/pm/web/controller/meeting/MeetingController.java

@@ -1,5 +1,8 @@
 package com.pm.web.controller.meeting;
 
+import com.fasterxml.jackson.databind.JsonNode;
+import com.fasterxml.jackson.databind.ObjectMapper;
+import com.fasterxml.jackson.databind.node.ObjectNode;
 import com.pm.common.config.PageData;
 import com.pm.common.core.controller.BaseController;
 import com.pm.common.core.domain.AjaxResult;
@@ -56,7 +59,8 @@ public class MeetingController  extends BaseController
                     "  \"page\": "+pd.getInteger("pageNum")+",\n" +
                     "  \"page_size\": "+pd.getInteger("pageSize")+"\n" +
                     "}";
-            PageData interface_info = interfaceInfoService.selectInterfaceInfoByName("会议");
+            PageData interface_info = interfaceInfoService.selectInterfaceInfoByName(pd.getString("interfaceName"));
+            pd.put("url",interface_info.get("url"));
             OkHttpClient client = new OkHttpClient().newBuilder()
                     .build();
             MediaType mediaType = MediaType.parse("application/json");
@@ -71,6 +75,21 @@ public class MeetingController  extends BaseController
             e.printStackTrace();
         }
         try {
+            /*ObjectMapper objectMapper = new ObjectMapper();
+
+            JsonNode rootNode = objectMapper.readTree(response.body().string());
+
+            // 将 url 字段添加到 JSON 对象中
+            if (rootNode.isObject()) {
+                ObjectNode objectNode = (ObjectNode) rootNode;
+                objectNode.put("url", pd.getString("url"));
+
+                // 序列化 JSON 对象为字符串
+                String modifiedBody = objectMapper.writeValueAsString(objectNode);
+                return modifiedBody;
+            } else {
+                throw new RuntimeException("响应体不是有效的 JSON 对象");
+            }*/
             return response.body().string();
         } catch (Exception e) {
             throw new RuntimeException(e);

+ 15 - 0
pm-common/src/main/java/com/pm/common/core/domain/entity/SysUser.java

@@ -66,6 +66,10 @@ public class SysUser extends BaseEntity
     @Excel(name = "最后登录IP", type = Type.EXPORT)
     private String loginIp;
 
+    /** 是否发送短信 */
+    @Excel(name = "是否发送短信", readConverterExp = "0=不发送,1=发送")
+    private String isSms;
+
     /** 最后登录时间 */
     @Excel(name = "最后登录时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss", type = Type.EXPORT)
     private Date loginDate;
@@ -237,6 +241,16 @@ public class SysUser extends BaseEntity
         this.loginIp = loginIp;
     }
 
+    public String getIsSms()
+    {
+        return isSms;
+    }
+
+    public void setIsSms(String isSms)
+    {
+        this.isSms = isSms;
+    }
+
     public Date getLoginDate()
     {
         return loginDate;
@@ -312,6 +326,7 @@ public class SysUser extends BaseEntity
             .append("status", getStatus())
             .append("delFlag", getDelFlag())
             .append("loginIp", getLoginIp())
+            .append("isSms", getIsSms())
             .append("loginDate", getLoginDate())
             .append("createBy", getCreateBy())
             .append("createTime", getCreateTime())

+ 6 - 2
pm-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -17,6 +17,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
         <result property="status"       column="status"       />
         <result property="delFlag"      column="del_flag"     />
         <result property="loginIp"      column="login_ip"     />
+        <result property="isSms"      column="is_sms"     />
         <result property="loginDate"    column="login_date"   />
         <result property="createBy"     column="create_by"    />
         <result property="createTime"   column="create_time"  />
@@ -47,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </resultMap>
 
 	<sql id="selectUserVo">
-        select u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
+        select u.is_sms,u.user_id, u.dept_id, u.user_name, u.nick_name, u.email, u.avatar, u.phonenumber, u.password, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark,
         d.dept_id, d.parent_id, d.ancestors, d.dept_name, d.order_num, d.leader, d.status as dept_status,
         r.role_id, r.role_name, r.role_key, r.role_sort, r.data_scope, r.status as role_status
         from sys_user u
@@ -57,7 +58,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
     </sql>
 
     <select id="selectUserList" parameterType="SysUser" resultMap="SysUserResult">
-		select u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
+		select u.is_sms,u.user_id, u.dept_id, u.nick_name, u.user_name, u.email, u.avatar, u.phonenumber, u.sex, u.status, u.del_flag, u.login_ip, u.login_date, u.create_by, u.create_time, u.remark, d.dept_name, d.leader from sys_user u
 		left join sys_dept d on u.dept_id = d.dept_id
 		where u.del_flag = '0'
 		<if test="userId != null and userId != 0">
@@ -153,6 +154,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="phonenumber != null and phonenumber != ''">phonenumber,</if>
  			<if test="sex != null and sex != ''">sex,</if>
  			<if test="password != null and password != ''">password,</if>
+ 			<if test="isSms != null and isSms != ''">is_sms,</if>
  			<if test="status != null and status != ''">status,</if>
  			<if test="createBy != null and createBy != ''">create_by,</if>
  			<if test="remark != null and remark != ''">remark,</if>
@@ -167,6 +169,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="phonenumber != null and phonenumber != ''">#{phonenumber},</if>
  			<if test="sex != null and sex != ''">#{sex},</if>
  			<if test="password != null and password != ''">#{password},</if>
+ 			<if test="isSms != null and isSms != ''">#{isSms},</if>
  			<if test="status != null and status != ''">#{status},</if>
  			<if test="createBy != null and createBy != ''">#{createBy},</if>
  			<if test="remark != null and remark != ''">#{remark},</if>
@@ -185,6 +188,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="sex != null and sex != ''">sex = #{sex},</if>
  			<if test="avatar != null and avatar != ''">avatar = #{avatar},</if>
  			<if test="password != null and password != ''">password = #{password},</if>
+			<if test="isSms != null and isSms != ''">is_sms = #{isSms},</if>
  			<if test="status != null and status != ''">status = #{status},</if>
  			<if test="loginIp != null and loginIp != ''">login_ip = #{loginIp},</if>
  			<if test="loginDate != null">login_date = #{loginDate},</if>

+ 4 - 0
pm_ui/src/views/meeting/index.vue

@@ -106,6 +106,7 @@ const waringList = ref([]);
 const loading = ref(true);
 const showSearch = ref(true);
 const total = ref(0);
+const url_str = "";
 
 // 获取当前时间
 const currentTime = getCurrentHour(); // 当前整点时间
@@ -119,6 +120,7 @@ const data = reactive({
     appoint_time: "", // 重置为空
     start_time: "",
     end_time: "",
+    interfaceName:"会议",
     search: '' // 搜索文本默认为空
   },
   timeSlots: generateTimeSlots(), // 动态生成时间轴
@@ -146,6 +148,7 @@ function getCurrentHour() {
 function getList() {
   loading.value = true;
   listMeeting(queryParams.value).then(response => {
+    console.log(response);
     waringList.value = response.data.list;
     total.value = response.data.total;
     loading.value = false;
@@ -186,6 +189,7 @@ function resetQuery() {
     status: '',
     date: new Date().toISOString().split('T')[0],
     appoint_time: "",
+    interfaceName:"会议",
     start_time: "",
     end_time: "",
     search: ''

+ 13 - 3
pm_ui/src/views/system/user/index.vue

@@ -102,8 +102,8 @@
     </el-row>
 
     <!-- 添加或修改用户配置对话框 -->
-    <el-dialog :title="title" v-model="open" width="600px" append-to-body>
-      <el-form :model="form" :rules="rules" ref="userRef" label-width="80px">
+    <el-dialog :title="title" v-model="open" width="650px" append-to-body>
+      <el-form :model="form" :rules="rules" ref="userRef" label-width="100px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="用户昵称" prop="nickName">
@@ -174,6 +174,15 @@
         </el-row>
         <el-row>
           <el-col :span="24">
+            <el-form-item label="是否发送短信">
+              <el-radio-group v-model="form.isSms">
+                <el-radio v-for="dict in sys_yes_no" :key="dict.value" :value="dict.value">{{ dict.label }}</el-radio>
+              </el-radio-group>
+            </el-form-item>
+          </el-col>
+        </el-row>
+        <el-row>
+          <el-col :span="24">
             <el-form-item label="备注">
               <el-input v-model="form.remark" type="textarea" placeholder="请输入内容"></el-input>
             </el-form-item>
@@ -223,7 +232,7 @@ import "splitpanes/dist/splitpanes.css"
 const router = useRouter();
 const appStore = useAppStore()
 const { proxy } = getCurrentInstance();
-const { sys_normal_disable, sys_user_sex } = proxy.useDict("sys_normal_disable", "sys_user_sex");
+const { sys_normal_disable, sys_user_sex,sys_yes_no } = proxy.useDict("sys_normal_disable", "sys_user_sex","sys_yes_no");
 
 const userList = ref([]);
 const open = ref(false);
@@ -471,6 +480,7 @@ function reset() {
     email: undefined,
     sex: undefined,
     status: "0",
+    isSms: "N",
     remark: undefined,
     postIds: [],
     roleIds: []

+ 1 - 0
sql/20250526_用户表.sql

@@ -0,0 +1 @@
+ALTER TABLE sys_user ADD COLUMN `is_sms` varchar(20) DEFAULT '0' COMMENT '是否发送短信,0不发送,1发送';