liukangdong
2024-05-11 b771d62db31bb113aff6db1be958ca83d591212f
Merge branch 'master' of http://139.186.142.91:10010/r/productDev/dmvisit
已修改19个文件
164 ■■■■ 文件已修改
admin/src/api/meeting/projects.js 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/utils/form.js 56 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/components/OperaBookingsWindow.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/components/OperaRoomsWindow.vue 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/projects.vue 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/views/meeting/rooms.vue 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/java/com/doumee/MeetingAdminApplication.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/java/com/doumee/api/business/BookingsController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/java/com/doumee/api/common/HomeController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingsCloudController.java 26 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/ProjectsCloudController.java 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_admin/src/main/java/com/doumee/config/shiro/ShiroConfig.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/ProjectsServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/core/model/LoginUserModel.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
admin/src/api/meeting/projects.js
@@ -24,14 +24,13 @@
  return request.post('/meetingAdmin/cloudService/business/projects/updateById', data)
}
// 会议关联的项目
export function findListByObjId ({objId, objType}) {
  // return request.post('/meetingAdmin/cloudService/business/projects/findListByObjId', { params })
  return request.post(`/meetingAdmin/cloudService/projects/findListByObjId?objId=${objId}&objType=${objType}`)
export function findListByObjId (data) {
  return request.post('/meetingAdmin/cloudService/business/projects/findListByObjId', data)
}
// 删除
export function deleteById (id) {
  return request.get(`/meetingAdmin/cloudService/projects/delete/${id}`)
  return request.get(`/meetingAdmin/cloudService/business/projects/delete/${id}`)
}
// 批量删除
admin/src/utils/form.js
@@ -23,3 +23,59 @@
  }
  callback()
}
export function numRule(rule, value, callback) {
  // debugger
  if (value == null || value < 0 || !value) {
    callback(new Error())
  } else {
    callback()
  }
}
export function arrayRule(rule, value, callback) {
  // debugger
  if (value == null || value.length <= 0 || !value) {
    callback(new Error())
  } else {
    callback()
  }
}
export function nameRule (rule, value, callback) {
  if (value == null || value.trim() === '') {
    if (rule.required) {
      callback(new Error('请输入名字'))
    } else {
      callback()
    }
    return
  }
  callback()
  // let re =  /^[\u4e00-\u9fa5]+$/g;
  // var result = re.test(value)
  // if(!result) {
  //   callback(new Error('请输入正确的名字'))
  // } else {
  //   callback()
  // }
}
export function creditCode (rule, value, callback) {
  if (value == null || value.trim() === '') {
    if (rule.required) {
      callback(new Error('请输入社会信用代码'))
    } else {
      callback()
    }
    return
  }
  let re = /^[0-9A-HJ-NPQRTUWXY]{2}\d{6}[0-9A-HJ-NPQRTUWXY]{10}$/
  var result = re.test(value)
  if(!result) {
    callback(new Error('请输入正确的社会信用代码'))
  } else {
    callback()
  }
}
admin/src/views/meeting/components/OperaBookingsWindow.vue
@@ -101,7 +101,7 @@
import BaseOpera from '@/components/base/BaseOpera'
import GlobalAlertWindow from '@/components/common/GlobalAlertWindow'
import FileLink from '@/views/meeting/components/common/FileLink'
import { uploadFileLocal as upload } from '@/api/system/common'
import { upload as upload } from '@/api/system/common'
import { fetchList as userList } from '@/api/system/user'
import { findListByObjId } from '@/api/meeting/projects'
import { findList } from '@/api/meeting/roomTime'
@@ -211,8 +211,8 @@
    selectRoom(objId) {
      this.getTimes()
      findListByObjId({
        objId,
        objType: 0,
        objId: objId,
        objType: 0
      })
        .then(res => {
          this.projectList = res
admin/src/views/meeting/components/OperaRoomsWindow.vue
@@ -101,20 +101,20 @@
        id: null,
        sysList: [],
        projectList: [],
        createDate: '',
        createDate: null,
        editor: '',
        editDate: '',
        isdeleted: '',
        editDate: null,
        isdeleted: 0,
        name: '',
        remark: '',
        startTime: '',
        endTime: '',
        limitNum: '',
        limitNum: 0,
        imgurl: '',
        imgFullUrl: '',
        tips: '',
        status: '',
        intervalTime: ''
        status: 0,
        intervalTime: 0
      },
      user: [],
      projectList: [],
@@ -178,6 +178,9 @@
        this.form.projectList = this.form.projectList ? target.projectList.map(item => item.projectId) : []
        this.form.sysList = this.form.sysList ? this.form.sysList.map(item => item.userId) : []
        // console.log(this.form.imgFullUrl);
        console.log(this.form)
        console.log(this.form.intervalTime)
        console.log(target)
      })
    },
    selectRange(v) {
admin/src/views/meeting/projects.vue
@@ -58,7 +58,7 @@
            <!-- {{ row.imgurlfull }} -->
            <el-image
              v-if="!!row.imgurlfull"
              style="width: 80px; height: 40px;"
              style="width: 40px; height: 40px;"
              :src="row.imgurlfull"
              :preview-src-list="[row.imgurlfull]"
            ></el-image>
@@ -67,12 +67,11 @@
        <el-table-column prop="name" label="名称" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="sortnum" label="排序码(升序)" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="createDate" label="创建时间" align="center" min-width="100px"></el-table-column>
        <el-table-column prop="editDate" label="更新时间" align="center" min-width="100px"></el-table-column>
        <el-table-column
          v-if="containPermissions(['business:projects:update', 'business:projects:delete'])"
          label="操作"
          min-width="120"
          fixed="right"
          align="center"
        >
          <template slot-scope="{row}">
@@ -123,7 +122,7 @@
  created () {
    this.config({
      module: '服务项目信息表',
      api: '@/views/meeting/api/projects',
      api: '/meeting/projects',
      'field.id': 'id',
      'field.main': 'id'
    })
admin/src/views/meeting/rooms.vue
@@ -11,6 +11,7 @@
          filterable
          clearable
          multiple
          style="width: 250px"
          placeholder="选择部门成员"
        >
          <el-option
@@ -84,8 +85,8 @@
          </template>
        </el-table-column>
        <el-table-column prop="createDate" label="创建时间"  align="center" min-width="140px"></el-table-column>
        <el-table-column prop="editDate" label="更新时间" min-width="140px"></el-table-column>
        <!-- <el-table-column prop="editor" label="更新人编码" min-width="100px"></el-table-column>
        <el-table-column prop="editDate" label="更新时间" min-width="100px"></el-table-column>
        <el-table-column prop="isdeleted" label="是否删除0否 1是" min-width="100px"></el-table-column>
        <el-table-column prop="remark" label="备注" min-width="100px"></el-table-column>
        <el-table-column prop="imgurl" label="会议室图片" min-width="100px"></el-table-column>
server/meeting/meeting_admin/src/main/java/com/doumee/MeetingAdminApplication.java
@@ -16,8 +16,8 @@
@Slf4j
@EnableAsync
@SpringBootApplication
@MapperScan("com.doumee.dao.*")
@EnableDiscoveryClient
@MapperScan("com.doumee.dao")
public class MeetingAdminApplication {
    public static void main(String[] args) {
        ApplicationContext context = SpringApplication.run(MeetingAdminApplication.class);
server/meeting/meeting_admin/src/main/java/com/doumee/api/business/BookingsController.java
@@ -66,7 +66,7 @@
    @GetMapping("/delete/{id}")
    @RequiresPermissions("business:bookings:delete")
    public ApiResponse deleteById(@PathVariable Integer id) {
        bookingsService.deleteById(id);
        bookingsService.deleteById(id,this.getLoginUser(null));
        return ApiResponse.success(null);
    }
@@ -79,7 +79,7 @@
        for (String id : idArray) {
            idList.add(Integer.valueOf(id));
        }
        bookingsService.deleteByIdInBatch(idList);
        bookingsService.deleteByIdInBatch(idList,this.getLoginUser(null));
        return ApiResponse.success(null);
    }
server/meeting/meeting_admin/src/main/java/com/doumee/api/common/HomeController.java
@@ -83,7 +83,7 @@
        bq2.eq(Bookings::getStatus, Constants.ZERO);
        bq2.apply("DATE_FORMAT(t.START_TIME,'%Y-%m-%d') = DATE_FORMAT(now(),'%Y-%m-%d') " );
       // bq2.last("limit 1");
        bq2.select("(select count(u.id) from user_rel u where u.ISDELETED=0 and u.OBJ_ID=t.id)as bookingUser");
        bq2.select("(select count(u.id) from meeting_user_rel u where u.ISDELETED=0 and u.OBJ_ID=t.id)as bookingUser");
        List<Bookings> bk2= bookingsJoinMapper.selectJoinList(Bookings.class,bq2);
        Integer bookingUser=0;
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/BookingsCloudController.java
@@ -4,6 +4,7 @@
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.doumee.api.BaseController;
import com.doumee.config.annotation.CloudRequiredPermission;
import com.doumee.core.annotation.excel.ExcelExporter;
import com.doumee.core.annotation.pr.PreventRepeat;
import com.doumee.core.model.ApiResponse;
@@ -23,7 +24,6 @@
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.apache.shiro.authz.annotation.RequiresPermissions;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
@@ -54,7 +54,7 @@
    @PreventRepeat
    @ApiOperation("新建")
    @PostMapping("/create")
    @RequiresPermissions("business:bookings:create")
    @CloudRequiredPermission("business:bookings:create")
    public ApiResponse create(@RequestBody Bookings bookings,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        LoginUserInfo user = getLoginUser(token);
        bookings.setLoginUserInfo(user);
@@ -64,7 +64,7 @@
    @ApiOperation("根据ID删除")
    @GetMapping("/delete/{id}")
    @RequiresPermissions("business:bookings:delete")
    @CloudRequiredPermission("business:bookings:delete")
    public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        bookingsService.deleteById(id,this.getLoginUser(token));
        return ApiResponse.success(null);
@@ -72,7 +72,7 @@
    @ApiOperation("批量删除")
    @GetMapping("/delete/batch")
    @RequiresPermissions("business:bookings:delete")
    @CloudRequiredPermission("business:bookings:delete")
    public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        String [] idArray = ids.split(",");
        List<Integer> idList = new ArrayList<>();
@@ -85,7 +85,7 @@
    @ApiOperation("根据ID修改")
    @PostMapping("/updateById")
    @RequiresPermissions("business:bookings:update")
    @CloudRequiredPermission("business:bookings:update")
    public ApiResponse updateById(@RequestBody Bookings bookings,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        LoginUserInfo user = getLoginUser(token);
        bookings.setLoginUserInfo(user);
@@ -96,21 +96,21 @@
    @ApiOperation("分页查询")
    @PostMapping("/page")
    @RequiresPermissions("business:bookings:query")
    @CloudRequiredPermission("business:bookings:query")
    public ApiResponse<PageData<Bookings>> findPage (@RequestBody PageWrap<Bookings> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(bookingsService.findPage(pageWrap));
    }
    @ApiOperation("导出Excel")
    @PostMapping("/exportExcel")
    @RequiresPermissions("business:bookings:exportExcel")
    @CloudRequiredPermission("business:bookings:exportExcel")
    public void exportExcel (@RequestBody PageWrap<Bookings> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        ExcelExporter.build(Bookings.class).export(bookingsService.findPage(pageWrap).getRecords(), "会议室预定信息表", response);
    }
    @ApiOperation("根据ID查询")
    @GetMapping("/{id}")
    @RequiresPermissions("business:bookings:query")
    @CloudRequiredPermission("business:bookings:query")
    public ApiResponse<MeetingDetailResponse> findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        return ApiResponse.success(bookingsService.getMeetingDetail(id));
    }
@@ -118,7 +118,7 @@
    @ApiOperation("取消")
    @PostMapping("/cancelById")
    @RequiresPermissions("business:bookings:update")
    @CloudRequiredPermission("business:bookings:update")
    public ApiResponse cancelById(@RequestBody Bookings bookings,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        bookings.setLoginUserInfo(this.getLoginUser(token));
        bookingsService.cancelById(bookings);
@@ -127,21 +127,21 @@
    @ApiOperation("会议室使用时长统计")
    @GetMapping("/getRoomStatistics")
    @RequiresPermissions("business:bookings:update")
    @CloudRequiredPermission("business:bookings:update")
    public ApiResponse<List<RoomStatisticsVo>> getRoomStatistics(@RequestParam Integer yearNum, @RequestParam Integer roomId){
        return ApiResponse.success(bookingsService.getRoomStatistics(yearNum));
    }
    @ApiOperation("人员参加会议时常")
    @PostMapping("/getUserStatistics")
    @RequiresPermissions("business:bookings:update")
    @CloudRequiredPermission("business:bookings:update")
    public ApiResponse<PageData<UserStatisticsVo>> getUserStatistics(@RequestBody PageWrap<UserStatisticsDTO> pageWrap ){
        return ApiResponse.success(bookingsService.getUserStatistics(pageWrap));
    }
    @ApiOperation("人员参会时长统计导出Excel")
    @PostMapping("/exportUserStatistics")
    @RequiresPermissions("business:bookings:exportExcel")
    @CloudRequiredPermission("business:bookings:exportExcel")
    public void exportUserStatistics (@RequestBody PageWrap<UserStatisticsDTO> pageWrap,HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        List<UserStatisticsVo> records = bookingsService.getUserStatistics(pageWrap).getRecords();
@@ -165,7 +165,7 @@
    @ApiOperation("会议室使用时长统计导出Excel")
    @PostMapping("/exportRoomStatistics")
    @RequiresPermissions("business:bookings:exportExcel")
    @CloudRequiredPermission("business:bookings:exportExcel")
    public void exportRoomStatistics (@RequestBody PageWrap<UserStatisticsDTO> pageWrap,HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){
        List<RoomStatisticsVo> roomStatistics = bookingsService.getRoomStatistics(pageWrap.getModel().getYearNum());
        if (!CollectionUtils.isEmpty(roomStatistics)){
server/meeting/meeting_admin/src/main/java/com/doumee/cloud/admin/ProjectsCloudController.java
@@ -19,6 +19,7 @@
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
 * @author 江蹄蹄
@@ -93,13 +94,12 @@
        return ApiResponse.success(projectsService.findById(id));
    }
    @ApiOperation("会议关联的项目")
    @PostMapping("/findListByObjId")
    @CloudRequiredPermission("business:projects:query")
    public ApiResponse<List<ProjectsResponse>> findListByObjId (@RequestParam Integer objId, @RequestParam Integer objType, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
        return ApiResponse.success(projectsService.getProjectsList(objId,objType));
    public ApiResponse<List<ProjectsResponse>> findListByObjId (@RequestBody Map<String,Object> param, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) {
//        @RequestParam Integer objId, @RequestParam Integer objType,
        return ApiResponse.success(projectsService.getProjectsList((Integer) param.get("objId"), (Integer) param.get("objType")));
    }
}
server/meeting/meeting_admin/src/main/java/com/doumee/config/shiro/ShiroConfig.java
@@ -59,6 +59,7 @@
        DefaultWebSecurityManager securityManager = new DefaultWebSecurityManager();
        securityManager.setRealm(shiroRealm);
        securityManager.setSessionManager(this.sessionManager());
        securityManager.setCacheManager(shiroCacheManager);
        return securityManager;
    }
@@ -67,7 +68,7 @@
    public ShiroFilterFactoryBean shiroFilterFactoryBean(SecurityManager securityManager) {
        ShiroFilterFactoryBean shiroFilterFactoryBean = new ShiroFilterFactoryBean();
        shiroFilterFactoryBean.setSecurityManager(securityManager);
        Map<String, String> map = new HashMap<>();
        Map<String, String> map = new LinkedHashMap<>();
        // 路径拦截配置
        map.put("/system/login", "anon");
        map.put("/system/logout", "anon");
@@ -75,7 +76,6 @@
        //文件上传取消拦截
        map.put("/public/**", "anon");
        map.put(Constants.CLOUD_SERVICE_URL_INDEX+"/**", "anon");
        // - 放行swagger
        map.put("/doc.html", "anon");
        map.put("/webjars/**", "anon");
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/BookingsServiceImpl.java
@@ -513,7 +513,7 @@
            prquery.selectAll(ProjectRel.class);
            prquery.eq(ProjectRel::getIsdeleted, MeetConstants.ZERO);
            prquery.eq(ProjectRel::getObjId, s.getId());
            prquery.select("(select p.name from projects p where t.PROJECT_ID = p.id and p.ISDELETED = 0  ) as projectName");
            prquery.select("(select p.name from meeting_projects p where t.PROJECT_ID = p.id and p.ISDELETED = 0  ) as projectName");
            List<ProjectRel> prList = projectRelJoinMapper.selectJoinList(ProjectRel.class, prquery);
            s.setProjectList(prList);
@@ -744,7 +744,7 @@
    @Override
    public List<Bookings> getMyBookings(Integer userId, String dateMsg) {
        return bookingsMapper.selectList(new QueryWrapper<Bookings>()
                .apply(" id in ( select u.OBJ_ID from user_rel u where u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ) ")
                .apply(" id in ( select u.OBJ_ID from meeting_user_rel u where u.USER_ID = '" + userId + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ) ")
                .eq("ISDELETED",MeetConstants.ZERO)
//                .eq("STATUS",MeetConstants.ZERO)
                .apply(" ROOM_ID in ( select r.id from rooms r where r.ISDELETED = 0 and r.STATUS = 0  )")
@@ -765,7 +765,7 @@
                        j -> j.like("a.NAME",pageWrap.getModel().getRoomsName()).or()
                                .like(" b.NAME", pageWrap.getModel().getRoomsName()))
                        .exists(pageWrap.getModel().getQueryType().equals(MeetConstants.ONE) && !Objects.isNull(pageWrap.getModel().getUserId()),
                                " select 1 from user_rel u where a.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ")
                                " select 1 from meeting_user_rel u where a.id = u.OBJ_ID and  u.USER_ID = '" + pageWrap.getModel().getUserId() + "' and u.ISDELETED = 0 and OBJ_TYPE = 1  ")
                        .eq(pageWrap.getModel().getQueryType().equals(MeetConstants.TWO) && !Objects.isNull(pageWrap.getModel().getUserId()), "a.CREATOR", pageWrap.getModel().getUserId())
                        .like(StringUtils.isNotBlank(pageWrap.getModel().getQueryDate()), "a.START_TIME", pageWrap.getModel().getQueryDate())
                        .eq(!Objects.isNull(pageWrap.getModel().getRoomsId()), "b.id", pageWrap.getModel().getRoomsId())
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/ProjectsServiceImpl.java
@@ -180,7 +180,7 @@
    public List<ProjectsResponse> getProjectsList(Integer objId,Integer objType) {
        return projectsMapper.getProjectsList(new QueryWrapper<ProjectsResponse>()
                        .eq("ISDELETED",MeetConstants.ZERO)
                .exists(" select 1 from project_rel p where p.PROJECT_ID = projects.id and p.OBJ_ID = "+objId+" and p.OBJ_TYPE = "+objType+"  ")
                .exists(" select 1 from meeting_project_rel p where p.PROJECT_ID = projects.id and p.OBJ_ID = "+objId+" and p.OBJ_TYPE = "+objType+"  ")
        );
    }
}
server/meeting/meeting_service/src/main/java/com/doumee/service/business/impl/RoomsServiceImpl.java
@@ -450,7 +450,7 @@
         //   queryWrapper.leftJoin(UserRel.class,UserRel::getObjId,Rooms::getId);
            List<Integer> collect = pageWrap.getModel().getSysList().stream().map(UserRel::getUserId).collect(Collectors.toList());
            queryWrapper.exists("select u.id from user_rel u where u.ISDELETED=0 and u.OBJ_ID =t.id and  u.USER_ID in (" +     StringUtils.strip(collect.toString(),"[]")+" )");
            queryWrapper.exists("select u.id from meeting_user_rel u where u.ISDELETED=0 and u.OBJ_ID =t.id and  u.USER_ID in (" +     StringUtils.strip(collect.toString(),"[]")+" )");
        }
        String path = systemDictDataBiz.queryByCode(Constants.FTP, Constants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(MeetConstants.FTP, MeetConstants.PROJECTS).getCode();
@@ -536,7 +536,7 @@
                .eq("STATUS",Constants.ZERO)
                .eq("ISDELETED",Constants.ZERO)
                .like(StringUtils.isNotBlank(pageWrap.getModel().getRoomsName()),"NAME",pageWrap.getModel().getRoomsName())
                .exists(" select 1 from user_rel u where u.USER_ID = "+pageWrap.getModel().getUserId()+" and u.ISDELETED = 0 and u.OBJ_ID = rooms.id and u.OBJ_TYPE = 0  ")
                .exists(" select 1 from meeting_user_rel u where u.USER_ID = "+pageWrap.getModel().getUserId()+" and u.ISDELETED = 0 and u.OBJ_ID = rooms.id and u.OBJ_TYPE = 0  ")
                .orderByDesc("CREATE_DATE")
        );
        String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP, Constants.FTP_RESOURCE_PATH).getCode()
server/system_service/src/main/java/com/doumee/biz/system/impl/SystemDictDataBizImpl.java
@@ -145,7 +145,7 @@
            throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"路径参数不完整");
        }
        SystemDict queryDto = new SystemDict();
        queryDto.setCode(Constants.OSS);
        queryDto.setCode(Constants.FTP);
        queryDto.setDeleted(Boolean.FALSE);
        SystemDict dictData = systemDictService.findOne(queryDto);
        if (dictData == null) {
server/system_service/src/main/java/com/doumee/config/cloudfilter/LoginHandlerInterceptor.java
@@ -32,6 +32,7 @@
    @Override
    public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception {
        if(handler instanceof HandlerMethod){
        HandlerMethod handlerMethod = (HandlerMethod) handler;
        Class<?> beanType = handlerMethod.getBeanType();
        if (!beanType.isAnnotationPresent(LoginNoRequired.class) && !handlerMethod.hasMethodAnnotation(LoginNoRequired.class)) {
@@ -72,6 +73,10 @@
                throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"未登录");
            }
        }
        }else{
            throw new BusinessException(ResponseStatus.NO_LOGIN.getCode(),"未登录");
        }
        return true;
    }
server/system_service/src/main/java/com/doumee/core/model/LoginUserModel.java
@@ -1,6 +1,8 @@
package com.doumee.core.model;
import com.baomidou.mybatisplus.annotation.TableField;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiOperation;
import lombok.Data;
/**
@@ -11,6 +13,7 @@
@Data
public class LoginUserModel {
    @TableField(exist = false)
    @ApiModelProperty(hidden = true)
    private LoginUserInfo loginUserInfo;
}
server/system_service/src/main/java/com/doumee/dao/system/model/SystemUser.java
@@ -32,6 +32,8 @@
    @ApiModelProperty(value = "主键", example = "1")
    @NotNull(message = "主键不能为空", groups = {OperaType.Update.class})
    private Integer id;
    @ApiModelProperty(value = "用户编码(关联member)", example = "1")
    private Integer memberId;
    @ApiModelProperty(value = "用户名")
    @NotBlank(message = "用户名不能为空")