237 lines
54 KiB
Plaintext
237 lines
54 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 29,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import os\n",
|
|
"def find_java_files(directory):\n",
|
|
" java_files = []\n",
|
|
" file_type=['java']\n",
|
|
" for root, dirs, files in os.walk(directory):\n",
|
|
" for file in files:\n",
|
|
" for item in file_type:\n",
|
|
" if file.endswith(\".\"+item):\n",
|
|
" java_files.append(os.path.join(root, file))\n",
|
|
" return java_files\n",
|
|
"\n",
|
|
"# 使用示例\n",
|
|
"directory_path = r'E:\\project\\java\\new\\serverschool\\web\\src\\main\\java\\com\\hongxing\\web\\maintenance' \n",
|
|
"java_files = find_java_files(directory_path)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"['E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\constant\\\\MaintenanceConstant.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\controller\\\\MaintenanceAdminTypeController.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\controller\\\\MaintenanceController.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\controller\\\\MaintenancePositionController.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\controller\\\\MaintenanceReservationController.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\controller\\\\MaintenanceTypeController.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\dao\\\\MaintenanceAdminTypeDao.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\dto\\\\MaintenanceCheckDto.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\dto\\\\SubmitMaintenanceDto.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\entity\\\\Maintenance.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\entity\\\\MaintenanceAdminType.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\entity\\\\MaintenancePosition.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\entity\\\\MaintenanceReservation.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\entity\\\\MaintenanceType.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\repository\\\\MaintenancePositionRepository.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\repository\\\\MaintenanceRepository.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\repository\\\\MaintenanceReservationRepository.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\repository\\\\MaintenanceTypeRepository.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\MaintenanceAdminTypeService.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\MaintenancePositionService.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\MaintenanceReservationService.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\MaintenanceService.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\MaintenanceTypeService.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\impl\\\\MaintenanceAdminTypeServiceImpl.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\impl\\\\MaintenancePositionServiceImpl.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\impl\\\\MaintenanceReservationServiceImpl.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\impl\\\\MaintenanceServiceImpl.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\service\\\\impl\\\\MaintenanceTypeServiceImpl.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\tools\\\\TimeTool.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\vo\\\\MaintenanceInfoVo.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\vo\\\\MaintenancePositionVo.java',\n",
|
|
" 'E:\\\\project\\\\java\\\\new\\\\serverschool\\\\web\\\\src\\\\main\\\\java\\\\com\\\\hongxing\\\\web\\\\maintenance\\\\vo\\\\MRAddVo.java']"
|
|
]
|
|
},
|
|
"execution_count": 30,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"java_files"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 31,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"content = \"\"\n",
|
|
"for item in java_files:\n",
|
|
" with open(item, 'r', encoding='utf-8') as f:\n",
|
|
" content = content + f.read()+\"\\n\""
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 32,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"67834"
|
|
]
|
|
},
|
|
"execution_count": 32,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"len(content)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 33,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import re\n",
|
|
"\n",
|
|
"pattern = r\"\\*\\*(?:\\s*\\*.*?\\n)*\\s*\\*\"#匹配多行注释\n",
|
|
"pattern1 = r\"\\/\\/.*\"#匹配单行注释\n",
|
|
"pattern2 =r'^\\n'\n",
|
|
"pattern3 =r'import .*'\n",
|
|
"pattern4 =r'package .*'\n",
|
|
"pattern5 = r\"\\/\\*.*?\\*\\/\"#匹配多行注释\n",
|
|
"pattern6 = r\"<--.*?-->\"#匹配单行注释\n",
|
|
"pattern7=r\"^\\s*$\"\n",
|
|
"pattern6 = r\"<!--.*?-->\"#匹配单行注释\n",
|
|
"patterns = [pattern, pattern1,pattern2, pattern3,pattern4,pattern5,pattern6]\n",
|
|
"# 替换每一行的\"rain\"为\"rainy\"\n",
|
|
"# new_text = re.sub(pattern,content, \"\", flags=re.S|re.M)\n",
|
|
"new_text = content"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 34,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"for item in patterns:\n",
|
|
" new_text = re.sub(item, \"\", new_text)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 35,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"lines = [line for line in new_text.splitlines() if line.strip() != '']\n",
|
|
"result = '\\n'.join(lines)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 36,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'public class MaintenanceConstant {\\n public static final Integer CREATE_STATUS = 1;\\n public static final Integer COMPLETE_STATUS = 2;\\n public static final Integer CANCEL_STATUS = 3;\\n public static final String SUCCESS = \"success\";\\n public static final Integer morning = 0;\\n public static final Integer afternoon = 1;\\n public static final Long dft_m_time1 = 1696726800000L;\\n public static final Long dft_m_time2 = 1696734000000L;\\n public static final Long dft_a_time1 = 1696744800000L;\\n public static final Long dft_a_time2 = 1696752000000L;\\n public static final String[] weekInfo = {\"\",\"周一\",\"周二\",\"周三\",\"周四\",\"周五\",\"周六\",\"周日\"};\\n public static final String[] statusInfos = {\"\",\"待学生将手环转交给教师\",\"待厂商处理\",\"处理完成\",\"待教师与学生重新协商时间\",\"学生取消\"};\\n public static final Map<String,Integer> weekValue = new HashMap<>();\\n static {\\n for (int i = 1; i < weekInfo.length; i++) {\\n weekValue.put(weekInfo[i], i);\\n }\\n }\\n}\\n@RestController\\n@RequestMapping(\"/maintenanceAdminType\")\\npublic class MaintenanceAdminTypeController extends BaseController {\\n @Resource\\n private MaintenanceAdminTypeService maintenanceAdminTypeService;\\n @Autowired\\n private MaintenancePositionService maintenancePositionService;\\n @PostMapping(\"/saveInfo\")\\n public Result<?> saveInfo(@RequestBody MaintenanceAdminType maintenanceAdminType){\\n QueryWrapper<MaintenanceAdminType> queryWrapper = new QueryWrapper<>();\\n QueryWrapper<MaintenanceAdminType> processor_type_name = queryWrapper.eq(\"processor_type_name\", maintenanceAdminType.getProcessorTypeName());\\n MaintenanceAdminType one = maintenanceAdminTypeService.getOne(processor_type_name);\\n if(maintenanceAdminType.getId() == null) {\\n if (one != null){\\n return failure(\"该类型已存在\");\\n }\\n maintenanceAdminTypeService.save(maintenanceAdminType);\\n }\\n else{\\n if(one != null && !one.getId().equals(maintenanceAdminType.getId())){\\n return failure(\"该类型已存在\");\\n }\\n maintenanceAdminTypeService.updateById(maintenanceAdminType);\\n }\\n return success();\\n }\\n @GetMapping(\"/listByTeamId\")\\n public Result<?> listByTeamId(Long teamId){\\n QueryWrapper<MaintenanceAdminType> queryWrapper = new QueryWrapper<>();\\n queryWrapper.eq(\"team_id\", teamId);\\n List<MaintenanceAdminType> list = maintenanceAdminTypeService.list(queryWrapper);\\n return success(list);\\n }\\n @GetMapping(\"/listTypeInfos\")\\n public Result<?> listTypeInfos(Long teamId,Integer pageNum, Integer pageSize){\\n Page<MaintenanceAdminType> page = new Page<>(pageNum, pageSize);\\n QueryWrapper<MaintenanceAdminType> wrapper = new QueryWrapper<MaintenanceAdminType>().eq(\"team_id\", teamId);\\n Page<MaintenanceAdminType> page1 = maintenanceAdminTypeService.page(page, wrapper);\\n return success(page1);\\n }\\n @GetMapping(\"/removeById\")\\n public Result<?> removeById(Integer id){\\n MaintenanceAdminType maintenanceAdminType = maintenanceAdminTypeService.getById(id);\\n Long teamId = maintenanceAdminType.getTeamId();\\n List<MaintenancePosition> maintenancePositions = maintenancePositionService.list(new QueryWrapper<MaintenancePosition>().eq(\"team_id\", teamId));\\n if(maintenancePositions.size() > 0)\\n for (MaintenancePosition maintenancePosition : maintenancePositions) {\\n String adminTypeId = maintenancePosition.getAdminTypeId();\\n if(adminTypeId == null || \"\".equals(adminTypeId)) continue;\\n boolean contains = Arrays.asList(adminTypeId.split(\",\")).contains(maintenanceAdminType.getId().toString());\\n if(contains){\\n return failure(\"该类型下有人员,不能删除\");\\n }\\n }\\n maintenanceAdminTypeService.removeById(id);\\n return success();\\n }\\n}\\n@RestController\\n@RequestMapping(\"/maintenance/apply\")\\npublic class MaintenanceController extends BaseController {\\n @Autowired\\n private MaintenanceService maintenanceService;\\n @PostMapping(\"/submitMaintenance\")\\n public Result<?> submitMaintenance(@RequestBody SubmitMaintenanceDto submitMaintenanceDto){\\n String result = maintenanceService.submit(submitMaintenanceDto);\\n if(!SUCCESS.equals(result)) return failure(result);\\n return success();\\n }\\n @PostMapping(\"/check\")\\n public Result<?> check(@RequestBody MaintenanceCheckDto maintenanceCheckDto){\\n String result = maintenanceService.check(maintenanceCheckDto);\\n if(!SUCCESS.equals(result)) return failure(result);\\n return success();\\n }\\n @GetMapping(\"/userCancel\")\\n public Result<?> userCancel(Integer id,Long userId){\\n String result = maintenanceService.userCancel(id,userId);\\n if(!SUCCESS.equals(result)) return failure(result);\\n return success();\\n }\\n @GetMapping(\"/type\")\\n public Result<?> selectNeedAppointmentByType(Integer type,Long teamId,Integer status){\\n List<MaintenanceInfoVo> infos = maintenanceService.listByTypeAndStatus(type,status,teamId);\\n return success(infos);\\n }\\n @GetMapping(\"/listMyInfos\")\\n public Result<?> listMyMaintenanceInfo(Long id,Long teamId) {\\n List<MaintenanceInfoVo> infos = maintenanceService.listMyInfos(id, teamId);\\n return success(infos);\\n }\\n @GetMapping(\"/listReservation\")\\n public Result<?> adminList(Long processorId){\\n List<Maintenance> infos = maintenanceService.list(new QueryWrapper<Maintenance>().eq(\"processor_id\", processorId));\\n return success(infos);\\n }\\n @GetMapping(\"/listReservations\")\\n public Result<?> pageList(Long teamId,Integer type,Integer status,String name,String serialNo){\\n PageRequest pagination = getPagination();\\n org.springframework.data.domain.Page<MaintenanceInfoVo> infos = maintenanceService.teacherPageInfo(teamId,type,status,name,serialNo,pagination);\\n return success(infos);\\n }\\n @GetMapping(\"/listAdminInfos\")\\n public Result<?> listAdminInfos(Long teaId,Integer typeId,Integer status,String name,Long teamId){\\n PageRequest pagination = getPagination();\\n Page<Map<String,Object>> page = new Page<Map<String,Object>>(pagination.getPageNumber(),pagination.getPageSize());\\n Page<Map<String,Object>> pageInfos = maintenanceService.listAdminInfos(page,teaId,typeId,status,name,teamId);\\n return success(pageInfos);\\n }\\n @GetMapping(\"/listAdminInfosTwo\")\\n public Result<?> listAdminInfosTwo(Long teaId,Integer typeId,Integer status,String name,Long teamId){\\n List<Map<String,Object>> listInfos = maintenanceService.listAdminInfosTwo(teaId,typeId,status,name,teamId);\\n return success(listInfos);\\n }\\n}\\n@RestController\\n@RequestMapping(\"/maintenance/admin\")\\npublic class MaintenancePositionController extends BaseController {\\n @Autowired\\n private MaintenancePositionService maintenancePositionService;\\n @Autowired\\n private MaintenanceAdminTypeService maintenanceAdminTypeService;\\n @Autowired\\n private MaintenanceTypeService maintenanceTypeService;\\n @Autowired\\n private MaintenanceService maintenanceService;\\n @Autowired\\n private MaintenanceReservationService maintenanceReservationService;\\n @PostMapping(\"/add\")\\n public Result<?> addAdmin(@RequestBody MaintenancePosition maintenancePosition){\\n String result = maintenancePositionService.addAdmin(maintenancePosition);\\n if(!SUCCESS.equals(result)) return failure(result);\\n return success();\\n }\\n @PostMapping(\"/update\")\\n public Result<?> updateInfo(@RequestBody MaintenancePosition maintenancePosition){\\n maintenancePositionService.updateByTeaId(maintenancePosition);\\n return success();\\n }\\n @GetMapping(\"/list\")\\n public Result<?> listAdminWithInfos(Long teamId,String param,Integer pageNum,Integer pageSize){\\n Page<MaintenancePosition> page = new Page<>(pageNum,pageSize);\\n Page<MaintenancePosition> list = maintenancePositionService.listInfosByTeamId(teamId,page,param);\\n return success(list);\\n }\\n @PostMapping(\"/removeInfo\")\\n public Result<?> removeById(Integer id){\\n maintenancePositionService.removeById(id);\\n return success();\\n }\\n @GetMapping(\"/listAdminByType\")\\n public Result<?> listAdminByType(Integer typeId){\\n MaintenanceType maintenanceType = maintenanceTypeService.getById(typeId);\\n Long teamId = maintenanceType.getTeamId();\\n if(maintenanceType == null) return failure(\"该类型不存在\");\\n List<MaintenancePosition> maintenancePositions = maintenancePositionService.list(new QueryWrapper<MaintenancePosition>().eq(\"team_id\", teamId));\\n Integer adminTypeId = maintenanceType.getAdminTypeId();\\n MaintenanceAdminType byId = maintenanceAdminTypeService.getById(adminTypeId);\\n List<MaintenancePosition> teacherInfos = new ArrayList<>();\\n for (MaintenancePosition maintenancePosition : maintenancePositions) {\\n String adminTypeId1 = maintenancePosition.getAdminTypeId();\\n String[] split = adminTypeId1.split(\",\");\\n boolean exists = Arrays.stream(split).anyMatch(x -> x == byId.getId().toString());\\n if(exists) teacherInfos.add(maintenancePosition);\\n }\\n List<MaintenancePositionVo> collect = maintenancePositions.stream().map(e -> {\\n MaintenancePositionVo maintenancePositionVo = new MaintenancePositionVo();\\n BeanUtils.copyProperties(e, maintenancePositionVo);\\n Long teaId = e.getTeaId();\\n List<MaintenanceReservation> maintenanceReservations = maintenanceReservationService.listByTeaId(teaId);\\n maintenancePositionVo.setInfos(maintenanceReservations);\\n return maintenancePositionVo;\\n }).collect(Collectors.toList());\\n return success(collect);\\n }\\n @GetMapping(\"/typeList\")\\n public Result<?> typeList(@RequestParam String type){\\n String[] split = type.split(\",\");\\n List<MaintenanceType> listInfo = new ArrayList<>();\\n if(split.length >= 1){\\n listInfo = maintenanceTypeService.list(new QueryWrapper<MaintenanceType>().in(\"id\", split));\\n }\\n return success(listInfo);\\n }\\n @GetMapping(\"/isAdmin\")\\n public Result<?> isAdmin(@RequestParam Long teaId){\\n MaintenancePosition maintenancePosition = maintenancePositionService.getOne(new QueryWrapper<MaintenancePosition>().eq(\"tea_id\", teaId));\\n if(maintenancePosition == null) return failure(\"该教师不是管理员\");\\n return success();\\n }\\n}\\n@RestController\\n@RequestMapping(\"/maintenance/reservation\")\\npublic class MaintenanceReservationController extends BaseController {\\n @Autowired\\n private MaintenanceReservationService maintenanceReservationService;\\n @PostMapping(\"/save\")\\n public Result<?> add(@RequestBody MRAddVo mrAddVo){\\n String result = maintenanceReservationService.add(mrAddVo);\\n if(!SUCCESS.equals(result)) return failure(result);\\n return success();\\n }\\n @GetMapping(\"/listByTeaId\")\\n public Result<?> listReservationInfo(Long teaId){\\n List<MaintenanceReservation> infos = maintenanceReservationService.listByTeaId(teaId);\\n return success(infos);\\n }\\n}\\n@RestController\\n@RequestMapping(\"/maintenance/type\")\\npublic class MaintenanceTypeController extends BaseController {\\n @Autowired\\n private MaintenanceTypeService maintenanceTypeService;\\n @Autowired\\n private MaintenanceAdminTypeService maintenanceAdminTypeService;\\n @GetMapping(\"/list\")\\n public Result<?> listType(){\\n List<MaintenanceType> list = maintenanceTypeService.list();\\n return success(list);\\n }\\n @GetMapping(\"/listByTeamId\")\\n public Result<?> listType(Long teamId,Integer adminTypeId,Integer flag){\\n QueryWrapper<MaintenanceType> wrapper = new QueryWrapper<MaintenanceType>().eq(\"team_id\", teamId);\\n if(flag!=null){\\n List<MaintenanceAdminType> type = maintenanceAdminTypeService.list(new QueryWrapper<MaintenanceAdminType>().eq(\"team_id\",teamId).eq(\"type\", flag).or(w-> w.eq(\"type\",3)));\\n List<Integer> collect = type.stream().map(e -> e.getId()).collect(Collectors.toList());\\n collect.add(-1);\\n wrapper = wrapper.in(\"admin_type_id\", collect);\\n }\\n else {\\n List<MaintenanceAdminType> type = maintenanceAdminTypeService.list(new QueryWrapper<MaintenanceAdminType>().eq(\"team_id\",teamId));\\n List<Integer> collect = type.stream().map(e -> e.getId()).collect(Collectors.toList());\\n collect.add(-1);\\n wrapper = wrapper.in(\"admin_type_id\", collect);\\n }\\n if(adminTypeId!=null){\\n wrapper = wrapper.eq(\"admin_type_id\", adminTypeId);\\n }\\n List<MaintenanceType> list = maintenanceTypeService.list(wrapper);\\n return success(list);\\n }\\n @PostMapping(\"/add\")\\n public Result<?> add(@RequestBody MaintenanceType maintenanceType){\\n String result = maintenanceTypeService.add(maintenanceType);\\n if(!SUCCESS.equals(result)) return failure(result);\\n return success();\\n }\\n @PostMapping(\"/removeInfo\")\\n public Result<?> removeInfo( Integer id){\\n maintenanceTypeService.removeById(id);\\n return success();\\n }\\n @GetMapping(\"/pageInfos\")\\n public Result<?> pageInfos(Integer pageNum,Integer pageSize,String param,Long teamId,Integer adminTypeId){\\n Page<MaintenanceType> maintenanceTypePage = new Page<>(pageNum, pageSize);\\n QueryWrapper<MaintenanceType> maintenanceTypeQueryWrapper = new QueryWrapper<>();\\n if(param!=null && !param.equals(\"\")){\\n String s = toLike(param);\\n maintenanceTypeQueryWrapper.eq(\"info\", s);\\n }\\n if(adminTypeId!=null){\\n maintenanceTypeQueryWrapper.eq(\"admin_type_id\", adminTypeId);\\n }\\n if(teamId!=null){\\n maintenanceTypeQueryWrapper.eq(\"team_id\", teamId);\\n }\\n Page<MaintenanceType> page = maintenanceTypeService.page(maintenanceTypePage, maintenanceTypeQueryWrapper);\\n return success(page);\\n }\\n @GetMapping(\"/listByTeaId\")\\n public Result<?> listByTeaId(@RequestParam Long teaId){\\n return success();\\n }\\n}\\n@Mapper\\npublic interface MaintenanceAdminTypeDao extends BaseMapper<MaintenanceAdminType> {\\n}\\n@Data\\npublic class MaintenanceCheckDto {\\n private Integer id;\\n private Long teaId;\\n private Integer status;\\n private String reply;\\n}\\n@Data\\npublic class SubmitMaintenanceDto {\\n private String phone;\\n private Long stuId;\\n private Long teaId;\\n private Integer typeId;\\n private String desc;\\n private String img;\\n private String position;\\n}\\n@Data\\n@TableName(\"maintenance\")\\npublic class Maintenance implements Serializable {\\n private static final long serialVersionUID = 760944619247695383L;\\n @TableId(type = IdType.AUTO)\\n private Integer id;\\n @TableField(\"`desc`\")\\n private String desc;\\n private Long stuId;\\n private Long teaId;\\n private Integer status;\\n private String reply;\\n private String serialNo;\\n private Long teamId;\\n private Date createTime;\\n private Date updateTime;\\n private Integer typeId;\\n private String phone;\\n private String img;\\n private Integer processorId;\\n private String name;\\n private String processorName;\\n}\\n@SuppressWarnings(\"serial\")\\n@Data\\npublic class MaintenanceAdminType extends Model<MaintenanceAdminType> {\\n @TableId(type = IdType.AUTO)\\n private Integer id;\\n private String processorTypeName;\\n private Date createTime;\\n private Long teamId;\\n private Integer type;\\n}\\n@Data\\n@TableName(\"maintenance_position\")\\npublic class MaintenancePosition {\\n @TableId(type = IdType.AUTO)\\n private Integer id;\\n private Long teaId;\\n private String position;\\n private String phone;\\n private Long teamId;\\n private String teaName;\\n private Date createTime;\\n private String adminTypeId;\\n @TableField(exist = false)\\n private List<MaintenanceAdminType> adminTypeInfos;\\n}\\n@Data\\n@TableName(\"maintenance_reservation\")\\npublic class MaintenanceReservation implements Serializable {\\n private static final long serialVersionUID = 562175149587130704L;\\n @TableId(type = IdType.AUTO)\\n private Integer id;\\n private String week;\\n private Integer type;\\n private String timeSlot;\\n}\\n@Data\\n@TableName(\"maintenance_type\")\\npublic class MaintenanceType {\\n @TableId(type = IdType.AUTO)\\n private Integer id;\\n @TableField(value = \"`info`\")\\n private String info;\\n private Long teamId;\\n private Integer AdminTypeId;\\n private Date createTime;\\n}\\n@Mapper\\npublic interface MaintenancePositionRepository extends BaseMapper<MaintenancePosition> {\\n Page<MaintenancePosition> listInfosByTeamId(Page<MaintenancePosition> page, @Param(\"param\") String s,@Param(\"teamId\") Long teamId);\\n}\\n@Mapper\\npublic interface MaintenanceRepository extends BaseMapper<Maintenance> {\\n List<Maintenance> pageInfos(@Param(\"teamId\") Long teamId,@Param(\"type\") Integer type,@Param(\"status\") Integer status,@Param(\"name\") String name,@Param(\"serialNo\") String serialNo, @Param(\"offset\") int offSet, @Param(\"size\") int size);\\n int countPage(@Param(\"teamId\") Long teamId,@Param(\"type\") Integer type,@Param(\"status\") Integer status,@Param(\"name\") String name,@Param(\"serialNo\") String serialNo);\\n int countAll(@Param(\"teamId\") Long teamId);\\n Page<Map<String,Object>> listAdminInfos(Page<Map<String,Object>> page, @Param(\"typeIds\") List<Integer> types , @Param(\"typeId\") Integer typeId, @Param(\"status\") Integer status, @Param(\"teamId\") Long teamId, @Param(\"name\") String name);\\n List<Map<String, Object>> listAdminInfosTwo(@Param(\"typeIds\") List<Integer> typeIds,@Param(\"typeId\") Integer typeId,@Param(\"status\") Integer status,@Param(\"teamId\") Long teamId,@Param(\"name\") String nameLike);\\n Integer teacherCounts(@Param(\"typeIds\") List<Integer> typeIds,@Param(\"teamId\") Long teamId);\\n}\\n@Mapper\\npublic interface MaintenanceReservationRepository extends BaseMapper<MaintenanceReservation> {\\n}\\n@Mapper\\npublic interface MaintenanceTypeRepository extends BaseMapper<MaintenanceType> {\\n}\\n@Service\\npublic interface MaintenanceAdminTypeService extends IService<MaintenanceAdminType> {\\n}\\npublic interface MaintenancePositionService extends IService<MaintenancePosition> {\\n String addAdmin(MaintenancePosition maintenancePosition);\\n List<MaintenancePosition> listByTeamId(Long teamId);\\n MaintenancePosition getByTeaId(Long teaId);\\n void updateByTeaId(MaintenancePosition maintenancePosition);\\n Page<MaintenancePosition> listInfosByTeamId(Long teamId, Page<MaintenancePosition> page, String param);\\n}\\npublic interface MaintenanceReservationService extends IService<MaintenanceReservation> {\\n String add(MRAddVo mrAddVo);\\n List<MaintenanceReservation> listByTeaId(Long teaId);\\n}\\npublic interface MaintenanceService extends IService<Maintenance> {\\n String submit(SubmitMaintenanceDto submitMaintenanceDto);\\n String check(MaintenanceCheckDto maintenanceCheckDto);\\n String handle(Integer id);\\n String userCancel(Integer id, Long userId);\\n List<MaintenanceInfoVo> listByTypeAndStatus(Integer type, Integer status,Long teamId);\\n List<MaintenanceInfoVo> listMyInfos(Long id,Long teamId);\\n String payBackToLog(Integer id);\\n Page<MaintenanceInfoVo> teacherPageInfo(Long teamId, Integer type, Integer status, String name, String serialNo, PageRequest pagination);\\n int teacherCount(Long teamId);\\n com.baomidou.mybatisplus.extension.plugins.pagination.Page<Map<String,Object>> listAdminInfos(com.baomidou.mybatisplus.extension.plugins.pagination.Page<Map<String,Object>> page, Long processorId, Integer typeId, Integer status, String name, Long teamId);\\n List<Map<String, Object>> listAdminInfosTwo(Long teaId, Integer typeId, Integer status, String name, Long teamId);\\n Integer teacherCounts(Long teamId);\\n}\\npublic interface MaintenanceTypeService extends IService<MaintenanceType> {\\n String add(MaintenanceType maintenanceType);\\n List<MaintenanceType> typeList(Integer adminTypeId, Long teamId);\\n List<MaintenanceType> listInfosByTeamId(Long teamId);\\n List<Integer> listTypeIdsByTeaId(Long teaId,Long teamId);\\n}\\n@Service(\"maintenanceAdminTypeService\")\\npublic class MaintenanceAdminTypeServiceImpl extends ServiceImpl<MaintenanceAdminTypeDao, MaintenanceAdminType> implements MaintenanceAdminTypeService {\\n}\\n@Service\\npublic class MaintenancePositionServiceImpl extends ServiceImpl<MaintenancePositionRepository, MaintenancePosition> implements MaintenancePositionService {\\n @Autowired\\n private MaintenanceReservationService maintenanceReservationService;\\n @Autowired\\n private TeacherService teacherService;\\n @Autowired\\n private MaintenancePositionRepository maintenancePositionRepository;\\n @Autowired\\n private MaintenanceTypeService maintenanceTypeService;\\n @Autowired\\n private MaintenanceAdminTypeService maintenanceAdminTypeService;\\n @Override\\n public String addAdmin(MaintenancePosition maintenancePosition) {\\n MaintenancePosition tea = getOne(new QueryWrapper<MaintenancePosition>().eq(\"tea_id\", maintenancePosition.getTeaId()));\\n if(tea!=null) return \"管理员已存在,请刷新后再试\";\\n Teacher byId = teacherService.findById(maintenancePosition.getTeaId());\\n if(byId==null) return \"教师不存在,请刷新后再试\";\\n maintenancePosition.setTeamId(byId.getTeamId());\\n maintenancePosition.setTeaName(byId.getTeaName());\\n boolean save = save(maintenancePosition);\\n if(!save) return \"参数不完整\";\\n MRAddVo mrAddVo = new MRAddVo(maintenancePosition.getTeaId(), new Integer[]{1, 2, 3, 4, 5}, morning, dft_m_time1, dft_m_time2);\\n MRAddVo mrAddVo1 = new MRAddVo(maintenancePosition.getTeaId(), new Integer[]{1, 2, 3, 4, 5}, afternoon, dft_a_time1, dft_a_time2);\\n maintenanceReservationService.add(mrAddVo);\\n maintenanceReservationService.add(mrAddVo1);\\n return SUCCESS;\\n }\\n @Override\\n public List<MaintenancePosition> listByTeamId(Long teamId) {\\n List<MaintenancePosition> list = list(new QueryWrapper<MaintenancePosition>().eq(\"team_id\", teamId));\\n return list;\\n }\\n public MaintenancePosition getByTeaId(Long teaId){\\n if(teaId == null || teaId.equals(0L)) return null;\\n return getOne(new QueryWrapper<MaintenancePosition>().eq(\"tea_id\",teaId));\\n }\\n @Override\\n public void updateByTeaId(MaintenancePosition maintenancePosition) {\\n MaintenancePosition infos = getByTeaId(maintenancePosition.getTeaId());\\n maintenancePosition.setId(infos.getId());\\n updateById(maintenancePosition);\\n }\\n @Override\\n public Page<MaintenancePosition> listInfosByTeamId(Long teamId, Page<MaintenancePosition> page, String param) {\\n String s = toLike(param);\\n Page<MaintenancePosition> pageInfos = maintenancePositionRepository.listInfosByTeamId(page,s, teamId);\\n List<MaintenanceAdminType> adminTypeList = maintenanceAdminTypeService.list(new QueryWrapper<MaintenanceAdminType>().eq(\"team_id\", teamId));\\n List<MaintenancePosition> records = pageInfos.getRecords();\\n if(records != null && records.size() > 0){\\n for (MaintenancePosition record : records) {\\n String adminTypeId = record.getAdminTypeId();\\n if(adminTypeId == null || adminTypeId.equalsIgnoreCase(\"\")){\\n continue;\\n }\\n List<String> list = Arrays.asList(record.getAdminTypeId().split(\",\"));\\n List<MaintenanceAdminType> collect = adminTypeList.stream().filter(e -> list.contains(e.getId().toString())).collect(Collectors.toList());\\n record.setAdminTypeInfos(collect);\\n }\\n pageInfos.setRecords(records);\\n }\\n return pageInfos;\\n }\\n}\\n@Service\\npublic class MaintenanceReservationServiceImpl extends ServiceImpl<MaintenanceReservationRepository, MaintenanceReservation> implements MaintenanceReservationService {\\n @Autowired\\n private MaintenancePositionService maintenancePositionService;\\n @Override\\n public String add(MRAddVo mrAddVo) {\\n boolean b = checkTimeType(mrAddVo.getType(), mrAddVo.getStartTime(), mrAddVo.getEndTime());\\n if(!b) return \"时间段不合法,请重选\";\\n MaintenancePosition byTeaId = maintenancePositionService.getByTeaId(mrAddVo.getTea());\\n if(byTeaId == null) return \"教师不存在\";\\n Integer processorId = byTeaId.getId();\\n Integer[] weeks = mrAddVo.getWeeks();\\n if(weeks!=null&&weeks.length>0){\\n for (Integer week : weeks) {\\n MaintenanceReservation info = getByWeekAndTypeAndTeaId(weekInfo[week], mrAddVo.getType(), mrAddVo.getTea());\\n if(info!=null) removeById(info);\\n MaintenanceReservation maintenanceReservation = new MaintenanceReservation();\\n maintenanceReservation.setType(mrAddVo.getType());\\n maintenanceReservation.setTimeSlot(getTimeSlot(mrAddVo.getStartTime(),mrAddVo.getEndTime()));\\n maintenanceReservation.setWeek(weekInfo[week]);\\n save(maintenanceReservation);\\n }\\n }\\n return SUCCESS;\\n }\\n @Override\\n public List<MaintenanceReservation> listByTeaId(Long teaId) {\\n List<MaintenanceReservation> infos = list(new QueryWrapper<MaintenanceReservation>().eq(\"tea_id\", teaId));\\n List<MaintenanceReservation> collect = infos.stream().sorted((a, b) -> {\\n return weekValue.get(a.getWeek()).compareTo(weekValue.get(b.getWeek()));\\n }).sorted((a, b) -> {\\n return a.getType().compareTo(b.getType());\\n }).collect(Collectors.toList());\\n return collect;\\n }\\n public MaintenanceReservation getByWeekAndTypeAndTeaId(String week,Integer type,Long teaId){\\n MaintenanceReservation one = getOne(new QueryWrapper<MaintenanceReservation>().eq(\"week\", week).eq(\"type\", type).eq(\"tea_id\", teaId));\\n return one;\\n }\\n}\\n@Service\\npublic class MaintenanceServiceImpl extends ServiceImpl< MaintenanceRepository,Maintenance> implements MaintenanceService {\\n @Autowired\\n private TeacherService teacherService;\\n @Autowired\\n private StudentService studentService;\\n @Autowired\\n private MaintenanceTypeService maintenanceTypeService;\\n @Autowired\\n private MaintenancePositionService maintenancePositionService;\\n @Autowired\\n private MaintenanceReservationService maintenanceReservationService;\\n @Autowired\\n private MaintenanceRepository maintenanceRepository;\\n @Autowired\\n private MaintenanceAdminTypeService maintenanceAdminTypeService;\\n @Autowired\\n private AccountService accountService;\\n @Override\\n public String submit(SubmitMaintenanceDto submitMaintenanceDto) {\\n MaintenanceType type = maintenanceTypeService.getById(submitMaintenanceDto.getTypeId());\\n if(type == null) return \"反馈异常,提交失败\";\\n Teacher teacher = null;\\n Student student = null;\\n String name = \"\";\\n if(submitMaintenanceDto.getTeaId()!=null)\\n teacher = teacherService.findById(submitMaintenanceDto.getTeaId());\\n if(submitMaintenanceDto.getStuId()!=null)\\n student = studentService.findById(submitMaintenanceDto.getStuId());\\n if(teacher==null&&student==null) return \"用户不存在\";\\n Maintenance maintenance = new Maintenance();\\n BeanUtils.copyProperties(submitMaintenanceDto,maintenance);\\n if (teacher != null) {\\n maintenance.setName(teacher.getTeaName());\\n maintenance.setTeamId(teacher.getTeamId());\\n } else {\\n maintenance.setName(student.getStuName());\\n maintenance.setTeamId(student.getTeamId());\\n maintenance.setSerialNo(student.getSeralNo());\\n }\\n maintenance.setCreateTime(new Date());\\n maintenance.setUpdateTime(new Date());\\n maintenance.setStatus(CREATE_STATUS);\\n save(maintenance);\\n return SUCCESS;\\n }\\n @Override\\n public String check(MaintenanceCheckDto maintenanceCheckDto) {\\n Teacher teacher = null;\\n if(maintenanceCheckDto.getTeaId()!=null){\\n teacher = teacherService.findById(maintenanceCheckDto.getTeaId());\\n }\\n Maintenance info = getById(maintenanceCheckDto.getId());\\n MaintenancePosition admin = maintenancePositionService.getOne(new QueryWrapper<MaintenancePosition>().eq(\"tea_id\", maintenanceCheckDto.getTeaId()));\\n if(admin!=null) {\\n info.setProcessorName(admin.getTeaName());\\n info.setProcessorId(admin.getId());\\n }\\n else {\\n Account byUserName = accountService.findByUserName(SecurityUtils.getUsername());\\n if(byUserName==null) return \"当前用户没有操作权限\";\\n String username = byUserName.getNickName() == null ? byUserName.getUserName() : byUserName.getNickName();\\n info.setProcessorName(username);\\n }\\n info.setStatus(COMPLETE_STATUS);\\n info.setReply(maintenanceCheckDto.getReply());\\n info.setUpdateTime(new Date());\\n updateById(info);\\n return SUCCESS;\\n }\\n @Override\\n public String handle(Integer id) {\\n Maintenance info = getById(id);\\n if(info==null) return \"当前申请异常,请刷新后再试\";\\n info.setStatus(COMPLETE_STATUS);\\n updateById(info);\\n return SUCCESS;\\n }\\n @Override\\n public String userCancel(Integer id, Long userId) {\\n Maintenance maintenance = getById(id);\\n if(maintenance==null) return \"维修信息不存在\";\\n Teacher tea = teacherService.findById(userId);\\n if(tea != null){\\n boolean flag = tea.getId().equals(maintenance.getTeaId());\\n if(!flag) return \"没有权限操作\";\\n maintenance.setStatus(CANCEL_STATUS);\\n maintenance.setUpdateTime(new Date());\\n updateById(maintenance);\\n return SUCCESS;\\n }\\n Student stu = studentService.findById(userId);\\n if(stu == null) return \"用户不存在\";\\n boolean flag = stu.getId().equals(maintenance.getStuId());\\n if(!flag) return \"没有权限操作\";\\n maintenance.setStatus(CANCEL_STATUS);\\n maintenance.setUpdateTime(new Date());\\n updateById(maintenance);\\n return SUCCESS;\\n }\\n @Override\\n public List<MaintenanceInfoVo> listByTypeAndStatus(Integer type,Integer status ,Long teamId) {\\n List<Maintenance> list = list(new QueryWrapper<Maintenance>().eq(\"team_id\", teamId).and(type != null, e -> e.eq(\"type_id\", type))\\n .and(status != null, e -> e.eq(\"status\", status))\\n );\\n if(list!=null&&!list.isEmpty()){\\n List<MaintenanceInfoVo> collect = list.stream().map(e -> {\\n return toVo(e);\\n }).collect(Collectors.toList());\\n return collect;\\n }\\n return null;\\n }\\n @Override\\n public List<MaintenanceInfoVo> listMyInfos(Long id,Long teamId) {\\n List<Maintenance> list = list(new QueryWrapper<Maintenance>().eq(\"team_id\", teamId).eq(\"stu_id\", id).orderByDesc(\"create_time\"));\\n if(list==null || list.isEmpty()){\\n list = list(new QueryWrapper<Maintenance>().eq(\"team_id\", teamId).eq(\"tea_id\", id));\\n }\\n if(list!=null&&!list.isEmpty()){\\n List<MaintenanceInfoVo> collect = list.stream().map(e -> {\\n return toVo(e);\\n }).collect(Collectors.toList());\\n return collect;\\n }\\n return null;\\n }\\n @Override\\n public String payBackToLog(Integer id) {\\n return SUCCESS;\\n }\\n @Override\\n public Page<MaintenanceInfoVo> teacherPageInfo(Long teamId, Integer type, Integer status, String name, String serialNo, PageRequest pagination) {\\n serialNo = fSelect(serialNo);\\n name = fSelect(name);\\n int pageNumber = pagination.getPageNumber();\\n int size = pagination.getPageSize();\\n int offSet = pageNumber*size;\\n List<Maintenance> maintenances = maintenanceRepository.pageInfos(teamId,type,status,name,serialNo,offSet,size);\\n int total = maintenanceRepository.countPage(teamId,type,status,name,serialNo);\\n List<MaintenanceInfoVo> collect = maintenances.stream().map(e -> {\\n return toVo(e);\\n }).collect(Collectors.toList());\\n Page<MaintenanceInfoVo> maintenanceInfoVos = new PageImpl<>(collect,pagination,total);\\n return maintenanceInfoVos;\\n }\\n public String fSelect(String param){\\n if(param!=null||!param.equals(\"\")){\\n return param = \"%\" + param + \"%\";\\n }\\n return null;\\n }\\n private MaintenanceInfoVo toVo(Maintenance maintenance){\\n MaintenanceInfoVo maintenanceInfoVo = new MaintenanceInfoVo();\\n BeanUtils.copyProperties(maintenance,maintenanceInfoVo);\\n if(maintenance.getStuId()!=null){\\n Student info = studentService.findById(maintenance.getStuId());\\n if(info!=null)\\n maintenanceInfoVo.setName(info.getStuName());\\n }\\n if(maintenance.getTypeId() != null){\\n MaintenanceType byId = maintenanceTypeService.getById(maintenance.getTypeId());\\n MaintenanceAdminType byId1 = maintenanceAdminTypeService.getById(byId.getAdminTypeId());\\n maintenanceInfoVo.setProcessorName(maintenance.getProcessorName());\\n maintenanceInfoVo.setAdminTypeName(byId1.getProcessorTypeName());\\n }\\n else if(maintenance.getTeaId()!=null){\\n Teacher info = teacherService.findById(maintenance.getTeaId());\\n if(info!=null)\\n maintenanceInfoVo.setName(info.getTeaName());\\n }\\n Integer processorId = maintenance.getProcessorId();\\n if (processorId != null) {\\n MaintenancePosition teaInfo = maintenancePositionService.getById(processorId);\\n if (teaInfo != null) {\\n maintenanceInfoVo.setProcessorPhone(teaInfo.getPhone());\\n }\\n }\\n return maintenanceInfoVo;\\n }\\n @Override\\n public int teacherCount(Long teamId) {\\n int total = maintenanceRepository.countAll(teamId);\\n return total;\\n }\\n @Override\\n public com.baomidou.mybatisplus.extension.plugins.pagination.Page<Map<String,Object>> listAdminInfos(com.baomidou.mybatisplus.extension.plugins.pagination.Page<Map<String,Object>> page, Long teaId, Integer typeId, Integer status, String name, Long teamId) {\\n String nameLike = toLike(name);\\n List<Integer> typeIds = getTypeIds(teaId, teamId);\\n com.baomidou.mybatisplus.extension.plugins.pagination.Page<Map<String,Object>> maintenanceInfoVoPage = maintenanceRepository.listAdminInfos(page, typeIds, typeId, status,teamId,nameLike);\\n return maintenanceInfoVoPage;\\n }\\n @Override\\n public List<Map<String, Object>> listAdminInfosTwo(Long teaId, Integer typeId, Integer status, String name, Long teamId) {\\n String nameLike = toLike(name);\\n List<Integer> typeIds = getTypeIds(teaId, teamId);\\n List<Map<String,Object>> listInfos = maintenanceRepository.listAdminInfosTwo( typeIds, typeId, status,teamId,nameLike);\\n return listInfos;\\n }\\n @NotNull\\n private List<Integer> getTypeIds(Long teaId, Long teamId) {\\n List<Integer> typeIds = maintenanceTypeService.listTypeIdsByTeaId(teaId, teamId);\\n if(typeIds == null || typeIds.isEmpty()){\\n typeIds = new ArrayList<>();\\n typeIds.add(-1);\\n }\\n return typeIds;\\n }\\n @Override\\n public Integer teacherCounts(Long teamId) {\\n AccountDetails account = SecurityUtils.getPrincipal();\\n if(account==null) return 0;\\n List<Integer> typeIds = new ArrayList<>();\\n if(account.getTeamId().equals(0L)){\\n typeIds = getTypeIds(null, teamId);\\n }else {\\n List<Teacher> teacherByUserName = teacherService.findTeacherByTeamIdAndTeaNameList(teamId,account.getUsername());\\n if(teacherByUserName!=null && teacherByUserName.size()>0) {\\n Long teaId = teacherByUserName.get(0).getId();\\n typeIds = getTypeIds(teaId, teamId);\\n }\\n else {\\n return 0;\\n }\\n }\\n return maintenanceRepository.teacherCounts(typeIds,teamId);\\n }\\n}\\n@Service\\npublic class MaintenanceTypeServiceImpl extends ServiceImpl<MaintenanceTypeRepository, MaintenanceType> implements MaintenanceTypeService {\\n @Autowired\\n private MaintenancePositionService maintenancePositionService;\\n @Autowired\\n private MaintenanceAdminTypeService maintenanceAdminTypeService;\\n @Autowired\\n private TeacherService teacherService;\\n @Autowired\\n private AccountService accountService;\\n @Override\\n public String add(MaintenanceType maintenanceType) {\\n MaintenanceType info = getOne(new QueryWrapper<MaintenanceType>().eq(\"info\", maintenanceType.getInfo()).eq(\"admin_type_id\",maintenanceType.getAdminTypeId()).eq(\"team_id\", maintenanceType.getTeamId()));\\n if(maintenanceType.getId() != null){\\n if(info!= null && !info.getId().equals(maintenanceType.getId())){\\n return \"当前分组下该维修类型名称重复\";\\n }\\n updateById(maintenanceType);\\n }\\n else {\\n if(info!=null) return \"当前分组下该维修类型名称重复\";\\n maintenanceType.setCreateTime(new Date());\\n save(maintenanceType);\\n }\\n return SUCCESS;\\n }\\n @Override\\n public List<MaintenanceType> typeList(Integer adminTypeId, Long teamId) {\\n return null;\\n }\\n @Override\\n public List<MaintenanceType> listInfosByTeamId(Long teamId) {\\n return null;\\n }\\n public List<Integer> listTypeIdsByTeaId(Long teaId,Long teamId){\\n if(teaId == null) {\\n String username = SecurityUtils.getUsername();\\n Account byUserName = accountService.findByUserName(username);\\n if(byUserName == null) return null;\\n else if(byUserName.getTeamId().equals(0) || byUserName.getTeamId() == 0){\\n List<MaintenanceType> maintenanceTypes = list(new QueryWrapper<MaintenanceType>().eq(\"team_id\", teamId));\\n return maintenanceTypes.stream().map(e -> e.getId()).collect(Collectors.toList());\\n }\\n else {\\n return null;\\n }\\n }\\n Teacher teacher = teacherService.findById(teaId);\\n if(teacher == null) return null;\\n if(teacher.getPower()!=null)\\n if(teacher.getPower().contains(\"管理员\") || teacher.getPower().contains(\"校长\")){\\n List<MaintenanceType> maintenanceTypes = list(new QueryWrapper<MaintenanceType>().eq(\"team_id\", teamId));\\n return maintenanceTypes == null ? null : maintenanceTypes.stream().map(e -> e.getId()).collect(Collectors.toList());\\n }\\n MaintenancePosition maintenancePosition = maintenancePositionService.getByTeaId(teaId);\\n if(maintenancePosition == null || maintenancePosition.getAdminTypeId()== null||maintenancePosition.getAdminTypeId().equals(\"\")) return null;\\n List<String> list = Arrays.asList(maintenancePosition.getAdminTypeId().split(\",\"));\\n List<MaintenanceAdminType> maintenanceAdminTypes = maintenanceAdminTypeService.listByIds(list);\\n if(maintenancePosition == null) return null;\\n List<Integer> adminTypes = maintenanceAdminTypes.stream().map(e -> e.getId()).collect(Collectors.toList());\\n List<MaintenanceType> maintenanceTypes = list(new QueryWrapper<MaintenanceType>().in(\"admin_type_id\", adminTypes));\\n return maintenanceTypes == null ? null : maintenanceTypes.stream().map(e -> e.getId()).collect(Collectors.toList());\\n }\\n}\\npublic class TimeTool {\\n public static boolean checkTimeInTimeSlot(String timeSlot,Long time){\\n Date date = new Date(time);\\n String[] times = timeSlot.split(\"-\");\\n String[] start = times[0].split(\":\");\\n String[] end = times[1].split(\":\");\\n Integer h1 = Integer.valueOf(Integer.valueOf(start[0]));\\n Integer h2 = Integer.valueOf(Integer.valueOf(end[0]));\\n Integer m1 = Integer.valueOf(Integer.valueOf(start[1]));\\n Integer m2 = Integer.valueOf(Integer.valueOf(end[1]));\\n Integer h = date.getHours();\\n Integer m = date.getMinutes();\\n LocalDateTime in = LocalDateTime.of(2023, 1, 1, h, m);\\n LocalDateTime s = LocalDateTime.of(2023, 1, 1, h1, m1);\\n LocalDateTime e = LocalDateTime.of(2023, 1, 1, h2, m2);\\n if(!in.isAfter(e)&&!in.isBefore(s))\\n return true;\\n return false;\\n }\\n public static String getTimeSlot(Long start, Long end){\\n Instant instant = Instant.ofEpochMilli(start);\\n LocalTime s = LocalDateTime.ofInstant(instant, ZoneId.systemDefault()).toLocalTime();\\n Instant instant2 = Instant.ofEpochMilli(end);\\n LocalTime e = LocalDateTime.ofInstant(instant2, ZoneId.systemDefault()).toLocalTime();\\n return s.getHour()+\":\"+initMin(s)+\"-\"+e.getHour()+\":\"+initMin(e);\\n }\\n public static String initMin(LocalTime s){\\n boolean b = s.getMinute() < 10;\\n if(b) return \"0\" + s.getMinute();\\n int minute = s.getMinute();\\n return String.valueOf(minute);\\n }\\n public static boolean checkTimeType(Integer type,Long startTime,Long endTime){\\n if(morning.equals(type)&&startTime<endTime){\\n int hours = new Date(endTime).getHours();\\n int min = new Date(endTime).getMinutes();\\n if(hours<=12){\\n if(hours==12&&min==0) return true;\\n if(hours<12) return true;\\n }\\n }\\n else if(afternoon.equals(type)&&startTime<endTime){\\n int hours = new Date(endTime).getHours();\\n int s = new Date(startTime).getHours();\\n if(s>=12&&hours<=23){\\n return true;\\n }\\n }\\n return false;\\n }\\n}\\n@Data\\npublic class MaintenanceInfoVo {\\n private static final long serialVersionUID = 760944619247695383L;\\n private Integer id;\\n private String desc;\\n private Long stuId;\\n private Long teaId;\\n private Integer status;\\n private String reply;\\n private String serialNo;\\n private Long teamId;\\n private Date createTime;\\n private Date updateTime;\\n private Integer typeId;\\n private String phone;\\n private String img;\\n private String processorName;\\n private String processorPhone;\\n private Integer processorId;\\n private String position;\\n private String name;\\n private String typeName;\\n private String adminTypeName;\\n}\\n@Data\\npublic class MaintenancePositionVo extends MaintenancePosition {\\n private List<MaintenanceReservation> infos;\\n}\\n@Data\\n@AllArgsConstructor\\n@NoArgsConstructor\\npublic class MRAddVo implements Serializable {\\n private Long tea;\\n private Integer[] weeks;\\n private Integer type;\\n private Long startTime;\\n private Long endTime;\\n}'"
|
|
]
|
|
},
|
|
"execution_count": 36,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"result"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 37,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"with open('finally.txt', 'w', encoding='utf-8') as file:\n",
|
|
" file.write(result)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"ename": "",
|
|
"evalue": "",
|
|
"output_type": "error",
|
|
"traceback": [
|
|
"\u001b[1;31m在当前单元格或上一个单元格中执行代码时 Kernel 崩溃。\n",
|
|
"\u001b[1;31m请查看单元格中的代码,以确定故障的可能原因。\n",
|
|
"\u001b[1;31m单击<a href='https://aka.ms/vscodeJupyterKernelCrash'>此处</a>了解详细信息。\n",
|
|
"\u001b[1;31m有关更多详细信息,请查看 Jupyter <a href='command:jupyter.viewOutput'>log</a>。"
|
|
]
|
|
}
|
|
],
|
|
"source": []
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "base",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.12.4"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|