server/meeting/meeting_admin/src/main/resources/bootstrap-test.yml
@@ -15,7 +15,7 @@ password: nacos config: server-addr: http://192.168.0.212:8848 #é ç½®Nacoså°å namespace: dmvisit_test namespace: wuhu_visit_test username: nacos password: nacos # file-extension: yaml @@ -23,7 +23,7 @@ # data-id: com.doumee.meeting.admin discovery: server-addr: http://192.168.0.212:8848 #é ç½®Nacoså°å namespace: dmvisit_test namespace: wuhu_visit_test username: nacos password: nacos # å®å ¨é ç½® server/system_gateway/src/main/java/com/doumee/api/gateway/JwtAuthController.java
@@ -6,6 +6,7 @@ import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.dao.system.dto.LoginCabinetDTO; import com.doumee.dao.system.dto.LoginH5DTO; import com.doumee.service.business.third.model.ApiResponse; import com.doumee.service.business.third.model.LoginUserInfo; @@ -285,4 +286,23 @@ return ApiResponse.failed( "ç»å½å·²å¤±æ"); } @PreventRepeat(limit = 10, lockTime = 10000) @ApiOperation("ç»å½ - é¥åæ") @PostMapping("/loginCabinet") @LoginNoRequired public ApiResponse<String> loginCabinet (@Validated @RequestBody LoginCabinetDTO dto, ServerWebExchange serverWebExchange) { try { ServerHttpRequest request = serverWebExchange.getRequest(); LoginUserInfo user = systemLoginService.loginByPasswordForCabinet(dto,request); String token = jwtTokenUtil.generateToken(user); return ApiResponse.success(token); }catch (BusinessException e){ return ApiResponse.failed(e.getCode(),e.getMessage()); }catch (Exception e){ e.printStackTrace(); return ApiResponse.failed(ResponseStatus.SERVER_ERROR); } } } server/system_gateway/src/main/resources/application-test.yml
@@ -1,9 +1,9 @@ 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://192.168.0.211:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: Doumee@168 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource #knife4j: server/system_gateway/src/main/resources/bootstrap-dev.yml
@@ -7,7 +7,7 @@ discovery: server-addr: http://192.168.0.212:8848 #é ç½®Nacoså°å # namespace: dmvisit namespace: wuhu_visit_dev namespace: wuhu_visit_dev1 username: nacos password: nacos gateway: server/system_gateway/src/main/resources/bootstrap-test.yml
@@ -6,7 +6,7 @@ password: nacos discovery: server-addr: http://192.168.0.212:8848 #é ç½®Nacoså°å namespace: dmvisit_test namespace: wuhu_visit_test # namespace: dev_renkang username: nacos password: nacos server/system_gateway/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: dev active: test application: name: system_gateway # å®å ¨é ç½® server/system_service/src/main/java/com/doumee/core/utils/Constants.java
@@ -1,6 +1,7 @@ package com.doumee.core.utils; import com.alibaba.fastjson.JSONObject; import com.fasterxml.jackson.annotation.JsonInclude; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.databind.ObjectMapper; @@ -1461,8 +1462,12 @@ public String getNoteinfo() { return noteinfo; } } public static String strToJson(String key,String val){ Map<String,Object> map = new HashMap<>(); map.put(key,val); return JSONObject.toJSONString(map); } } server/system_service/src/main/java/com/doumee/dao/system/dto/LoginCabinetDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,26 @@ package com.doumee.dao.system.dto; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import javax.validation.constraints.NotBlank; import java.io.Serializable; /** * @author Eva.Caesar Liu * @date 2023/05/04 18:21 */ @Data @ApiModel("é¥åæç»å½åæ°") public class LoginCabinetDTO implements Serializable { @NotBlank(message = "ç¨æ·åä¸è½ä¸ºç©º") @ApiModelProperty(value = "ç¨æ·å") private String username; @NotBlank(message = "å¯ç ä¸è½ä¸ºç©º") @ApiModelProperty(value = "å¯ç ") private String password; } server/system_service/src/main/java/com/doumee/service/system/SystemLoginService.java
@@ -1,5 +1,6 @@ package com.doumee.service.system; import com.doumee.dao.system.dto.LoginCabinetDTO; import com.doumee.dao.system.dto.LoginH5DTO; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.dao.system.dto.LoginDTO; @@ -23,6 +24,9 @@ String loginByPassword (LoginDTO dto, HttpServletRequest request); LoginUserInfo loginByPasswordNew (LoginDTO dto, ServerHttpRequest request); LoginUserInfo loginByPasswordForCabinet(LoginCabinetDTO dto, ServerHttpRequest request); LoginUserInfo loginH5 (LoginH5DTO dto, ServerHttpRequest request); LoginUserInfo loginByPasswordForPda(LoginDTO dto, ServerHttpRequest request); server/system_service/src/main/java/com/doumee/service/system/impl/SystemLoginServiceImpl.java
@@ -5,6 +5,7 @@ import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.config.jwt.JwtTokenUtil; import com.doumee.core.exception.BusinessException; import com.doumee.dao.system.dto.LoginCabinetDTO; import com.doumee.dao.system.dto.LoginH5DTO; import com.doumee.service.business.third.TmsService; import com.doumee.service.business.third.model.LoginUserInfo; @@ -170,6 +171,27 @@ throw e; } } @Override public LoginUserInfo loginByPasswordForCabinet(LoginCabinetDTO dto, ServerHttpRequest request) { SystemLoginLog loginLog = getInitLoginlog(dto.getUsername(),request); try { LoginUserInfo user = dealLoginByPwdNewBiz(dto.getUsername(),dto.getPassword(),null,null,null,request); systemLoginLogService.create(loginLog); return user; }catch (BusinessException e){ loginLog.setSuccess(Boolean.FALSE); systemLoginLogService.create(loginLog); throw e; }catch (Exception e){ loginLog.setSuccess(Boolean.FALSE); systemLoginLogService.create(loginLog); throw e; } } @Override public LoginUserInfo loginH5 (LoginH5DTO dto, ServerHttpRequest request) { SystemLoginLog loginLog = getInitLoginlog(dto.getUsername(),request); server/system_timer/src/main/resources/application-test.yml
@@ -1,9 +1,9 @@ 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://192.168.0.211:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: Doumee@168 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource redis: server/system_timer/src/main/resources/bootstrap-test.yml
@@ -23,6 +23,6 @@ # data-id: com.doumee.meeting.admin discovery: server-addr: http://192.168.0.212:8848 #é ç½®Nacoså°å namespace: dmvisit_test namespace: wuhu_visit_test username: nacos password: nacos server/system_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: dev active: test application: name: systemTimer # å®å ¨é ç½® server/visits/admin_timer/src/main/resources/bootstrap-test.yml
@@ -23,7 +23,7 @@ # data-id: com.doumee.meeting.admin discovery: server-addr: http://192.168.0.212:8848 #é ç½®Nacoså°å namespace: dmvisit_test namespace: wuhu_visit_test username: nacos password: nacos server/visits/admin_timer/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: dev active: test application: name: visitsTimer # å®å ¨é ç½® server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/openapi/TelecomApiController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,59 @@ package com.doumee.cloud.openapi; import com.alibaba.fastjson.JSONObject; import com.doumee.api.BaseController; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.exception.BusinessException; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DESUtil; import com.doumee.dao.business.JkLineMapper; import com.doumee.dao.business.dto.TelecomCabinetLogDTO; import com.doumee.dao.business.vo.TelecomJkCabinetLogVO; import com.doumee.dao.openapi.request.*; import com.doumee.dao.openapi.response.*; import com.doumee.dao.system.model.SystemUser; import com.doumee.service.business.*; import com.doumee.service.business.third.model.ApiResponse; import com.doumee.service.system.SystemUserService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Objects; /** * @author æ±è¹è¹ * @date 2023/11/30 15:33 */ @Api(tags = "æä¾çµä¿¡å¯¹æ¥æ¥å£ï¼æ°æ®å¤§å±åºç¡æ°æ®çï¼") @RestController @Slf4j @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/telecom/api") public class TelecomApiController extends BaseController { @Autowired private JkCabinetLogService jkCabinetLogService; @Autowired private JkLineService jkLineService; @LoginNoRequired @PreventRepeat @ApiOperation("çµä¿¡-é¥ååºå ¥æ¥å¿æ¥è¯¢") @PostMapping("/getLogListForTelecom") public ApiResponse<List<TelecomJkCabinetLogVO>> getLogListForTelecom (@RequestBody TelecomCabinetLogDTO dto) { return ApiResponse.success(jkCabinetLogService.getLogListForTelecom(dto)); } } server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/web/cabinet/CabinetController.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,203 @@ package com.doumee.cloud.web.cabinet; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.doumee.api.BaseController; import com.doumee.config.annotation.LoginNoRequired; import com.doumee.core.annotation.trace.Trace; import com.doumee.core.haikang.model.HKConstants; import com.doumee.core.utils.Constants; import com.doumee.dao.business.JkVersionMapper; import com.doumee.dao.business.dto.CloseGridDTO; import com.doumee.dao.business.dto.GetDriverGridDTO; import com.doumee.dao.business.dto.OpenGridDriverDTO; import com.doumee.dao.business.dto.OptGridDTO; import com.doumee.dao.business.model.InterfaceLog; import com.doumee.dao.business.model.JkCabinetGrid; import com.doumee.dao.business.model.JkVersion; import com.doumee.dao.business.vo.AdminCabinetVO; import com.doumee.dao.business.vo.CabinetDetailVO; import com.doumee.dao.business.vo.CabinetFaceVO; import com.doumee.dao.business.vo.CabinetInfoVO; import com.doumee.dao.web.response.DriverHomeVO; import com.doumee.service.business.*; import com.doumee.service.business.third.model.ApiResponse; import com.hikvision.artemis.sdk.config.ArtemisConfig; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import io.swagger.models.auth.In; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/10/15 9:10 */ @Api(tags = "ãé¥åæãé¥åæä¸å¡") @Trace(exclude = true) @RestController @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/web/cabinet") @Slf4j public class CabinetController extends BaseController { @Autowired private JkCabinetService jkCabinetService; @Autowired private JkCabinetGridService jkCabinetGridService; @Autowired private InterfaceLogService interfaceLogService; @Autowired private JkIccardService jkIccardService; @Autowired private JkVersionService jkVersionService; @LoginNoRequired @ApiOperation("è·åé¥åæAPKææ°çæ¬") @GetMapping("/getLastVersion") public ApiResponse<JkVersion> getLastVersion () { JkVersion jkVersion = jkVersionService.getLastVersion(); this.saveInterfaceLog(null, JSONObject.toJSONString(jkVersion),"getLastVersion","è·åé¥åæAPKææ°çæ¬"); return ApiResponse.success(jkVersion); } @LoginNoRequired @ApiOperation("è·åé¥åæåºæ¬ä¿¡æ¯ - 叿º") @GetMapping("/getCabinetInfoForDriver") public ApiResponse<CabinetInfoVO> getCabinetInfoForDriver (@RequestParam String code) { CabinetInfoVO cabinetInfoVO = jkCabinetService.getCabinetInfoForDriver(code); this.saveInterfaceLog(Constants.strToJson("code",code), JSONObject.toJSONString(cabinetInfoVO),"getCabinetInfoForDriver","è·åé¥åæåºæ¬ä¿¡æ¯ - 叿º"); return ApiResponse.success(cabinetInfoVO); } @LoginNoRequired @ApiOperation("æ´æ°é¥åæå¨çº¿ç¶æ") @GetMapping("/updateRunStatusById") public ApiResponse updateRunStatusById (@RequestParam Integer id) { jkCabinetService.updateRunStatusById(id); this.saveInterfaceLog(Constants.strToJson("id",id.toString()), null,"updateRunStatusById","æ´æ°é¥åæå¨çº¿ç¶æ"); return ApiResponse.success("æ´æ°æå"); } @ApiOperation("è·åå¯ç®¡ççé¥åæå表 - 管çå") @GetMapping("/getAdminCabinetInfo") public ApiResponse<List<AdminCabinetVO>> getAdminCabinetInfo (@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { List<AdminCabinetVO> list = jkCabinetService.getAdminCabinetInfo(getLoginUser(token)); this.saveInterfaceLog(null, JSONArray.toJSONString(list),"getAdminCabinetInfo","è·åå¯ç®¡ççé¥åæå表 - 管çå"); return ApiResponse.success(list); } @ApiOperation("è·åé¥åæè¯¦æ - 管çå") @GetMapping("/getCabinetDetail") public ApiResponse<CabinetDetailVO> getCabinetDetail (@RequestParam Integer cabinetId, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { CabinetDetailVO cabinetDetailVO = jkCabinetService.getCabinetDetail(cabinetId,getLoginUser(token)); this.saveInterfaceLog(Constants.strToJson("cabinetId",cabinetId.toString()), JSONObject.toJSONString(cabinetDetailVO),"getCabinetDetail","è·åé¥åæè¯¦æ - 管çå"); return ApiResponse.success(cabinetDetailVO); } @ApiOperation("æ è®°ææ ¼æ é - 管çå") @PostMapping("/markFault") public ApiResponse markFault(@RequestBody OptGridDTO dto, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { dto.setLoginUserInfo(getLoginUser(token)); jkCabinetGridService.markFault(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"markFault","æ è®°ææ ¼æ é - 管çå"); return ApiResponse.success("æä½æå"); } @ApiOperation("æ è®°ææ ¼æ£å¸¸ - 管çå") @PostMapping("/cancelFault") public ApiResponse cancelFault(@RequestBody OptGridDTO dto, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { dto.setLoginUserInfo(getLoginUser(token)); jkCabinetGridService.cancelFault(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"cancelFault","æ è®°ææ ¼æ£å¸¸ - 管çå"); return ApiResponse.success("æä½æå"); } @ApiOperation("æ è®°ç»´ä¿®ä¿å » - 管çå") @PostMapping("/markRepair") public ApiResponse markRepair(@RequestBody OptGridDTO dto, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { dto.setLoginUserInfo(getLoginUser(token)); jkCabinetGridService.markRepair(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"markRepair","æ è®°ç»´ä¿®ä¿å » - 管çå"); return ApiResponse.success("æä½æå"); } @ApiOperation("å ³éæé¨") @PostMapping("/closeGrid") public ApiResponse closeGrid(@RequestBody CloseGridDTO dto) { jkCabinetGridService.closeGrid(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"closeGrid","å ³éæé¨"); return ApiResponse.success("æä½æå"); } @ApiOperation("æ¹éå¼é¨ - 管çå") @PostMapping("/batchOpenGridAdmin") public ApiResponse batchOpenGridAdmin(@RequestBody OptGridDTO dto, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { dto.setLoginUserInfo(getLoginUser(token)); jkCabinetGridService.batchOpenGridAdmin(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"batchOpenGridAdmin","æ¹éå¼é¨ - 管çå"); return ApiResponse.success("æä½æå"); } @ApiOperation("è·åé¥åæäººè¸æ°æ®") @GetMapping("/getCabinetFaceVO") public ApiResponse<CabinetFaceVO> getCabinetFaceVO(@RequestParam String code) { CabinetFaceVO cabinetFaceVO = jkCabinetService.getCabinetFaceVO(code); this.saveInterfaceLog(Constants.strToJson("code",code), JSONObject.toJSONString(cabinetFaceVO),"getCabinetFaceVO","è·åé¥åæäººè¸æ°æ®"); return ApiResponse.success(cabinetFaceVO); } @ApiOperation("è·åå¯æä½ææ ¼ - 叿º") @PostMapping("/getDriverGrid") public ApiResponse<List<JkCabinetGrid>> getDriverGrid(@RequestBody GetDriverGridDTO dto) { List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridService.getDriverGrid(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), JSONObject.toJSONString(jkCabinetGridList),"getDriverGrid","è·åå¯æä½ææ ¼ - 叿º"); return ApiResponse.success(jkCabinetGridList); } @ApiOperation("å¼å¯ææ ¼ - 叿º") @PostMapping("/openGridDriver") public ApiResponse openGridDriver(@RequestBody OpenGridDriverDTO dto) { jkCabinetGridService.openGridDriver(dto); this.saveInterfaceLog(JSONObject.toJSONString(dto), null,"openGridDriver","å¼å¯ææ ¼ - 叿º"); return ApiResponse.success("æä½æå"); } @ApiOperation("è·åICå¡ç¨æ·ä¸»é® - 叿º") @PostMapping("/getMemberIdByCode") public ApiResponse<Integer> getMemberIdByCode(@RequestParam String code) { this.saveInterfaceLog(Constants.strToJson("code",code), null,"getMemberIdByCode","è·åICå¡ç¨æ·ä¸»é® - 叿º"); return ApiResponse.success(jkIccardService.getMemberIdByCode(code)); } private void saveInterfaceLog(String s, String result,String url,String name) { InterfaceLog hkMonitoryLogDO=new InterfaceLog(); hkMonitoryLogDO.setType(0); hkMonitoryLogDO.setCreateDate(new Date()); hkMonitoryLogDO.setIsdeleted(0); hkMonitoryLogDO.setRequest(s); hkMonitoryLogDO.setRepose(result); hkMonitoryLogDO.setName("ãé¥åæã"+name); hkMonitoryLogDO.setUrl(url); interfaceLogService.create(hkMonitoryLogDO); } } server/visits/dmvisit_admin/src/main/resources/bootstrap-dev.yml
@@ -16,7 +16,7 @@ discovery: server-addr: http://192.168.0.212:8848 #é ç½®Nacoså°å # namespace: dmvisit namespace: wuhu_visit_dev namespace: wuhu_visit_dev1 username: nacos password: nacos knife4j: server/visits/dmvisit_admin/src/main/resources/bootstrap-test.yml
@@ -23,7 +23,7 @@ # data-id: com.doumee.meeting.admin discovery: server-addr: http://192.168.0.212:8848 #é ç½®Nacoså°å namespace: dmvisit_test namespace: wuhu_visit_test username: nacos password: nacos server/visits/dmvisit_admin/src/main/resources/bootstrap.yml
@@ -1,6 +1,6 @@ spring: profiles: active: dev active: test application: name: visitsAdmin # å®å ¨é ç½® server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/GetDriverGridDTO.java
@@ -21,4 +21,7 @@ @ApiModelProperty(value = "ç¨æ·ä¸»é®") private Integer memberId; @ApiModelProperty(value = "éªè¯äººä¸»é®") private Integer autoMemberId; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/OpenGridDriverDTO.java
@@ -22,4 +22,7 @@ @ApiModelProperty(value = "ææ ¼ä¸»é®") private Integer gridId; @ApiModelProperty(value = "ç¨æ·ä¸»é®") private Integer memberId; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/dto/TelecomCabinetLogDTO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,30 @@ package com.doumee.dao.business.dto; import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.service.business.third.model.LoginUserModel; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; import java.util.List; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2025/10/11 16:01 */ @Data public class TelecomCabinetLogDTO{ @ApiModelProperty(value = "æ¥è¯¢å¼å§æ¶é´ yyyy-MM-dd ") @JsonFormat(pattern = "yyyy-MM-dd") private Date startDate; @ApiModelProperty(value = "æ¥è¯¢ç»ææ¶é´ yyyy-MM-dd ") @JsonFormat(pattern = "yyyy-MM-dd") private Date endDate; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinet.java
@@ -35,7 +35,6 @@ @ApiModelProperty(value = "å建æ¶é´") @ExcelColumn(name="å建æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date createDate; @ApiModelProperty(value = "æ´æ°äººç¼ç ", example = "1") @@ -44,7 +43,6 @@ @ApiModelProperty(value = "æ´æ°æ¶é´") @ExcelColumn(name="æ´æ°æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "æ¯å¦å é¤0å¦ 1æ¯", example = "1") @@ -119,7 +117,6 @@ @ApiModelProperty(value = "æåé讯æ¶é´") @ExcelColumn(name="æåé讯æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd") private Date haertTime; @ApiModelProperty(value = "æå¨ä½ç½®") server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetLog.java
@@ -80,6 +80,20 @@ @ApiModelProperty(value = "æä½ç±»åï¼0=å¼é¨;1=å ³é¨;", example = "1") private Integer type; @ApiModelProperty(value = "车çå·") private String carCode; @ApiModelProperty(value = "å ³é¨è®°å½ä¸»é®ï¼ååºè®°å½ä½¿ç¨ï¼", example = "1") private Integer closeLogId; @ApiModelProperty(value = "æä½åé¥åç¶æï¼0æªåå;1å·²å½è¿;2å·²ååº;", example = "1") private Integer keyStatus; @ApiModelProperty(value = "å½è¿æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date returnDate; @ApiModelProperty(value = "æä½äººé¨é¨", example = "1",hidden = true) @TableField(exist = false) private String companyName; server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkVersion.java
@@ -55,8 +55,8 @@ @ExcelColumn(name="夿³¨") private String info; @ApiModelProperty(value = "çæ¬å·") @ExcelColumn(name="çæ¬å·") @ApiModelProperty(value = "çæ¬å·åç§°") @ExcelColumn(name="çæ¬å·åç§°") private String versionInfo; @ApiModelProperty(value = "å®è£ å è·¯å¾") @@ -91,6 +91,10 @@ @ExcelColumn(name="æä»¶å¤§å° åä½ï¼KBï¼") private Integer fileSize; @ApiModelProperty(value = "çæ¬å·", example = "1") @ExcelColumn(name="çæ¬å·") private Integer versionNum; @ApiModelProperty(value = "æä»¶å¤§å° åä½ï¼MBï¼", example = "1") @TableField(exist = false) private double fileSizeMb; server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetFaceInfoVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,24 @@ package com.doumee.dao.business.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/5/23 14:56 */ @Data public class CabinetFaceInfoVO { @ApiModelProperty(value = "ç¨æ·ä¸»é®") private Integer memberId; @ApiModelProperty(value = "ç¨æ·åç§°") private String memberName; @ApiModelProperty(value = "人è¸ç §ç") private String faceImg; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetFaceVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,23 @@ package com.doumee.dao.business.vo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.List; /** * Created by IntelliJ IDEA. * * @Author : Rk * @create 2024/5/23 14:56 */ @Data public class CabinetFaceVO { @ApiModelProperty(value = "叿ºäººè¸å表") private List<CabinetFaceInfoVO> driverFaceList; @ApiModelProperty(value = "éªè¯äººäººè¸å表") private List<CabinetFaceInfoVO> autoFaceList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/CabinetInfoVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,55 @@ package com.doumee.dao.business.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.service.business.third.model.LoginUserModel; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; import java.util.Date; import java.util.List; /** * é¥åæåºæ¬ä¿¡æ¯è¡¨ * @author æ±è¹è¹ * @date 2025/09/28 09:01 */ @Data @ApiModel("é¥åæåºæ¬ä¿¡æ¯è¡¨è¿åç±»") public class CabinetInfoVO { @ApiModelProperty(value = "主é®", example = "1") private Integer id; @ApiModelProperty(value = "夿³¨") @ExcelColumn(name="夿³¨") private String info; @ApiModelProperty(value = "设å¤ç¼å·") @ExcelColumn(name="设å¤ç¼å·") private String code; @ApiModelProperty(value = "设å¤åç§°") @ExcelColumn(name="设å¤åç§°") private String name; @ApiModelProperty(value = "设å¤ID") @ExcelColumn(name="设å¤ID") private String devId; @ApiModelProperty(value = "éªè¯äººç¼ç ï¼å ³èmember)", example = "1") private String authMemberId; @ApiModelProperty(value = "æ¯å¦åééªè¯ 0å¦ 1æ¯", example = "1") private Integer doubleAuth; @ApiModelProperty(value = "è½®æå¾å°å", example = "1") private List<String> bannerList; } server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/vo/TelecomJkCabinetLogVO.java
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,67 @@ package com.doumee.dao.business.vo; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.service.business.third.model.LoginUserModel; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * é¥åæå¼å ³é¨è®°å½ * @author æ±è¹è¹ * @date 2025/09/28 09:01 */ @Data @ApiModel("é¥åæå¼å ³é¨è®°å½") public class TelecomJkCabinetLogVO{ @ApiModelProperty(value = "主é®", example = "1") private Integer id; @ApiModelProperty(value = "é¢åæ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createDate; @ApiModelProperty(value = "å½è¿æ¶é´") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date returnDate; @ApiModelProperty(value = "ç¶æï¼0=æªå½è¿ï¼1=å·²å½è¿ï¼") private Integer status; @ApiModelProperty(value = "éªè¯æ¹å¼ 0å·è¸ 1å·å¡", example = "1") private Integer authType; @ApiModelProperty(value = "é¥åä¿¡æ¯ï¼è½¦çå·-é¥åç¼ç ï¼") private String keyInfo; @ApiModelProperty(value = "车çå·") private String carCode; @ApiModelProperty(value = "é¢åè§å 0é车 1éæ´¾è½¦å", example = "1") private Integer roleType; @ApiModelProperty(value = "æä½ç±»åï¼0=å¼é¨;1=å ³é¨;", example = "1") private Integer type; @ApiModelProperty(value = "æä½äººé¨é¨", example = "1",hidden = true) private String companyName; @ApiModelProperty(value = "æä½äººåç§°", example = "1") private String memberName; @ApiModelProperty(value = "é¥åæåç§°", example = "1") private String cabinetName; @ApiModelProperty(value = "ææ ¼ç¼å·", example = "1") private String gridCode; } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetGridService.java
@@ -107,17 +107,11 @@ /** * æ è®°ææ ¼æ é * @param loginUserInfo * @param cabinetId * @param gridIdList */ void markFault(OptGridDTO dto); /** * æ è®°ææ ¼æ£å¸¸ * @param loginUserInfo * @param cabinetId * @param gridIdList */ void cancelFault(OptGridDTO dto); @@ -127,14 +121,17 @@ void batchOpenGridAdmin(OptGridDTO dto); /** * æ è®°ç»´ä¿®ä¿å » - 管çå * @param loginUserInfo * @param cabinetId * @param gridIdList */ void markRepair(OptGridDTO dto); /** * é¥åæå ³é¨ */ void closeGrid(CloseGridDTO dto); /** * 叿ºè·å坿ä½çé¥åæææ ¼ */ List<JkCabinetGrid> getDriverGrid(GetDriverGridDTO getDriverGridDTO); void openGridDriver(OpenGridDriverDTO openGridDriverDTO); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetLogService.java
@@ -1,5 +1,7 @@ package com.doumee.service.business; import com.doumee.dao.business.dto.TelecomCabinetLogDTO; import com.doumee.dao.business.vo.TelecomJkCabinetLogVO; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; import com.doumee.dao.business.model.JkCabinetLog; @@ -94,4 +96,11 @@ * @return long */ long count(JkCabinetLog jkCabinetLog); /** * çµä¿¡ é¥ååºå ¥æ¥å¿æ¥è¯¢ * @param model * @return */ List<TelecomJkCabinetLogVO> getLogListForTelecom(TelecomCabinetLogDTO model); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetService.java
@@ -1,8 +1,6 @@ package com.doumee.service.business; import com.doumee.dao.business.vo.AdminCabinetVO; import com.doumee.dao.business.vo.CabinetConfigDataVO; import com.doumee.dao.business.vo.CabinetDetailVO; import com.doumee.dao.business.vo.*; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; @@ -119,5 +117,19 @@ * @param cabinetId * @return */ CabinetDetailVO getCabinetDetail(Integer cabinetId); CabinetDetailVO getCabinetDetail(Integer cabinetId,LoginUserInfo loginUserInfo); /** * è·åé¥åæä¸ç人è¸ä¿¡æ¯ * @param code * @return */ CabinetFaceVO getCabinetFaceVO(String code); CabinetInfoVO getCabinetInfoForDriver(String code); void updateRunStatusById(Integer id); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkIccardService.java
@@ -96,4 +96,6 @@ long count(JkIccard jkIccard); void updateStatusById(JkIccard jkIccard); Integer getMemberIdByCode(String code); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkVersionService.java
@@ -94,4 +94,6 @@ * @return long */ long count(JkVersion jkVersion); JkVersion getLastVersion(); } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java
@@ -1,7 +1,9 @@ package com.doumee.service.business.impl; import com.alibaba.fastjson.JSONObject; import com.doumee.core.constants.ResponseStatus; import com.doumee.core.exception.BusinessException; import com.doumee.core.haikang.model.HKConstants; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.dao.business.*; @@ -20,6 +22,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.doumee.service.business.third.model.PageWrap; import com.github.yulichang.wrapper.MPJLambdaWrapper; import com.hikvision.artemis.sdk.config.ArtemisConfig; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -35,6 +39,7 @@ * @date 2025/09/28 09:01 */ @Service @Slf4j public class JkCabinetGridServiceImpl implements JkCabinetGridService { @Autowired @@ -250,23 +255,24 @@ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; }else{ List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { jkCabinetGrid.setEditor(loginUserInfo.getId()); jkCabinetGrid.setEditDate(new Date()); jkCabinetGrid.setWorkingStatus(Constants.ONE); jkCabinetGridMapper.updateById(jkCabinetGrid); } } } LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { jkCabinetGrid.setEditor(loginUserInfo.getId()); jkCabinetGrid.setEditDate(new Date()); jkCabinetGrid.setWorkingStatus(Constants.ONE); jkCabinetGridMapper.updateById(jkCabinetGrid); } } /** @@ -293,16 +299,16 @@ .isNotNull(JkCabinetGrid::getKeyId) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) .set(JkKeys::getStatus,Constants.TWO) .eq(JkKeys::getId,jkCabinetGrid.getKeyId()) ); } } for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) .set(JkKeys::getStatus,Constants.TWO) .eq(JkKeys::getId,jkCabinetGrid.getKeyId()) ); } } @@ -315,23 +321,23 @@ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); return; } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,Constants.ONE) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { jkCabinetGrid.setEditor(loginUserInfo.getId()); jkCabinetGrid.setEditDate(new Date()); jkCabinetGrid.setWorkingStatus(Constants.ZERO); jkCabinetGridMapper.updateById(jkCabinetGrid); } } LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { jkCabinetGrid.setEditor(loginUserInfo.getId()); jkCabinetGrid.setEditDate(new Date()); jkCabinetGrid.setWorkingStatus(Constants.ZERO); jkCabinetGridMapper.updateById(jkCabinetGrid); } } @@ -344,42 +350,42 @@ if(Objects.isNull(dto) || Objects.isNull(dto.getCabinetId()) || CollectionUtils.isEmpty(dto.getGridIdList())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); return; } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectList(new QueryWrapper<JkCabinetGrid>().lambda().eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(JkCabinetGrid::getId,dto.getGridIdList()) ); if(CollectionUtils.isEmpty(jkCabinetGridList)){ return; } LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); if(org.apache.commons.collections.CollectionUtils.isNotEmpty(jkCabinetGridList)){ List<JkCabinetLog> jkCabinetLogs = new ArrayList<>(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { JkCabinetLog jkCabinetLog = new JkCabinetLog(); jkCabinetLog.setCreateDate(new Date()); jkCabinetLog.setCreator(loginUserInfo.getId()); jkCabinetLog.setIsdeleted(Constants.ZERO); jkCabinetLog.setCabinetId(dto.getCabinetId()); jkCabinetLog.setGridId(jkCabinetGrid.getId()); jkCabinetLog.setAuthType(Constants.TWO); jkCabinetLog.setMemberId(loginUserInfo.getMemberId()); if(Objects.nonNull(jkCabinetGrid.getKeyId())){ JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); if(Objects.nonNull(jkKeys)){ if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ jkCabinetLog.setCarId(jkKeys.getCarId()); jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ LoginUserInfo loginUserInfo = dto.getLoginUserInfo(); if(org.apache.commons.collections.CollectionUtils.isNotEmpty(jkCabinetGridList)){ List<JkCabinetLog> jkCabinetLogs = new ArrayList<>(); for (JkCabinetGrid jkCabinetGrid:jkCabinetGridList) { JkCabinetLog jkCabinetLog = new JkCabinetLog(); jkCabinetLog.setCreateDate(new Date()); jkCabinetLog.setCreator(loginUserInfo.getId()); jkCabinetLog.setIsdeleted(Constants.ZERO); jkCabinetLog.setCabinetId(dto.getCabinetId()); jkCabinetLog.setGridId(jkCabinetGrid.getId()); jkCabinetLog.setAuthType(Constants.TWO); jkCabinetLog.setMemberId(loginUserInfo.getMemberId()); if(Objects.nonNull(jkCabinetGrid.getKeyId())){ JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); if(Objects.nonNull(jkKeys)){ if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ jkCabinetLog.setCarId(jkKeys.getCarId()); jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); } jkCabinetLog.setRoleType(jkKeys.getRoleType()); } jkCabinetLog.setRoleType(jkKeys.getRoleType()); } jkCabinetLog.setType(Constants.ZERO); jkCabinetLogs.add(jkCabinetLog); } jkCabinetLog.setType(Constants.ZERO); jkCabinetLogs.add(jkCabinetLog); jkCabinetLogMapper.insert(jkCabinetLogs); } jkCabinetLogMapper.insert(jkCabinetLogs); } } @@ -403,38 +409,53 @@ .eq(JkCabinetGrid::getId,dto.getGridId()) .last(" limit 1 ") ); if(Objects.isNull(jkCabinetGrid)){ return; } JkCabinetLog jkCabinetLog = new JkCabinetLog(); jkCabinetLog.setCreateDate(new Date()); jkCabinetLog.setIsdeleted(Constants.ZERO); jkCabinetLog.setCabinetId(dto.getCabinetId()); jkCabinetLog.setGridId(jkCabinetGrid.getId()); jkCabinetLog.setAuthType(dto.getAuthType()); jkCabinetLog.setMemberId(dto.getMemberId()); if(Objects.nonNull(jkCabinetGrid.getKeyId())){ //åªæé¥åæç»å®äºé¥åä¿¡æ¯ æä¼æ´æ°é¥åçä¿¡æ¯ JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); if(Objects.nonNull(jkKeys)){ if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ jkCabinetLog.setCarId(jkKeys.getCarId()); jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); } jkCabinetLog.setRoleType(jkKeys.getRoleType()); //é¥åç¶æä¸å½åæä½ç¶æä¸ä¸è´ï¼åè¿è¡æ´æ°é¥åç¶æ if(!Constants.equalsInteger(jkKeys.getStatus(),dto.getKeyStatus())){ jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) .set(JkKeys::getStatus,dto.getKeyStatus()) .eq(JkKeys::getId,jkKeys.getId()) ); if(Objects.nonNull(jkCabinetGrid)){ JkCabinetLog jkCabinetLog = new JkCabinetLog(); jkCabinetLog.setCreateDate(new Date()); jkCabinetLog.setIsdeleted(Constants.ZERO); jkCabinetLog.setCabinetId(dto.getCabinetId()); jkCabinetLog.setGridId(jkCabinetGrid.getId()); jkCabinetLog.setAuthType(dto.getAuthType()); jkCabinetLog.setMemberId(dto.getMemberId()); jkCabinetLog.setKeyStatus(Constants.ZERO); Boolean isChange = false; if(Objects.nonNull(jkCabinetGrid.getKeyId())){ //åªæé¥åæç»å®äºé¥åä¿¡æ¯ æä¼æ´æ°é¥åçä¿¡æ¯ JkKeys jkKeys = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); if(Objects.nonNull(jkKeys)){ if(!Constants.equalsInteger(jkKeys.getStatus(),Constants.ZERO)){ jkCabinetLog.setCarId(jkKeys.getCarId()); jkCabinetLog.setKeyInfo(jkKeys.getCarCode() + "_" + jkKeys.getCode() ); } jkCabinetLog.setRoleType(jkKeys.getRoleType()); jkCabinetLog.setKeyStatus(dto.getKeyStatus()); //é¥åç¶æä¸å½åæä½ç¶æä¸ä¸è´ï¼åè¿è¡æ´æ°é¥åç¶æ if(!Constants.equalsInteger(jkKeys.getStatus(),dto.getKeyStatus()) && (Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)||Constants.equalsInteger(dto.getKeyStatus(),Constants.TWO))){ jkKeysMapper.update(null,new UpdateWrapper<JkKeys>().lambda() .set(JkKeys::getEditDate,DateUtil.getCurrDateTime()) .set(JkKeys::getStatus,dto.getKeyStatus()) .eq(JkKeys::getId,jkKeys.getId()) ); isChange = true; } } } jkCabinetLog.setType(Constants.ONE); jkCabinetLogMapper.insert(jkCabinetLog); //æ¥è¯¢é¥å对åºçååºäºé¥åçå¼é¨è®°å½ è¿è¡æ·»å å ³é¨è®°å½ä¸»é® if(isChange && Constants.equalsInteger(dto.getKeyStatus(),Constants.ONE)){ jkCabinetLogMapper.update(null,new UpdateWrapper<JkCabinetLog>().lambda() .set(JkCabinetLog::getCloseLogId,jkCabinetLog.getId()) .eq(JkCabinetLog::getKeyId,jkCabinetLog.getKeyId()) .eq(JkCabinetLog::getType,Constants.ZERO) .eq(JkCabinetLog::getKeyStatus,Constants.TWO) .isNotNull(JkCabinetLog::getCloseLogId)); } } jkCabinetLog.setType(Constants.ONE); jkCabinetLogMapper.insert(jkCabinetLog); } /** @@ -442,26 +463,48 @@ */ @Override public List<JkCabinetGrid> getDriverGrid(GetDriverGridDTO dto){ List<JkCabinetGrid> jkCabinetGridList = new ArrayList<>(); if(Objects.isNull(dto.getCabinetId()) || Objects.isNull(dto.getCabinetId()) || Objects.isNull(dto.getMemberId()) || Objects.isNull(dto.getType())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); return jkCabinetGridList; }else{ JkCabinet jkCabinet = jkCabinetMapper.selectById(dto.getCabinetId()); if(Objects.isNull(jkCabinet)){ return jkCabinetGridList; } if(Constants.equalsInteger(jkCabinet.getDoubleAuth(),Constants.ONE)){ if(StringUtils.isBlank(jkCabinet.getAuthMemberId())){ return jkCabinetGridList; } List<String> authMemberList = Arrays.asList(jkCabinet.getAuthMemberId().split(",")); Boolean flag = true; for (String id:authMemberList) { if(id.equals(jkCabinet.getAuthMemberId())){ flag = false; break; } } if(flag){ return jkCabinetGridList; } } jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(Constants.equalsInteger(dto.getType(),Constants.ONE),JkKeys::getStatus,Constants.TWO,Constants.THREE) .in(Constants.equalsInteger(dto.getType(),Constants.ZERO),JkKeys::getStatus,Constants.ONE) .isNotNull(JkCabinetGrid::getKeyId) .apply(" t1.car_id in ( select c.CAR_ID from car_driver c left join cars c1 on c.car_id = c1.id where c.ISDELETED = 0 and c.TYPE != 0 and c.MEMBER_ID = "+dto.getMemberId()+" ) ") ); } List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class, new MPJLambdaWrapper<JkCabinetGrid>().selectAll(JkCabinetGrid.class) .selectAs(JkKeys::getCode,JkCabinetGrid::getKeyCode) .selectAs(JkKeys::getCarCode,JkCabinetGrid::getCarCode) .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getWorkingStatus,Constants.ZERO) .eq(JkCabinetGrid::getCabinetId,dto.getCabinetId()) .in(Constants.equalsInteger(dto.getType(),Constants.ONE),JkKeys::getStatus,Constants.TWO,Constants.THREE) .in(Constants.equalsInteger(dto.getType(),Constants.ZERO),JkKeys::getStatus,Constants.ONE) .isNotNull(JkCabinetGrid::getKeyId) .apply(" t1.car_id in ( select c.CAR_ID from car_driver c left join cars c1 on c.car_id = c1.id where c.ISDELETED = 0 and c.TYPE != 0 and c.MEMBER_ID = "+dto.getMemberId()+" ) ") ); return jkCabinetGridList; } @@ -478,10 +521,9 @@ .last(" limit 1 ") ); if(Objects.isNull(jkCabinetGrid)){ return; return ; } LoginUserInfo loginUserInfo = openGridDriverDTO.getLoginUserInfo(); List<JkCabinetLog> jkCabinetLogs = new ArrayList<>(); JkCabinetLog jkCabinetLog = new JkCabinetLog(); jkCabinetLog.setCreateDate(new Date()); jkCabinetLog.setCreator(loginUserInfo.getId()); @@ -501,7 +543,10 @@ jkCabinetLog.setRoleType(jkKeys.getRoleType()); } } jkCabinetLogMapper.insert(jkCabinetLogs); jkCabinetLogMapper.insert(jkCabinetLog); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java
@@ -1,7 +1,10 @@ package com.doumee.service.business.impl; import cn.hutool.core.bean.BeanUtil; import com.doumee.core.utils.Constants; import com.doumee.dao.business.dto.TelecomCabinetLogDTO; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.TelecomJkCabinetLogVO; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.Utils; @@ -17,6 +20,7 @@ import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.ArrayList; import java.util.List; import java.util.Objects; @@ -126,4 +130,44 @@ QueryWrapper<JkCabinetLog> wrapper = new QueryWrapper<>(jkCabinetLog); return jkCabinetLogMapper.selectCount(wrapper); } @Override public List<TelecomJkCabinetLogVO> getLogListForTelecom(TelecomCabinetLogDTO model){ MPJLambdaWrapper<JkCabinetLog> wrapper = new MPJLambdaWrapper<JkCabinetLog>() .selectAll(JkCabinetLog.class) .selectAs(Member::getName,JkCabinetLog::getMemberName) .selectAs(Company::getName,JkCabinetLog::getCompanyName) .selectAs(JkCabinet::getName,JkCabinetLog::getCabinetName) .selectAs(JkCabinetGrid::getCode,JkCabinetLog::getGridCode) .selectAs(JkKeys::getCarCode,JkCabinetLog::getCarCode) .select("j.CREATE_DATE",JkCabinetLog::getReturnDate) .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetLog::getCabinetId) .leftJoin(JkCabinetGrid.class,JkCabinetGrid::getId,JkCabinetLog::getGridId) .leftJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .leftJoin(Member.class,Member::getId,JkCabinetLog::getMemberId) .leftJoin(Company.class,Company::getId,Member::getCompanyId) .leftJoin(" jk_cabinet_log j on j.id=t.CLOSE_LOG_ID ") .ge(Objects.nonNull(model.getStartDate()),JkCabinetLog::getCreateDate, Utils.Date.getStart(model.getStartDate())) .le(Objects.nonNull(model.getEndDate()),JkCabinetLog::getCreateDate, Utils.Date.getEnd(model.getEndDate())) .eq(JkCabinetLog::getIsdeleted, Constants.ZERO) .eq(JkCabinetLog::getKeyStatus,Constants.TWO) .orderByDesc(JkCabinetLog::getCreateDate); List<JkCabinetLog> jkCabinetLogs = jkCabinetLogMapper.selectJoinList(JkCabinetLog.class,wrapper); List<TelecomJkCabinetLogVO> telecomJkCabinetLogVOList = new ArrayList<TelecomJkCabinetLogVO>(); if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(jkCabinetLogs)){ for (JkCabinetLog jkCabinetLog:jkCabinetLogs) { TelecomJkCabinetLogVO telecomJkCabinetLogVO = new TelecomJkCabinetLogVO(); BeanUtil.copyProperties(jkCabinetLog,telecomJkCabinetLogVO); telecomJkCabinetLogVO.setStatus(Objects.nonNull(jkCabinetLog.getReturnDate())?Constants.ZERO:Constants.ONE); telecomJkCabinetLogVOList.add(telecomJkCabinetLogVO); } } return telecomJkCabinetLogVOList; } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetServiceImpl.java
@@ -6,21 +6,18 @@ import com.doumee.core.exception.BusinessException; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DateUtil; import com.doumee.dao.business.CategoryMapper; import com.doumee.dao.business.JkCabinetGridMapper; import com.doumee.dao.business.JkKeysMapper; import com.doumee.dao.business.model.JkCabinetGrid; import com.doumee.dao.business.model.JkKeys; import com.doumee.dao.business.vo.AdminCabinetVO; import com.doumee.dao.business.vo.CabinetConfigDataVO; import com.doumee.dao.business.vo.CabinetDetailVO; import com.doumee.dao.business.vo.CabinetGridInfoVO; import com.doumee.dao.business.dao.MemberMapper; import com.doumee.dao.business.model.*; import com.doumee.dao.business.vo.*; import com.doumee.dao.system.model.SystemDictData; import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.service.business.third.model.PageWrap; import com.doumee.core.utils.Utils; import com.doumee.dao.business.JkCabinetMapper; import com.doumee.dao.business.model.JkCabinet; import com.doumee.service.business.JkCabinetService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; @@ -51,6 +48,9 @@ private JkCabinetMapper jkCabinetMapper; @Autowired private CategoryMapper categoryMapper; @Autowired private JkCabinetGridMapper jkCabinetGridMapper; @Autowired @@ -58,6 +58,9 @@ @Autowired private SystemDictDataBiz systemDictDataBiz; @Autowired private MemberMapper memberMapper; @Override @Transactional(rollbackFor = {Exception.class,BusinessException.class}) @@ -261,6 +264,16 @@ jkCabinet.setJwd(jkCabinet.getLongitude() + "," + jkCabinet.getLatitude()); } jkCabinet.setGridNum(jkCabinet.getColumnNum()*jkCabinet.getRowNum()); if(StringUtils.isNotBlank(jkCabinet.getManagerId())){ jkCabinet.setManagerIdList(Arrays.asList( jkCabinet.getManagerId().split(",") )); } if(StringUtils.isNotBlank(jkCabinet.getAuthMemberId())){ jkCabinet.setAuthMemberIdList(Arrays.asList( jkCabinet.getAuthMemberId().split(",") )); } return jkCabinet; } @@ -277,7 +290,7 @@ QueryWrapper<JkCabinet> wrapper = new QueryWrapper<>(jkCabinet); return jkCabinetMapper.selectList(wrapper); } @Override public PageData<JkCabinet> findPage(PageWrap<JkCabinet> pageWrap) { IPage<JkCabinet> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); @@ -373,11 +386,12 @@ @Override public CabinetDetailVO getCabinetDetail(Integer cabinetId){ public CabinetDetailVO getCabinetDetail(Integer cabinetId,LoginUserInfo loginUserInfo){ CabinetDetailVO cabinetDetailVO = new CabinetDetailVO(); JkCabinet cabinet = jkCabinetMapper.selectOne(new QueryWrapper<JkCabinet>() .lambda() .eq(JkCabinet::getIsdeleted,Constants.ZERO) .apply(" FIND_IN_SET("+loginUserInfo.getId()+",MANAGER_ID) ") .eq(JkCabinet::getId,cabinetId) .last(" limit 1") ); @@ -433,4 +447,119 @@ } @Override public CabinetFaceVO getCabinetFaceVO(String code){ CabinetFaceVO cabinetFaceVO = new CabinetFaceVO(); List<CabinetFaceInfoVO> driverFaceList = new ArrayList<>(); List<CabinetFaceInfoVO> autoFaceList = new ArrayList<>(); JkCabinet jkCabinet = jkCabinetMapper.selectOne(new QueryWrapper<JkCabinet>().lambda() .eq(JkCabinet::getCode,code) .eq(JkCabinet::getIsdeleted,Constants.ZERO) .last("limit 1") ); if(Objects.nonNull(jkCabinet)){ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.FTP,Constants.MEMBER_IMG).getCode(); //æ¥è¯¢å¸æºä¿¡æ¯ List<JkCabinetGrid> jkCabinetGridList = jkCabinetGridMapper.selectJoinList(JkCabinetGrid.class,new MPJLambdaWrapper<JkCabinetGrid>() .selectAll(JkCabinetGrid.class) .selectAs(JkKeys::getCarId,JkCabinetGrid::getCarId) .innerJoin(JkKeys.class,JkKeys::getId,JkCabinetGrid::getKeyId) .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .eq(JkKeys::getIsdeleted,Constants.ZERO) .isNotNull(JkKeys::getCarId) .eq(JkCabinetGrid::getCabinetId,jkCabinet.getId()) ); if(CollectionUtils.isNotEmpty(jkCabinetGridList)){ List<Integer> carIdList = jkCabinetGridList.stream().map(i->i.getKeyId()).collect(Collectors.toList()); //æ¥è¯¢è½¦è¾ææäººåä¿¡æ¯ List<Member> memberList = memberMapper.selectJoinList(Member.class,new MPJLambdaWrapper<Member>() .selectAll(Member.class) .leftJoin(CarDriver.class,CarDriver::getMemberId,Member::getId) .eq(Member::getIsdeleted,Constants.ZERO) .eq(CarDriver::getIsdeleted,Constants.ZERO) .eq(CarDriver::getStatus,Constants.ZERO) .isNotNull(Member::getFaceImg) .in(CarDriver::getCarId,carIdList) ); if(CollectionUtils.isNotEmpty(memberList)){ Set<Member> memberSet = new HashSet<>(memberList); for (Member member:memberSet) { CabinetFaceInfoVO cabinetFaceInfoVO = new CabinetFaceInfoVO(); cabinetFaceInfoVO.setMemberId(member.getId()); cabinetFaceInfoVO.setMemberName(member.getName()); cabinetFaceInfoVO.setFaceImg(prefixUrl + member.getFaceImg()); driverFaceList.add(cabinetFaceInfoVO); } } } //æ¥è¯¢è®¾å¤éªè¯äººå List<Member> memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda() .eq(Member::getIsdeleted,Constants.ZERO) .isNotNull(Member::getFaceImg) .apply(" FIND_IN_SET( id ,'"+jkCabinet.getManagerId()+"') ") ); if(CollectionUtils.isNotEmpty(memberList)){ for (Member member:memberList) { CabinetFaceInfoVO cabinetFaceInfoVO = new CabinetFaceInfoVO(); cabinetFaceInfoVO.setMemberId(member.getId()); cabinetFaceInfoVO.setMemberName(member.getName()); cabinetFaceInfoVO.setFaceImg(prefixUrl + member.getFaceImg()); autoFaceList.add(cabinetFaceInfoVO); } } } cabinetFaceVO.setAutoFaceList(autoFaceList); cabinetFaceVO.setDriverFaceList(driverFaceList); return cabinetFaceVO; } @Override public CabinetInfoVO getCabinetInfoForDriver(String code){ JkCabinet jkCabinet = jkCabinetMapper.selectOne(new QueryWrapper<JkCabinet>() .lambda() .eq(JkCabinet::getIsdeleted,Constants.ZERO) .eq(JkCabinet::getCode,code) .orderByAsc(JkCabinet::getCreateDate) .last(" limit 1 ") ); CabinetInfoVO cabinetInfoVO = new CabinetInfoVO(); if(Objects.nonNull(jkCabinet)){ BeanUtil.copyProperties(jkCabinet,cabinetInfoVO); } List<Category> categoryList = categoryMapper.selectList(new QueryWrapper<Category>().lambda() .eq(Category::getIsdeleted,Constants.ZERO) .eq(Category::getStatus,Constants.ZERO) .eq(Category::getType,Constants.THREE) .orderByAsc(Category::getSortnum) ); if(CollectionUtils.isNotEmpty(categoryList)){ String prefixUrl = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_RESOURCE_PATH).getCode() + systemDictDataBiz.queryByCode(Constants.FTP,Constants.BANNER_IMG).getCode(); for (Category category:categoryList) { category.setImgurlFull(prefixUrl + category.getImgurl()); } cabinetInfoVO.setBannerList( categoryList.stream().map(i->i.getImgurlFull()).collect(Collectors.toList()) ); } return cabinetInfoVO; } @Override public void updateRunStatusById(Integer id) { jkCabinetMapper.update(null,new UpdateWrapper<JkCabinet>() .lambda().set(JkCabinet::getRunStatus,Constants.ZERO) .set(JkCabinet::getEditDate, DateUtil.getCurrDateTime()) .set(JkCabinet::getHaertTime, DateUtil.getCurrDateTime()) .eq(JkCabinet::getId,id)); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java
@@ -179,4 +179,20 @@ } @Override public Integer getMemberIdByCode(String code){ JkIccard jkIccard = jkIccardMapper.selectOne(new QueryWrapper<JkIccard>().lambda() .eq(JkIccard::getIsdeleted,Constants.ZERO) .eq(JkIccard::getStatus,Constants.ZERO) .eq(JkIccard::getCode,code) .last(" limit 1 ") ); if(Objects.isNull(jkIccard)){ throw new BusinessException(ResponseStatus.DATA_EMPTY); } return jkIccard.getMemberId(); } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkKeysServiceImpl.java
@@ -164,10 +164,16 @@ @Override public List<JkKeys> findList(JkKeys jkKeys) { jkKeys.setIsdeleted(Constants.ZERO); jkKeys.setStatus(Constants.ZERO); QueryWrapper<JkKeys> wrapper = new QueryWrapper<>(jkKeys); return jkKeysMapper.selectList(wrapper); return jkKeysMapper.selectList(new QueryWrapper<JkKeys>() .lambda().eq(JkKeys::getIsdeleted,Constants.ZERO) ); } @Override @@ -184,6 +190,7 @@ .leftJoin(JkCabinetGrid.class,JkCabinetGrid::getKeyId,JkKeys::getId) .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetGrid::getCabinetId) .eq(JkKeys::getIsdeleted,Constants.ZERO) .eq(JkCabinetGrid::getIsdeleted,Constants.ZERO) .like(StringUtils.isNotBlank(model.getCode()),JkKeys::getCode,model.getCode()) .like(StringUtils.isNotBlank(model.getCarCode()),JkKeys::getCarCode,model.getCode()); IPage<JkKeys> iPage = jkKeysMapper.selectJoinPage(page,JkKeys.class,wrapper); server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkVersionServiceImpl.java
@@ -176,4 +176,25 @@ QueryWrapper<JkVersion> wrapper = new QueryWrapper<>(jkVersion); return jkVersionMapper.selectCount(wrapper); } @Override public JkVersion getLastVersion(){ JkVersion jkVersion = jkVersionMapper.selectOne(new QueryWrapper<JkVersion>().lambda() .eq(JkVersion::getIsdeleted,Constants.ZERO) .eq(JkVersion::getType,Constants.ZERO) .orderByDesc(JkVersion::getVersionNum) .last("limit 1") ); if(Objects.nonNull(jkVersion)){ String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode() +systemDictDataBiz.queryByCode(Constants.FTP,Constants.APP_FILE).getCode(); jkVersion.setFullFileUrl(path + jkVersion.getFileUrl()); } return jkVersion; } } server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -1917,15 +1917,15 @@ .eq(SystemUser::getDeleted,Constants.ZERO) .last(" limit 1 ")); //éè®¿å®¢ç¨æ· è¿è¡å¤ææ¯å¦åå¨ç¨æ· if(!Objects.isNull(user)){ if(Objects.isNull(user)){ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ¨çè´¦å·ææªç»å®ç³»ç»ï¼è¯·è系管çå"); }else{ Member member = memberMapper.selectById(user.getMemberId()); if(member == null || member.getIsdeleted() == Constants.ONE){ return; // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ç¨æ·å·²å é¤,请è系管çå"); throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"è´¦å·ç»å®å¼å¸¸ï¼è¯·è系管çå"); } if(member.getStatus() != Constants.ZERO){ return; // throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"ç¨æ·å·²ç¦ç¨,请è系管çå"); throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"æ¨çè´¦å·å·²ç¦ç¨ï¼è¯·è系管çå"); } if(StringUtils.isNotBlank(member.getIdcardNo())){ member.setIdcardDecode(DESUtil.decrypt(Constants.EDS_PWD, member.getIdcardNo())); server/visits/dmvisit_service/src/main/resources/application-test.yml
@@ -1,9 +1,9 @@ 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://192.168.0.211:3306/wuhuyancao?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai username: root password: Doumee@168 driver-class-name: com.mysql.cj.jdbc.Driver type: com.alibaba.druid.pool.DruidDataSource redis: