Browse Source

文件上传开关

master
La123123 4 weeks ago
parent
commit
ab49190103
  1. 45
      im-admin-ui/src/views/im/customer/index.vue
  2. 28
      im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserController.java
  3. 5
      im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/ImAgentAdmin.java
  4. 7
      im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ImAgentAdminService.java
  5. 33
      im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/ImAgentAdminServiceImpl.java

45
im-admin-ui/src/views/im/customer/index.vue

@ -25,8 +25,13 @@
<el-col :span="1.5">
<el-button v-hasPermi="['im:user:addCustomer']" type="primary" plain icon="Plus" @click="handleAdd">新增</el-button>
</el-col>
<el-col :span="4" class="flex items-center">
<span class="text-[var(--el-component-bg-color)]">当前客服数量{{ total }}</span>
<el-col :span="8" class="flex items-center" style="margin-left: 10px">
<span class="mr-2">是否开启文件上传</span>
<el-switch v-model="fileUploadSwitch" active-text="" inactive-text="" @change="handleFileUploadSwitchChange" />
</el-col>
<el-col :span="4" class="flex items-center" style="margin-top: 5px">
<span class="text-[var(--el-component-bg-color)]">当前客服总数量{{ total }}</span>
</el-col>
<right-toolbar v-model:showSearch="showSearch" @query-table="getList"></right-toolbar>
@ -118,7 +123,7 @@
</template>
<script setup name="Customer" lang="ts">
import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd } from '@/api/im/user/customer';
import { listUser, getUser, delUser, addUser, updateUser, resetUserPwd, getFileOpen, updateFileOpen } from '@/api/im/user/customer';
import { UserVO, UserQuery, UserForm } from '@/api/im/user/types';
import { to } from 'await-to-js';
const { proxy } = getCurrentInstance() as ComponentInternalInstance;
@ -182,8 +187,42 @@ const data = reactive<PageData<UserForm, UserQuery>>({
});
const { queryParams, form, rules } = toRefs(data);
//
const fileUploadSwitch = ref(false);
const { im_bool } = toRefs<any>(proxy?.useDict('im_bool'));
const { sys_user_sex } = toRefs<any>(proxy?.useDict('sys_user_sex'));
//
onMounted(async () => {
getList();
await initFileUploadSwitch();
});
/** 初始化文件上传开关状态 */
const initFileUploadSwitch = async () => {
try {
const response = await getFileOpen();
fileUploadSwitch.value = response.data === 1;
} catch (error) {
console.error('获取文件上传开关状态失败:', error);
}
};
/** 文件上传开关状态改变事件 */
const handleFileUploadSwitchChange = async (value: boolean) => {
try {
const status = value ? 1 : 0;
await updateFileOpen(status);
proxy?.$modal.msgSuccess(`${value ? '开启' : '关闭'}文件上传功能成功`);
} catch (error) {
// API
fileUploadSwitch.value = !value;
proxy?.$modal.msgError(`${value ? '开启' : '关闭'}文件上传功能失败`);
console.error('更新文件上传开关状态失败:', error);
}
};
/** 提交按钮 */
const submitForm = () => {
userFormRef.value?.validate(async (valid: boolean) => {

28
im-admin/ruoyi-im/src/main/java/org/dromara/im/controller/ImUserController.java

@ -269,4 +269,32 @@ public class ImUserController extends BaseController {
userService.updateBatchUser(list);
return R.ok();
}
/**
* 开启关闭 文件上传
*/
@SaCheckPermission("im:user:editCustomer")
@Log(title = "开启关闭 文件上传", businessType = BusinessType.UPDATE)
@PostMapping("/updateFileOpen")
public R updateFileOpen(@RequestBody JSONObject json) {
int isOpenFile = json.getInt("isOpenFile");
if(isOpenFile != 0 && isOpenFile != 1){
return R.fail("error");
}
imAgentAdminService.updateFileOpen(isOpenFile);
return R.ok();
}
/**
* 获取用户文件上传开启状态
*/
@SaCheckPermission("im:user:editCustomer")
@Log(title = "获取用户文件上传开启状态", businessType = BusinessType.UPDATE)
@PostMapping("/getFileOpen")
public R getFileOpen() {
int status = imAgentAdminService.getFileOpen();
return R.ok(status);
}
}

5
im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/domain/ImAgentAdmin.java

@ -67,5 +67,10 @@ public class ImAgentAdmin implements TransPojo {
*/
private Long maxCustomer;
/**
* 文件上传状态
*/
private int isFileOpen;
}

7
im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/ImAgentAdminService.java

@ -109,4 +109,11 @@ public interface ImAgentAdminService {
Map<String,String> getPackageInfo();
/**
* 更新文件上传状态的方法
*/
void updateFileOpen(int status);
int getFileOpen();
}

33
im-admin/ruoyi-modules/ruoyi-system/src/main/java/org/dromara/system/service/impl/ImAgentAdminServiceImpl.java

@ -282,5 +282,38 @@ public class ImAgentAdminServiceImpl implements ImAgentAdminService {
return data;
}
@Override
public void updateFileOpen(int status) {
Long userId = LoginHelper.getUserId();
if(userId == null){
return;
}
LambdaUpdateWrapper<ImAgentAdmin> luw = Wrappers.lambdaUpdate();
luw.set(ImAgentAdmin::getIsFileOpen, status);
luw.eq(ImAgentAdmin::getSysId, userId);
baseMapper.update(null, luw);
}
@Override
public int getFileOpen() {
Long userId = LoginHelper.getUserId();
if(userId == null || LoginHelper.isSuperAdmin()){
return 0;
}
LambdaQueryWrapper<ImAgentAdmin> lqw = Wrappers.lambdaQuery();
lqw.eq(ImAgentAdmin::getSysId, userId);
ImAgentAdmin agent = baseMapper.selectOne(lqw);
if(agent == null) {
return 0;
}
return agent.getIsFileOpen();
}
}

Loading…
Cancel
Save