admin/.env.development
@@ -4,5 +4,5 @@ VUE_APP_API_URL = 'http://localhost:10010' # VUE_APP_API_URL = 'http://192.168.0.103:10010' # VUE_APP_API_URL = 'http://192.168.0.173/gateway_interface' VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface' # VUE_APP_API_URL = 'http://10.50.250.253:8088/gateway_interface' admin/public/template/cars.xlsxBinary files differ
admin/src/components/business/OperaCarsWindow.vue
@@ -5,7 +5,7 @@ <el-form-item label="车çå·" prop="code"> <el-input v-model="form.code" placeholder="请è¾å ¥è½¦çå·" v-trim /> </el-form-item> <el-form-item label="ä¸å¡ç±»å" prop="type"> <el-form-item label="夿³¨" prop="type"> <el-radio-group v-model="form.type"> <el-radio :label="0">宿³°å ¬å¡è½¦</el-radio> <el-radio :label="1">宿³°ç©æµè½¦</el-radio> @@ -67,7 +67,7 @@ code: [{ required: true, message: '请è¾å ¥è½¦çå·' }], groupId: [{ required: true, message: 'è¯·éæ©ç»ç»' }], type: [ { required: true, message: 'è¯·éæ©ä¸å¡ç±»å' } { required: true, message: 'è¯·éæ©å¤æ³¨' } ] } } admin/src/components/business/OperaMemberWindow.vue
@@ -37,12 +37,12 @@ <el-date-picker v-model="form.jobDate" value-format="yyyy-MM-dd" type="date"> </el-date-picker> </el-form-item> <el-form-item label="æ¯å¦å å" prop="isDangyuan"> <!-- <el-form-item label="æ¯å¦å å" prop="isDangyuan"> <el-radio-group v-model="form.isDangyuan"> <el-radio :label="0">éå å</el-radio> <el-radio :label="1">å å</el-radio> </el-radio-group> </el-form-item> </el-form-item>--> <el-form-item label="人è¸ç §ç" prop="faceImgFull"> <div class="upload_wrap"> <UploadFaceImg :file="{ 'imgurlfull': form.faceImgFull, 'imgurl': form.faceImg }" :uploadData="uploadData" admin/src/views/business/internalMember.vue
@@ -94,12 +94,12 @@ </el-table-column> <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> <el-table-column prop="positionName" label="å²ä½" min-width="100px"></el-table-column> <el-table-column prop="isDangyuan" label="æ¯å¦å å" min-width="100px"> <!-- <el-table-column prop="isDangyuan" label="æ¯å¦å å" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.isDangyuan ==1" style="color: green">å å</span> <span v-if="row.isDangyuan ==0">éå å</span> </template> </el-table-column> </el-table-column>--> <el-table-column prop="jobDate" label="å ¥èæ¥æ" min-width="100px"></el-table-column> <!-- <el-table-column prop="status" label="ç¶æ" min-width="100px"> <template slot-scope="{row}"> admin/src/views/business/relativeMember.vue
@@ -105,12 +105,12 @@ </el-table-column> <el-table-column prop="companyName" label="æå±é¨é¨" min-width="100px"></el-table-column> <el-table-column prop="positionName" label="å²ä½" min-width="100px"></el-table-column> <el-table-column prop="isDangyuan" label="æ¯å¦å å" min-width="100px"> <!-- <el-table-column prop="isDangyuan" label="æ¯å¦å å" min-width="100px"> <template slot-scope="{row}"> <span v-if="row.isDangyuan ==1 " style="color: green">å å</span> <span v-if="row.isDangyuan ==0">éå å</span> </template> </el-table-column> </el-table-column>--> <el-table-column prop="jobDate" label="å ¥èæ¥æ" min-width="100px"> </el-table-column> <!-- <el-table-column prop="status" label="ç¶æ" min-width="100px"> <template slot-scope="{row}"> admin/src/views/vehicle/cars.vue
@@ -24,7 +24,7 @@ </el-select> </el-form-item> <el-form-item label="" prop="type" title="ä¸å¡ç±»å"> <el-select v-model="searchForm.type" @change="search" clearable placeholder="ä¸å¡ç±»å"> <el-select v-model="searchForm.type" @change="search" clearable placeholder="夿³¨"> <el-option label="宿³°å ¬å¡è½¦" value="0"></el-option> <el-option label="宿³°èªæç©æµè½¦" value="1"></el-option> <el-option label="å ¶ä»" value="2"></el-option> @@ -46,13 +46,6 @@ <el-table v-loading="isWorking.search" :data="tableData.list" stripe @selection-change="handleSelectionChange"> <el-table-column type="selection" width="55"></el-table-column> <el-table-column prop="code" label="车çå·" min-width="100px"></el-table-column> <el-table-column label="ä¸å¡ç±»å" min-width="120px"> <template slot-scope="{row}"> <span v-if="row.type == 0">宿³°å ¬å¡è½¦</span> <span v-if="row.type == 1">宿³°èªæç©æµè½¦</span> <span v-if="row.type == 2">å ¶ä»</span> </template> </el-table-column> <el-table-column prop="memberName" label="车主å§å" min-width="100px"></el-table-column> <el-table-column prop="memberPhone" label="è½¦ä¸»ææºå·" min-width="100px"></el-table-column> <el-table-column prop="cateName" label="车è¾åç±»" min-width="160px"></el-table-column> @@ -90,6 +83,13 @@ <div v-else>-</div> </template> </el-table-column> <el-table-column label="夿³¨" min-width="120px"> <template slot-scope="{row}"> <span v-if="row.type == 0">宿³°å ¬å¡è½¦</span> <span v-if="row.type == 1">宿³°èªæç©æµè½¦</span> <span v-if="row.type == 2">å ¶ä»</span> </template> </el-table-column> <el-table-column prop="editorName" label="æä½äºº" min-width="100px"></el-table-column> <el-table-column prop="editDate" label="æä½æ¶é´" min-width="140px"></el-table-column> <el-table-column server/meeting/meeting_admin/src/main/resources/bootstrap-dev.yml
@@ -15,7 +15,7 @@ password: nacos config: server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å namespace: dmvisit namespace: dmvisit_dev # namespace: dev_renkang username: nacos password: nacos server/system_gateway/src/main/resources/application-dev.yml
@@ -1,12 +1,12 @@ spring: # æ°æ®æºé ç½® datasource: # url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai # username: doumee # password: rtjgfEr@&0c0m url: jdbc:mysql://10.50.250.253:3306/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: Atwl@2024 url: jdbc:mysql://sh-cdb-aiskr3vy.sql.tencentcdb.com:62443/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: doumee password: rtjgfEr@&0c0m # url: jdbc:mysql://10.50.250.253:3306/antaiwuliu?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai # username: root # password: Atwl@2024 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource server/system_gateway/src/main/resources/bootstrap-dev.yml
@@ -7,7 +7,7 @@ discovery: server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å # namespace: dmvisit namespace: dmvisit namespace: dmvisit_dev username: nacos password: nacos gateway: server/system_service/src/main/java/com/doumee/service/system/impl/SystemUserServiceImpl.java
@@ -114,8 +114,8 @@ @Override public SystemUser findOne(SystemUser systemUser) { Wrapper<SystemUser> wrapper = new QueryWrapper<>(systemUser); return systemUserMapper.selectOne(wrapper); QueryWrapper<SystemUser> wrapper = new QueryWrapper<SystemUser>(systemUser); return systemUserMapper.selectOne(wrapper.lambda().last("limit 1")); } @Override server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java
@@ -28,6 +28,9 @@ @ApiOperation("ã访客系ç»ã宿¶æ¥è¯¢è®¾å¤ç¶æ") @GetMapping("/timer/device/getAscDeviceStatus") ApiResponse getAscDeviceStatus() ; @ApiOperation("ã访客系ç»ã宿¶å¤ä»½æ°æ®åº") @GetMapping("/timer/db/backupDatabase") ApiResponse backupDatabase() ; @ApiOperation("ã访客系ç»ã宿¶æ¥è¯¢æå°ç¶æ") @GetMapping("/timer/platform/getPlatformStatus") ApiResponse getPlatformStatus() ; server/system_timer/src/main/resources/bootstrap-dev.yml
@@ -23,6 +23,6 @@ # data-id: com.doumee.meeting.admin discovery: server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å namespace: dmvisit namespace: dmvisit_dev username: nacos password: nacos server/visits/admin_timer/src/main/java/com/doumee/api/DatabaseController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,130 @@ package com.doumee.api; import com.doumee.core.model.ApiResponse; import com.doumee.core.utils.Date; import com.doumee.core.utils.DateUtil; import com.doumee.service.business.PlatformJobService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.io.File; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import java.util.List; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "æå°ä½ä¸å®æ¶") @RestController @Slf4j @RequestMapping("/timer/db") public class DatabaseController extends BaseController { @Autowired private PlatformJobService platformJobService; @ApiOperation("æ°æ®åºå¤ä»½ï¼ä¿çæè¿7个å¤ä»½sql") @GetMapping("/backupDatabase") public ApiResponse backupDatabase() { try { String timestamp = DateUtil.getNowLongTime(); String path = "/usr/local/jars/db/"; String backupPath = path + timestamp + ".sql"; // 使ç¨mysqldumpå½ä»¤è¿è¡æ°æ®åºå¤ä»½ Process process = Runtime.getRuntime().exec(new String[]{"mysqldump ", "-u", "root", "-p","Atwl@2024", "antaiwuliu", "-r", backupPath}); process.waitFor(); // æ£æ¥å¤ä»½æ¯å¦æå if (new File(backupPath).exists()) { log.info("æ°æ®åºå¤ä»½æå: " + backupPath); return ApiResponse.success("æ°æ®åºå¤ä»½æå: " + backupPath); } else { log.error("æ°æ®åºå¤ä»½å¤±è´¥."); } deleteOldFiles(path,7);//ä¿çæè¿7个æä»¶ } catch (Exception e) { e.printStackTrace(); log.error("æ°æ®åºå¤ä»½å¤±è´¥."+e.getMessage()); } return ApiResponse.failed("æ°æ®åºå¤ä»½å¤±è´¥" ); } /** * @param path */ public void deleteOldFiles(String path,int num) { //æä»¶è·¯å¾ List<File> list = getFileSort(path); if(list==null || list.size() <= num){ return; } for (int i = 0; i <list.size(); i++) { if(i>=7){ list.get(i).delete(); } } } /** * è·åç®å½ä¸æææä»¶(ææ¶é´æåº) * * @param path * @return */ public static List<File> getFileSort(String path) { List<File> list = getFiles(path, new ArrayList<>()); if (list != null && list.size() > 0) { Collections.sort(list, new Comparator<File>() { public int compare(File file, File newFile) { if (file.lastModified() < newFile.lastModified()) { return 1; } else if (file.lastModified() == newFile.lastModified()) { return 0; } else { return -1; } } }); } return list; } /** * * è·åç®å½ä¸æææä»¶ * * @param realpath * @param files * @return */ public static List<File> getFiles(String realpath, List<File> files) { File realFile = new File(realpath); if (realFile.isDirectory()) { File[] subfiles = realFile.listFiles(); for (File file : subfiles) { if (file.isDirectory()) { getFiles(file.getAbsolutePath(), files); } else { files.add(file); } } } return files; } } server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/common/PublicCloudController.java
@@ -161,16 +161,12 @@ Map<String, Object> context = new HashMap<>(); try { if(ftp == null){ log.error("åå§åFtpä¸ä¼ æä»¶æå=============å¼å§========="+DateUtil.getPlusTime2(new Date())); ftp = new FtpUtil(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_HOST).getCode(), Integer.parseInt(systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PORT).getCode()), systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_USERNAME).getCode(), systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_PWD).getCode()); log.error("åå§åFtpä¸ä¼ æä»¶æå=============ç»æ========="+DateUtil.getPlusTime2(new Date())); }else{ log.error("éè¿ftpä¸ä¼ æä»¶æå=============å¼å§========="+DateUtil.getPlusTime2(new Date())); ftp.connect(); log.error("éè¿ftpä¸ä¼ æä»¶æå=============ç»æ========="+DateUtil.getPlusTime2(new Date())); } CommonsMultipartResolver multipartResovler = new CommonsMultipartResolver(); @@ -181,7 +177,10 @@ MultipartFile file = multipartRequest.getFile(it.next()); String originname = file.getOriginalFilename(); is = file.getInputStream(); String endType = originname.substring(originname.lastIndexOf("."),originname.length()); String endType = ".jpg"; if(originname.indexOf(".")>0){ endType=originname.substring(originname.lastIndexOf("."),originname.length()); } String date = DateUtil.getNowShortDate(); String fName = date+"/"+ UUID.randomUUID()+endType; String fileName = folder+"/"+fName; server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml
@@ -24,7 +24,7 @@ discovery: server-addr: http://175.27.187.84:8848 #é ç½®Nacoså°å # namespace: dmvisit namespace: dmvisit namespace: dmvisit_dev username: nacos password: nacos # swaggeré ç½® server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: pro active: dev application: name: visitsAdmin # å®å ¨é ç½® server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarUseBookServiceImpl.java
@@ -99,7 +99,7 @@ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"å½åç»å½ç¨æ·æ æ³è¿è¡è¯¥æä½!"); } if(carUseBook.getEndTime().getTime()<=System.currentTimeMillis()){ throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"éæ©æ¥æå¼å¸¸[ç»ææ¶é´å°äºå½åæ¶é´],è¯·å·æ°éè¯"); // throw new BusinessException(ResponseStatus.DATA_EMPTY.getCode(),"éæ©æ¥æå¼å¸¸[ç»ææ¶é´å°äºå½åæ¶é´],è¯·å·æ°éè¯"); } if(!(DateUtil.getDateFromString(carUseBook.getPlanUseDate()+":00").getTime()>=carUseBook.getStartTime().getTime() && DateUtil.getDateFromString(carUseBook.getPlanUseDate() +":00").getTime()<= carUseBook.getEndTime().getTime()) @@ -412,7 +412,7 @@ } //夿æ¶é´æ¯å¦å¤§äºå½å if(Constants.equalsInteger(dateIntervalVO.getIsUse(),Constants.ZERO) && DateUtil.getDateFromString(dateIntervalVO.getEndTime()).getTime()<=System.currentTimeMillis()){ dateIntervalVO.setIsUse(Constants.ONE); // dateIntervalVO.setIsUse(Constants.ONE); continue; } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/CarsServiceImpl.java
@@ -310,6 +310,7 @@ .or().like(Member::getPhone,pageWrap.getModel().getMemberName())); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCompanyName()),Company::getCompanyNamePath,pageWrap.getModel().getCompanyName()); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getMemberType()),Member::getType,pageWrap.getModel().getMemberType()); queryWrapper.eq(Objects.nonNull(pageWrap.getModel().getCatePId()),Category::getParentId,pageWrap.getModel().getCatePId()); queryWrapper.like(StringUtils.isNotBlank(pageWrap.getModel().getCode()),Cars::getCode,pageWrap.getModel().getCode()); queryWrapper.eq(Cars::getIsdeleted,Constants.ZERO); queryWrapper.eq(pageWrap.getModel().getType()!=null,Cars::getType,pageWrap.getModel().getType());