From 5df732ffe16b3f162422c2db61a78458e28c7f8d Mon Sep 17 00:00:00 2001 From: rk <94314517@qq.com> Date: 星期五, 10 十月 2025 14:45:29 +0800 Subject: [PATCH] 钥匙柜开发 天气预警通知 --- server/system_service/src/main/java/com/doumee/core/utils/Constants.java | 5 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkVersion.java | 23 + server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetLogCloudController.java | 2 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkKeys.java | 1 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkVersionMapper.java | 3 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java | 89 +--- server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkKeysServiceImpl.java | 2 server/system_service/src/main/java/com/doumee/dao/business/model/Member.java | 5 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkIccardMapper.java | 3 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningService.java | 2 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java | 74 ++- server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkIccard.java | 9 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetGrid.java | 11 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkIccardService.java | 2 server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java | 146 ++++++++ server/visits/admin_timer/src/main/java/com/doumee/api/WeatherTimerController.java | 42 ++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java | 18 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetGridService.java | 6 server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java | 6 server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetLog.java | 52 ++- server/visits/admin_timer/src/main/java/com/doumee/api/DingTalkTokenTimerController.java | 56 +++ server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java | 132 +++++--- server/system_service/src/main/java/com/doumee/core/utils/WeatherUtil.java | 29 + server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetGridCloudController.java | 25 + server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkVersionServiceImpl.java | 138 +++++--- server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkIccardCloudController.java | 27 + server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkVersionCloudController.java | 16 server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java | 5 28 files changed, 691 insertions(+), 238 deletions(-) diff --git a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java index e83550f..6635af7 100644 --- a/server/system_service/src/main/java/com/doumee/core/utils/Constants.java +++ b/server/system_service/src/main/java/com/doumee/core/utils/Constants.java @@ -55,6 +55,10 @@ public static final String SIGN_IN_QRCODE_PREFIX ="SIGN_IN_QRCODE_PREFIX" ; + public static final String WEATHER_CONFIG ="WEATHER_CONFIG" ; + public static final String REQUEST_URL ="REQUEST_URL" ; + public static final String LOCATION ="LOCATION" ; + public static final String API_KEY ="API_KEY" ; //琚嫓璁夸汉淇℃伅鏍¢獙鏂瑰紡锛�0鎵嬫満鍙峰崟鐙牎楠� 1鎵嬫満鍙峰拰濮撳悕缁勫悎鏍¢獙锛� public static final String BEVISITED_USER_VALID = "BEVISITED_USER_VALID"; public static final String LW_BEVISITED_USER_VALID = "LW_BEVISITED_USER_VALID"; @@ -108,6 +112,7 @@ public static final String FTP_USERNAME ="FTP_USERNAME" ; public static final String FTP_PWD ="FTP_PWD" ; public static final String COMPANY_DOCUMENTS ="COMPANY_DOCUMENTS" ; + public static final String APP_FILE ="APP_FILE" ; public static final String FTP_RESOURCE_PATH ="FTP_RESOURCE_PATH" ; public static final String FTP_LOCAL_RESOURCE_PATH ="FTP_LOCAL_RESOURCE_PATH" ; diff --git a/server/system_service/src/main/java/com/doumee/core/utils/WeatherUtil.java b/server/system_service/src/main/java/com/doumee/core/utils/WeatherUtil.java new file mode 100644 index 0000000..9322a46 --- /dev/null +++ b/server/system_service/src/main/java/com/doumee/core/utils/WeatherUtil.java @@ -0,0 +1,29 @@ +package com.doumee.core.utils; + +import lombok.extern.slf4j.Slf4j; + +/** + * Created by IntelliJ IDEA. + * + * @Author : Rk + * @create 2025/10/10 11:31 + */ +@Slf4j +public class WeatherUtil { + + //API鍦板潃锛� https://dev.qweather.com/docs/api/warning/weather-warning/ + private static final String apiPath = "/v7/warning/now"; + + public static String getWeatherWarningInfo(String apiUrl,String apiKey,String location){ + String url = apiUrl + apiPath + "?key=" + apiKey + "&location=" + location; + log.error(DateUtil.getCurrDateTime() + "澶╂皵璇锋眰鍦板潃锛�"+url); + String response = HttpsUtil.get(url,false); + log.error(DateUtil.getCurrDateTime() + "澶╂皵璇锋眰杩斿洖锛�"+response); + return response; + } + + + + + +} diff --git a/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java b/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java index 50a0bb2..4ea043a 100644 --- a/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java +++ b/server/system_service/src/main/java/com/doumee/dao/business/model/Member.java @@ -300,4 +300,9 @@ @ApiModelProperty(value = "鏄惁鏌ヨ鍥哄畾浜哄憳锛�0=鍚︼紱1=鏄�" ) @TableField(exist = false) private Integer querySpecial; + + @ApiModelProperty(value = "鏄惁鏌ヨ閽ュ寵鏌滄牎楠屼汉鍛橈細0=鍚︼紱1=鏄�" ) + @TableField(exist = false) + private Integer queryAuth; + } diff --git a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java index 6835b17..9ca13c0 100644 --- a/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java +++ b/server/system_timer/src/main/java/com/doumee/jobs/fegin/VisitServiceFegin.java @@ -103,5 +103,11 @@ @PostMapping("/timer/platformJob/sendUnFinishNotice") ApiResponse sendUnFinishNotice(); + @ApiOperation("銆愰拤閽夋暟鎹�戦拤閽塼oken瀹氭椂鍣ㄦ帴鍙�") + @PostMapping("/timer/dingTalkToken/updateDingTalkTokenOrigin") + ApiResponse updateDingTalkTokenOrigin() throws Exception; + @ApiOperation("銆愬ぉ姘斾俊鎭�戝畾鏃跺悓姝ュぉ姘旈璀�") + @PostMapping("/timer/weather/syncWeatherInfo") + ApiResponse syncWeatherInfo(); } diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/DingTalkTokenTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/DingTalkTokenTimerController.java new file mode 100644 index 0000000..6c3d90c --- /dev/null +++ b/server/visits/admin_timer/src/main/java/com/doumee/api/DingTalkTokenTimerController.java @@ -0,0 +1,56 @@ +package com.doumee.api; + +import com.alibaba.fastjson.JSONObject; +import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.core.dingTalk.DingTalk; +import com.doumee.core.utils.Constants; +import com.doumee.core.utils.HttpsUtil; +import com.doumee.core.wx.WXConstant; +import com.doumee.dao.system.model.SystemDictData; +import com.doumee.service.business.third.model.ApiResponse; +import com.doumee.service.system.SystemDictDataService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.apache.shiro.SecurityUtils; +import org.apache.shiro.mgt.DefaultSecurityManager; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Date; +import java.util.Objects; + +/** + * @author 姹熻箘韫� + * @date 2023/11/30 15:33 + */ +@Api(tags = "閽夐拤token瀹氭椂鍣ㄦ帴鍙�") +@RestController +@RequestMapping("/timer/dingTalkToken") +public class DingTalkTokenTimerController extends BaseController { + @Autowired + private SystemDictDataBiz systemDictDataBiz; + + @Autowired + private SystemDictDataService systemDictDataService; + + @Autowired + private DingTalk dingTalk; + /** + * 鏄惁寮�鍙戣�� + */ + @Value("${debug_model}") + private Boolean timing; + + @ApiOperation("寮�鍚畾鏃舵洿鏂伴拤閽変笟鍔oken") + @PostMapping("/updateDingTalkTokenOrigin") + public ApiResponse updateDingTalkTokenOrigin() throws Exception { + dingTalk.updTokenInfo(); + return ApiResponse.success("寮�鍚畾鏃舵洿鏂板井淇″叕浼楀彿accesstoken鎴愬姛"); + } + + + +} diff --git a/server/visits/admin_timer/src/main/java/com/doumee/api/WeatherTimerController.java b/server/visits/admin_timer/src/main/java/com/doumee/api/WeatherTimerController.java new file mode 100644 index 0000000..0b1a90b --- /dev/null +++ b/server/visits/admin_timer/src/main/java/com/doumee/api/WeatherTimerController.java @@ -0,0 +1,42 @@ +package com.doumee.api; + +import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.core.dingTalk.DingTalk; +import com.doumee.service.business.WarningService; +import com.doumee.service.business.third.model.ApiResponse; +import com.doumee.service.system.SystemDictDataService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + * @author 姹熻箘韫� + * @date 2023/11/30 15:33 + */ +@Api(tags = "澶╂皵棰勮鍚屾") +@RestController +@RequestMapping("/timer/weather") +public class WeatherTimerController extends BaseController { + @Autowired + private WarningService warningService; + + /** + * 鏄惁寮�鍙戣�� + */ + @Value("${debug_model}") + private Boolean timing; + + @ApiOperation("瀹氭椂鍚屾澶╂皵棰勮淇℃伅") + @PostMapping("/syncWeatherInfo") + public ApiResponse syncWeatherInfo(){ + warningService.getWeatherInfo(); + return ApiResponse.success("瀹氭椂鍚屾澶╂皵棰勮淇℃伅"); + } + + + +} diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetGridCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetGridCloudController.java index 14dcffe..2bbca3c 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetGridCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetGridCloudController.java @@ -6,6 +6,7 @@ import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.utils.Constants; import com.doumee.dao.business.model.JkCabinetGrid; +import com.doumee.dao.business.model.JkIccard; import com.doumee.service.business.JkCabinetGridService; import com.doumee.service.business.third.model.ApiResponse; import com.doumee.service.business.third.model.PageData; @@ -64,7 +65,27 @@ @PostMapping("/updateById") @CloudRequiredPermission("business:jkcabinetgrid:update") public ApiResponse updateById(@RequestBody JkCabinetGrid jkCabinetGrid,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + jkCabinetGrid.setLoginUserInfo(getLoginUser(token)); jkCabinetGridService.updateById(jkCabinetGrid); + return ApiResponse.success(null); + } + + + @ApiOperation("鏍规嵁ID淇敼鐘舵��") + @PostMapping("/updateStatusById") + @CloudRequiredPermission("business:jkcabinetgrid:update") + public ApiResponse updateStatusById(@RequestBody JkCabinetGrid jkCabinetGrid, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + jkCabinetGrid.setLoginUserInfo(this.getLoginUser(token)); + jkCabinetGridService.updateStatusById(jkCabinetGrid); + return ApiResponse.success(null); + } + + + @ApiOperation("瑙g粦閽ュ寵") + @PostMapping("/unBindKeys") + @CloudRequiredPermission("business:jkcabinetgrid:update") + public ApiResponse unBindKeys(@RequestBody List<Integer> idList, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + jkCabinetGridService.unBindKeys(idList); return ApiResponse.success(null); } @@ -88,4 +109,8 @@ public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(jkCabinetGridService.findById(id)); } + + + + } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetLogCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetLogCloudController.java index b04f026..b0dbcb2 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetLogCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkCabinetLogCloudController.java @@ -79,7 +79,7 @@ @PostMapping("/exportExcel") @CloudRequiredPermission("business:jkcabinetlog:exportExcel") public void exportExcel (@RequestBody PageWrap<JkCabinetLog> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { - ExcelExporter.build(JkCabinetLog.class).export(jkCabinetLogService.findPage(pageWrap).getRecords(), "閽ュ寵鏌滃紑鍏抽棬璁板綍", response); + ExcelExporter.build(JkCabinetLog.class).export(jkCabinetLogService.findPage(pageWrap).getRecords(), "閽ュ寵鏌滃紑鍏抽棬璁板綍_"+System.currentTimeMillis(), response); } @ApiOperation("鏍规嵁ID鏌ヨ") diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkIccardCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkIccardCloudController.java index c8657a1..0639ce6 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkIccardCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkIccardCloudController.java @@ -5,6 +5,7 @@ import com.doumee.core.annotation.excel.ExcelExporter; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.utils.Constants; +import com.doumee.dao.business.model.JkCabinet; import com.doumee.dao.business.model.JkIccard; import com.doumee.service.business.JkIccardService; import com.doumee.service.business.third.model.ApiResponse; @@ -35,14 +36,15 @@ @ApiOperation("鏂板缓") @PostMapping("/create") @CloudRequiredPermission("business:jkiccard:create") - public ApiResponse create(@RequestBody JkIccard jkIccard) { + public ApiResponse create(@RequestBody JkIccard jkIccard,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + jkIccard.setLoginUserInfo(getLoginUser(token)); return ApiResponse.success(jkIccardService.create(jkIccard)); } @ApiOperation("鏍规嵁ID鍒犻櫎") @GetMapping("/delete/{id}") @CloudRequiredPermission("business:jkiccard:delete") - public ApiResponse deleteById(@PathVariable Integer id) { + public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jkIccardService.deleteById(id); return ApiResponse.success(null); } @@ -50,7 +52,7 @@ @ApiOperation("鎵归噺鍒犻櫎") @GetMapping("/delete/batch") @CloudRequiredPermission("business:jkiccard:delete") - public ApiResponse deleteByIdInBatch(@RequestParam String ids) { + public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray) { @@ -63,29 +65,40 @@ @ApiOperation("鏍规嵁ID淇敼") @PostMapping("/updateById") @CloudRequiredPermission("business:jkiccard:update") - public ApiResponse updateById(@RequestBody JkIccard jkIccard) { + public ApiResponse updateById(@RequestBody JkIccard jkIccard,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + jkIccard.setLoginUserInfo(getLoginUser(token)); jkIccardService.updateById(jkIccard); + return ApiResponse.success(null); + } + + + @ApiOperation("鏍规嵁ID淇敼鐘舵��") + @PostMapping("/updateStatusById") + @CloudRequiredPermission("business:jkiccard:update") + public ApiResponse updateStatusById(@RequestBody JkIccard jkIccard, @RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + jkIccard.setLoginUserInfo(this.getLoginUser(token)); + jkIccardService.updateStatusById(jkIccard); return ApiResponse.success(null); } @ApiOperation("鍒嗛〉鏌ヨ") @PostMapping("/page") @CloudRequiredPermission("business:jkiccard:query") - public ApiResponse<PageData<JkIccard>> findPage (@RequestBody PageWrap<JkIccard> pageWrap) { + public ApiResponse<PageData<JkIccard>> findPage (@RequestBody PageWrap<JkIccard> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(jkIccardService.findPage(pageWrap)); } @ApiOperation("瀵煎嚭Excel") @PostMapping("/exportExcel") @CloudRequiredPermission("business:jkiccard:exportExcel") - public void exportExcel (@RequestBody PageWrap<JkIccard> pageWrap, HttpServletResponse response) { + public void exportExcel (@RequestBody PageWrap<JkIccard> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { ExcelExporter.build(JkIccard.class).export(jkIccardService.findPage(pageWrap).getRecords(), "閽ュ寵鏌淚C鍗′俊鎭〃", response); } @ApiOperation("鏍规嵁ID鏌ヨ") @GetMapping("/{id}") @CloudRequiredPermission("business:jkiccard:query") - public ApiResponse findById(@PathVariable Integer id) { + public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(jkIccardService.findById(id)); } } diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkVersionCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkVersionCloudController.java index ef9edbc..c099b4a 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkVersionCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/JkVersionCloudController.java @@ -35,14 +35,15 @@ @ApiOperation("鏂板缓") @PostMapping("/create") @CloudRequiredPermission("business:jkversion:create") - public ApiResponse create(@RequestBody JkVersion jkVersion) { + public ApiResponse create(@RequestBody JkVersion jkVersion,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + jkVersion.setLoginUserInfo(this.getLoginUser(token)); return ApiResponse.success(jkVersionService.create(jkVersion)); } @ApiOperation("鏍规嵁ID鍒犻櫎") @GetMapping("/delete/{id}") @CloudRequiredPermission("business:jkversion:delete") - public ApiResponse deleteById(@PathVariable Integer id) { + public ApiResponse deleteById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { jkVersionService.deleteById(id); return ApiResponse.success(null); } @@ -50,7 +51,7 @@ @ApiOperation("鎵归噺鍒犻櫎") @GetMapping("/delete/batch") @CloudRequiredPermission("business:jkversion:delete") - public ApiResponse deleteByIdInBatch(@RequestParam String ids) { + public ApiResponse deleteByIdInBatch(@RequestParam String ids,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { String [] idArray = ids.split(","); List<Integer> idList = new ArrayList<>(); for (String id : idArray) { @@ -63,7 +64,8 @@ @ApiOperation("鏍规嵁ID淇敼") @PostMapping("/updateById") @CloudRequiredPermission("business:jkversion:update") - public ApiResponse updateById(@RequestBody JkVersion jkVersion) { + public ApiResponse updateById(@RequestBody JkVersion jkVersion,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { + jkVersion.setLoginUserInfo(this.getLoginUser(token)); jkVersionService.updateById(jkVersion); return ApiResponse.success(null); } @@ -71,21 +73,21 @@ @ApiOperation("鍒嗛〉鏌ヨ") @PostMapping("/page") @CloudRequiredPermission("business:jkversion:query") - public ApiResponse<PageData<JkVersion>> findPage (@RequestBody PageWrap<JkVersion> pageWrap) { + public ApiResponse<PageData<JkVersion>> findPage (@RequestBody PageWrap<JkVersion> pageWrap,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(jkVersionService.findPage(pageWrap)); } @ApiOperation("瀵煎嚭Excel") @PostMapping("/exportExcel") @CloudRequiredPermission("business:jkversion:exportExcel") - public void exportExcel (@RequestBody PageWrap<JkVersion> pageWrap, HttpServletResponse response) { + public void exportExcel (@RequestBody PageWrap<JkVersion> pageWrap, HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { ExcelExporter.build(JkVersion.class).export(jkVersionService.findPage(pageWrap).getRecords(), "浜ゆ帶-閽ュ寵鏌滅粓绔増鏈俊鎭〃", response); } @ApiOperation("鏍规嵁ID鏌ヨ") @GetMapping("/{id}") @CloudRequiredPermission("business:jkversion:query") - public ApiResponse findById(@PathVariable Integer id) { + public ApiResponse findById(@PathVariable Integer id,@RequestHeader(Constants.HEADER_USER_TOKEN) String token) { return ApiResponse.success(jkVersionService.findById(id)); } } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java index 2291752..84273d6 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/core/dingTalk/DingTalk.java @@ -373,7 +373,7 @@ * api 鍦板潃 https://open.dingtalk.com/document/orgapp/asynchronous-sending-of-enterprise-session-messages * @throws ApiException */ - public void workInfoOANotice(Long agentId,String userIds,OapiMessageCorpconversationAsyncsendV2Request.Msg msg){ + public Boolean workInfoOANotice(Long agentId,String userIds,OapiMessageCorpconversationAsyncsendV2Request.Msg msg){ try{ DingTalkClient client = new DefaultDingTalkClient("https://oapi.dingtalk.com/topapi/message/corpconversation/asyncsend_v2"); OapiMessageCorpconversationAsyncsendV2Request request = new OapiMessageCorpconversationAsyncsendV2Request(); @@ -384,13 +384,14 @@ request.setMsg(msg); OapiMessageCorpconversationAsyncsendV2Response rsp = client.execute(request, "60c2df248ca93d4eafb4a04a2330d3d3");//getToken()); if(rsp.getErrcode().equals(Constants.DD_ERR_CODE)){ - + return true; }else{ throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),rsp.getMessage()); } }catch (ApiException apiException){ } + return false; } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkIccardMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkIccardMapper.java index 571c5e3..32b5378 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkIccardMapper.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkIccardMapper.java @@ -2,11 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.JkIccard; +import com.github.yulichang.base.mapper.MPJJoinMapper; /** * @author 姹熻箘韫� * @date 2025/09/28 09:01 */ -public interface JkIccardMapper extends BaseMapper<JkIccard> { +public interface JkIccardMapper extends MPJJoinMapper<JkIccard> { } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkVersionMapper.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkVersionMapper.java index 0e6ef61..b1d0375 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkVersionMapper.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/JkVersionMapper.java @@ -2,11 +2,12 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.doumee.dao.business.model.JkVersion; +import com.github.yulichang.base.mapper.MPJJoinMapper; /** * @author 姹熻箘韫� * @date 2025/09/28 09:01 */ -public interface JkVersionMapper extends BaseMapper<JkVersion> { +public interface JkVersionMapper extends MPJJoinMapper<JkVersion> { } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetGrid.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetGrid.java index 8e30971..b4d4302 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetGrid.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetGrid.java @@ -77,6 +77,17 @@ @ExcelColumn(name="杩愯鐘舵��") private Integer workingStatus; + @ApiModelProperty(value = "鏉垮彿") + @ExcelColumn(name="鏉垮彿") + private String boardCode; + + @ApiModelProperty(value = "閫氶亾鍙�") + @ExcelColumn(name="閫氶亾鍙�") + private String channelCode; + + + + @ApiModelProperty(value = "缁戝畾鐘舵�� 0鏈粦瀹氾紱1宸茬粦瀹�", example = "1") @TableField(exist = false) private Integer bindStatus; diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetLog.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetLog.java index 63bd3e6..81db5e1 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetLog.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkCabinetLog.java @@ -1,5 +1,6 @@ package com.doumee.dao.business.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.service.business.third.model.LoginUserModel; import io.swagger.annotations.ApiModel; @@ -22,70 +23,87 @@ public class JkCabinetLog extends LoginUserModel { @ApiModelProperty(value = "涓婚敭", example = "1") - @ExcelColumn(name="涓婚敭") @TableId(type = IdType.AUTO) private Integer id; @ApiModelProperty(value = "鍒涘缓浜虹紪鐮�", example = "1") - @ExcelColumn(name="鍒涘缓浜虹紪鐮�") private Integer creator; @ApiModelProperty(value = "鍒涘缓鏃堕棿") - @ExcelColumn(name="鍒涘缓鏃堕棿") - @JsonFormat(pattern = "yyyy-MM-dd") + @ExcelColumn(name="寮�闂ㄦ椂闂�",index = 0,dateFormat = "yyyy-MM-dd HH:mm:ss",width = 16) + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createDate; @ApiModelProperty(value = "鏇存柊浜虹紪鐮�", example = "1") - @ExcelColumn(name="鏇存柊浜虹紪鐮�") private Integer editor; @ApiModelProperty(value = "鏇存柊鏃堕棿") - @ExcelColumn(name="鏇存柊鏃堕棿") @JsonFormat(pattern = "yyyy-MM-dd") private Date editDate; @ApiModelProperty(value = "鏄惁鍒犻櫎0鍚� 1鏄�", example = "1") - @ExcelColumn(name="鏄惁鍒犻櫎0鍚� 1鏄�") private Integer isdeleted; @ApiModelProperty(value = "澶囨敞") - @ExcelColumn(name="澶囨敞") private String info; @ApiModelProperty(value = "閽ュ寵鏌滅紪鐮侊紙鍏宠仈jk_cabinet)", example = "1") - @ExcelColumn(name="閽ュ寵鏌滅紪鐮侊紙鍏宠仈jk_cabinet)") private Integer cabinetId; @ApiModelProperty(value = "閽ュ寵鏌滄牸缂栫爜(鍏宠仈jk_cabinet_grid)", example = "1") - @ExcelColumn(name="閽ュ寵鏌滄牸缂栫爜(鍏宠仈jk_cabinet_grid)") private Integer gridId; @ApiModelProperty(value = "楠岃瘉鏂瑰紡 0鍒疯劯 1鍒峰崱", example = "1") - @ExcelColumn(name="楠岃瘉鏂瑰紡 0鍒疯劯 1鍒峰崱") + @ExcelColumn(name="鏍¢獙鏂瑰紡",index = 2,width = 10,valueMapping = "0=浜鸿劯;1=鍒峰崱;2=绠$悊鎺堟潈;") private Integer authType; @ApiModelProperty(value = "杞﹁締缂栫爜锛堝叧鑱攃ars)", example = "1") - @ExcelColumn(name="杞﹁締缂栫爜锛堝叧鑱攃ars)") private Integer carId; @ApiModelProperty(value = "閽ュ寵缂栫爜(鍏宠仈jk_keys)", example = "1") - @ExcelColumn(name="閽ュ寵缂栫爜(鍏宠仈jk_keys)") private Integer keyId; @ApiModelProperty(value = "浜哄憳缂栫爜锛堝叧鑱攎ember)", example = "1") - @ExcelColumn(name="浜哄憳缂栫爜锛堝叧鑱攎ember)") private Integer memberId; @ApiModelProperty(value = "閽ュ寵淇℃伅锛堣溅鐗屽彿-閽ュ寵缂栫爜锛�") - @ExcelColumn(name="閽ュ寵淇℃伅锛堣溅鐗屽彿-閽ュ寵缂栫爜锛�") + @ExcelColumn(name="閽ュ寵",index = 5,width = 16) private String keyInfo; @ApiModelProperty(value = "棰嗗彇瑙勫垯 0闅忚溅 1闅忔淳杞﹀崟", example = "1") - @ExcelColumn(name="棰嗗彇瑙勫垯 0闅忚溅 1闅忔淳杞﹀崟") private Integer roleType; @ApiModelProperty(value = "鐘舵�� 0鎴愬姛 1澶辫触", example = "1") - @ExcelColumn(name="鐘舵�� 0鎴愬姛 1澶辫触") + @ExcelColumn(name="鐘舵��",index = 6,width = 10,valueMapping = "0=鎴愬姛;1=澶辫触;") private Integer status; + @ApiModelProperty(value = "鎿嶄綔浜洪儴闂�", example = "1",hidden = true) + @TableField(exist = false) + private String companyName; + + @ApiModelProperty(value = "鎿嶄綔浜哄悕绉�", example = "1") + @ExcelColumn(name="鎿嶄綔浜�",index = 1,width = 2) + @TableField(exist = false) + private String memberName; + + @ApiModelProperty(value = "閽ュ寵鏌滃悕绉�", example = "1") + @ExcelColumn(name="鎵�灞為挜鍖欐煖",index = 3,width = 12) + @TableField(exist = false) + private String cabinetName; + + @ApiModelProperty(value = "鏌滄牸缂栧彿", example = "1") + @ExcelColumn(name="鏌滄牸缂栧彿",index = 4,width = 12) + @TableField(exist = false) + private String gridCode; + + @ApiModelProperty(value = "鏌ヨ寮�濮嬫椂闂� yyyy-MM-dd ") + @TableField(exist = false) + @JsonFormat(pattern = "yyyy-MM-dd") + private Date startDate; + + @ApiModelProperty(value = "鏌ヨ缁撴潫鏃堕棿 yyyy-MM-dd ") + @TableField(exist = false) + @JsonFormat(pattern = "yyyy-MM-dd") + private Date endDate; + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkIccard.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkIccard.java index 9bc6a43..c4f781e 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkIccard.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkIccard.java @@ -1,5 +1,6 @@ package com.doumee.dao.business.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.service.business.third.model.LoginUserModel; import io.swagger.annotations.ApiModel; @@ -72,4 +73,12 @@ @ExcelColumn(name="閽ュ寵鏌滅紪鐮侊紙鍏宠仈jk_cabinet)") private Integer cabinetId; + @ApiModelProperty(value = "鍏宠仈浜哄憳绫诲瀷锛�0=鍙告満锛�1=鏍¢獙浜哄憳", example = "1") + @ExcelColumn(name="鍏宠仈浜哄憳绫诲瀷锛�0=鍙告満锛�1=鏍¢獙浜哄憳") + private Integer userType; + + @ApiModelProperty(value = "浜哄憳鍚嶇О", example = "1") + @TableField(exist = false) + private String memberName; + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkKeys.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkKeys.java index 198fb8c..edf02f8 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkKeys.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkKeys.java @@ -77,6 +77,7 @@ @ExcelColumn(name=" 鐘舵�� 0鏈粦瀹� 1鍦ㄤ綅 2鍊熷嚭 3缁翠慨淇濆吇") private Integer status; + @ApiModelProperty(value = "瀛樻斁浣嶇疆", example = "1") @TableField(exist = false) private String gridCode; diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkVersion.java b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkVersion.java index bf6fc75..a8db838 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkVersion.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/dao/business/model/JkVersion.java @@ -1,5 +1,6 @@ package com.doumee.dao.business.model; +import com.baomidou.mybatisplus.annotation.TableField; import com.doumee.core.annotation.excel.ExcelColumn; import com.doumee.service.business.third.model.LoginUserModel; import io.swagger.annotations.ApiModel; @@ -9,6 +10,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import com.fasterxml.jackson.annotation.JsonFormat; + +import java.math.BigDecimal; import java.util.Date; /** @@ -84,4 +87,24 @@ @ExcelColumn(name="骞冲彴绫诲瀷 0Android 1IOS") private Integer type; + @ApiModelProperty(value = "鏂囦欢澶у皬 鍗曚綅锛圞B锛�", example = "1") + @ExcelColumn(name="鏂囦欢澶у皬 鍗曚綅锛圞B锛�") + private Integer fileSize; + + @ApiModelProperty(value = "鏂囦欢澶у皬 鍗曚綅锛圡B锛�", example = "1") + @TableField(exist = false) + private double fileSizeMb; + + + @ApiModelProperty(value = "鍒涘缓浜哄悕绉�", example = "1") + @TableField(exist = false) + private String createUserName; + + @ApiModelProperty(value = "apk鍏ㄨ矾寰�", example = "1") + @TableField(exist = false) + private String fullFileUrl; + + + + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetGridService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetGridService.java index f3080cd..f08d092 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetGridService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkCabinetGridService.java @@ -96,11 +96,7 @@ */ long count(JkCabinetGrid jkCabinetGrid); - /** - * 缁戝畾閽ュ寵 - * @param jkCabinetGrid - */ - void bindingKeys(JkCabinetGrid jkCabinetGrid); + void updateStatusById(JkCabinetGrid jkCabinetGrid); void unBindKeys(List<Integer> idList); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkIccardService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkIccardService.java index b209b97..b9f531a 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkIccardService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/JkIccardService.java @@ -94,4 +94,6 @@ * @return long */ long count(JkIccard jkIccard); + + void updateStatusById(JkIccard jkIccard); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningService.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningService.java index db51aba..c06822a 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningService.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/WarningService.java @@ -97,4 +97,6 @@ long count(Warning warning); void updateStatus(Warning param); + + void getWeatherInfo(); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java index 0cdc384..4cc4c61 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetGridServiceImpl.java @@ -9,6 +9,7 @@ import com.doumee.dao.business.model.Cars; import com.doumee.dao.business.model.JkCabinet; import com.doumee.dao.business.model.JkKeys; +import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.service.business.third.model.PageData; import com.doumee.core.utils.Utils; import com.doumee.dao.business.JkCabinetGridMapper; @@ -72,7 +73,47 @@ @Override public void updateById(JkCabinetGrid jkCabinetGrid) { - jkCabinetGridMapper.updateById(jkCabinetGrid); + if(Objects.isNull(jkCabinetGrid) + || Objects.isNull(jkCabinetGrid.getId()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = jkCabinetGrid.getLoginUserInfo(); + JkCabinetGrid model = jkCabinetGridMapper.selectById(jkCabinetGrid.getId()); + if(Objects.isNull(model)|| Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(Objects.nonNull(jkCabinetGrid.getKeyId())){ + if(Objects.nonNull(model.getKeyId())){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸茬粦瀹氾紝璇峰嬁閲嶅缁戝畾"); + } + JkKeys keysModel = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); + if(Objects.isNull(keysModel)|| Constants.equalsInteger(keysModel.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(!Constants.equalsInteger(keysModel.getStatus(), (Constants.ZERO))){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閽ュ寵宸茶缁戝畾锛岃閫夋嫨鍏朵粬閽ュ寵缁戝畾"); + } + //鏇存柊閽ュ寵鏌滀俊鎭� + jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() + .set(JkCabinetGrid::getKeyId,jkCabinetGrid.getKeyId()) + .set(JkCabinetGrid::getEditor,loginUserInfo.getId()) + .set(JkCabinetGrid::getEditDate,DateUtil.getCurrDateTime()) + .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) + .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())); + //鏍囪閽ュ寵淇℃伅 + jkKeysMapper.update(new UpdateWrapper<JkKeys>().lambda() + .set(JkKeys::getStatus,Constants.ONE) + .eq(JkKeys::getId,jkCabinetGrid.getKeyId()) + ); + return; + }else if(Objects.nonNull(jkCabinetGrid.getChannelCode())||Objects.nonNull(jkCabinetGrid.getBoardCode())){ + jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() + .set(Objects.nonNull(jkCabinetGrid.getChannelCode()),JkCabinetGrid::getChannelCode,jkCabinetGrid.getChannelCode()) + .set(Objects.nonNull(jkCabinetGrid.getBoardCode()),JkCabinetGrid::getBoardCode,jkCabinetGrid.getBoardCode()) + .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) + .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())); + } } @Override @@ -133,38 +174,17 @@ } @Override - public void bindingKeys(JkCabinetGrid jkCabinetGrid){ + public void updateStatusById(JkCabinetGrid jkCabinetGrid) { if(Objects.isNull(jkCabinetGrid) - || Objects.isNull(jkCabinetGrid.getId()) - || Objects.isNull(jkCabinetGrid.getKeyId())){ + || Objects.isNull(jkCabinetGrid.getId()) + || Objects.isNull(jkCabinetGrid.getStatus())){ throw new BusinessException(ResponseStatus.BAD_REQUEST); } - JkCabinetGrid model = jkCabinetGridMapper.selectById(jkCabinetGrid.getId()); - if(Objects.isNull(model)|| Constants.equalsInteger(model.getIsdeleted(),Constants.ONE)){ - throw new BusinessException(ResponseStatus.DATA_EMPTY); - } - if(Objects.nonNull(model.getKeyId())){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"宸茬粦瀹氾紝璇峰嬁閲嶅缁戝畾"); - } - JkKeys keysModel = jkKeysMapper.selectById(jkCabinetGrid.getKeyId()); - if(Objects.isNull(keysModel)|| Constants.equalsInteger(keysModel.getIsdeleted(),Constants.ONE)){ - throw new BusinessException(ResponseStatus.DATA_EMPTY); - } - if(!Constants.equalsInteger(keysModel.getStatus(), (Constants.ZERO))){ - throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"閽ュ寵宸茶缁戝畾锛岃閫夋嫨鍏朵粬閽ュ寵缁戝畾"); - } - //鏇存柊閽ュ寵鏌滀俊鎭� - jkCabinetGridMapper.update(new UpdateWrapper<JkCabinetGrid>().lambda() - .set(JkCabinetGrid::getKeyId,jkCabinetGrid.getKeyId()) + jkCabinetGridMapper.update(null,new UpdateWrapper<JkCabinetGrid>() + .lambda().set(JkCabinetGrid::getStatus,jkCabinetGrid.getStatus()) .set(JkCabinetGrid::getEditDate, DateUtil.getCurrDateTime()) .eq(JkCabinetGrid::getId,jkCabinetGrid.getId())); - //鏍囪閽ュ寵淇℃伅 - jkKeysMapper.update(new UpdateWrapper<JkKeys>().lambda() - .set(JkKeys::getStatus,Constants.ONE) - .eq(JkKeys::getId,jkCabinetGrid.getKeyId()) - ); } - @Override diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java index 4b57d27..7e36a98 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkCabinetLogServiceImpl.java @@ -1,20 +1,24 @@ package com.doumee.service.business.impl; +import com.doumee.core.utils.Constants; +import com.doumee.dao.business.model.*; 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.JkCabinetLogMapper; -import com.doumee.dao.business.model.JkCabinetLog; import com.doumee.service.business.JkCabinetLogService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; import java.util.List; +import java.util.Objects; /** * 閽ュ寵鏌滃紑鍏抽棬璁板綍Service瀹炵幇 @@ -87,69 +91,34 @@ @Override public PageData<JkCabinetLog> findPage(PageWrap<JkCabinetLog> pageWrap) { IPage<JkCabinetLog> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<JkCabinetLog> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); JkCabinetLog model = pageWrap.getModel(); - - - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(JkCabinetLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(JkCabinetLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(JkCabinetLog::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(JkCabinetLog::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getInfo() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getInfo, pageWrap.getModel().getInfo()); - } - if (pageWrap.getModel().getCabinetId() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getCabinetId, pageWrap.getModel().getCabinetId()); - } - if (pageWrap.getModel().getGridId() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getGridId, pageWrap.getModel().getGridId()); - } - if (pageWrap.getModel().getAuthType() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getAuthType, pageWrap.getModel().getAuthType()); - } - if (pageWrap.getModel().getCarId() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getCarId, pageWrap.getModel().getCarId()); - } - if (pageWrap.getModel().getKeyId() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getKeyId, pageWrap.getModel().getKeyId()); - } - if (pageWrap.getModel().getMemberId() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getMemberId, pageWrap.getModel().getMemberId()); - } - if (pageWrap.getModel().getKeyInfo() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getKeyInfo, pageWrap.getModel().getKeyInfo()); - } - if (pageWrap.getModel().getRoleType() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getRoleType, pageWrap.getModel().getRoleType()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(JkCabinetLog::getStatus, pageWrap.getModel().getStatus()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); + 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) + .leftJoin(JkCabinet.class,JkCabinet::getId,JkCabinetLog::getCabinetId) + .leftJoin(JkCabinetGrid.class,JkCabinetGrid::getId,JkCabinetLog::getGridId) + .leftJoin(Member.class,Member::getId,JkCabinetLog::getMemberId) + .leftJoin(Company.class,Company::getId,Member::getCompanyId) + .ge(Objects.nonNull(model.getStartDate()),JkCabinetLog::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getStartDate())) + .le(Objects.nonNull(model.getEndDate()),JkCabinetLog::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getEndDate())) + .like(StringUtils.isNotBlank(model.getMemberName()),Member::getName,model.getMemberName()) + .eq(Objects.nonNull(model.getCabinetId()),JkCabinetLog::getCabinetId,model.getCabinetId()) + .eq(Objects.nonNull(model.getKeyId()),JkCabinetLog::getKeyId,model.getKeyId()) + .eq(Objects.nonNull(model.getAuthType()),JkCabinetLog::getAuthType,model.getAuthType()) + .eq(Objects.nonNull(model.getStatus()),JkCabinetLog::getStatus,model.getStatus()) + .eq(JkCabinetLog::getIsdeleted, Constants.ZERO) + .orderByDesc(JkCabinetLog::getCreateDate); + IPage<JkCabinetLog> iPage = jkCabinetLogMapper.selectJoinPage(page,JkCabinetLog.class,wrapper); + for (JkCabinetLog jkCabinetLog:iPage.getRecords()) { + if(StringUtils.isNotBlank(jkCabinetLog.getCompanyName())&&StringUtils.isNotBlank(jkCabinetLog.getMemberName())){ + jkCabinetLog.setMemberName(jkCabinetLog.getMemberName() + " - " + jkCabinetLog.getCompanyName() ); } } - return PageData.from(jkCabinetLogMapper.selectPage(page, queryWrapper)); + return PageData.from(iPage); } @Override diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java index 0964dc4..fee5ff9 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkIccardServiceImpl.java @@ -1,5 +1,12 @@ package com.doumee.service.business.impl; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; +import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DateUtil; +import com.doumee.dao.business.model.*; +import com.doumee.dao.system.model.SystemUser; +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; @@ -10,11 +17,15 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.Date; import java.util.List; +import java.util.Objects; /** * 閽ュ寵鏌淚C鍗′俊鎭〃Service瀹炵幇 @@ -29,13 +40,38 @@ @Override public Integer create(JkIccard jkIccard) { + if(Objects.isNull(jkIccard) + || StringUtils.isBlank(jkIccard.getCode()) + || Objects.isNull(jkIccard.getStatus()) + || Objects.isNull(jkIccard.getMemberId()) + || Objects.isNull(jkIccard.getUserType()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + + LoginUserInfo loginUserInfo = jkIccard.getLoginUserInfo(); + jkIccard.setCreateDate(new Date()); + jkIccard.setCreator(loginUserInfo.getId()); + jkIccard.setEditDate(jkIccard.getCreateDate()); + jkIccard.setEditor(jkIccard.getCreator()); + jkIccard.setIsdeleted(Constants.ZERO); + //鏌ヨ缂栧彿鏄惁閲嶅 + if(jkIccardMapper.selectCount(new QueryWrapper<JkIccard>().lambda().eq(JkIccard::getCode,jkIccard.getCode()).eq(JkIccard::getIsdeleted,Constants.ZERO))>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"IC鍗″彿宸插瓨鍦紒"); + } jkIccardMapper.insert(jkIccard); return jkIccard.getId(); } @Override public void deleteById(Integer id) { - jkIccardMapper.deleteById(id); + JkIccard jkIccard = jkIccardMapper.selectById(id); + if(Objects.isNull(jkIccard)||Constants.equalsInteger(jkIccard.getIsdeleted(),Constants.ONE)){ + throw new BusinessException(ResponseStatus.DATA_EMPTY); + } + if(Constants.equalsInteger(jkIccard.getStatus(),Constants.ZERO)){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鍚敤鏁版嵁鏃犳硶杩涜鍒犻櫎锛�"); + } } @Override @@ -54,6 +90,25 @@ @Override public void updateById(JkIccard jkIccard) { + if(Objects.isNull(jkIccard) + || Objects.isNull(jkIccard.getId()) + || StringUtils.isBlank(jkIccard.getCode()) + || Objects.isNull(jkIccard.getStatus()) + || Objects.isNull(jkIccard.getMemberId()) + || Objects.isNull(jkIccard.getUserType()) + ){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + LoginUserInfo loginUserInfo = jkIccard.getLoginUserInfo(); + jkIccard.setCreateDate(new Date()); + jkIccard.setCreator(loginUserInfo.getId()); + jkIccard.setEditDate(jkIccard.getCreateDate()); + jkIccard.setEditor(jkIccard.getCreator()); + jkIccard.setIsdeleted(Constants.ZERO); + //鏌ヨ缂栧彿鏄惁閲嶅 + if(jkIccardMapper.selectCount(new QueryWrapper<JkIccard>().lambda().ne(JkIccard::getId,jkIccard.getId()).eq(JkIccard::getCode,jkIccard.getCode()).eq(JkIccard::getIsdeleted,Constants.ZERO))>Constants.ZERO){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"IC鍗″彿宸插瓨鍦紒"); + } jkIccardMapper.updateById(jkIccard); } @@ -87,54 +142,20 @@ @Override public PageData<JkIccard> findPage(PageWrap<JkIccard> pageWrap) { IPage<JkIccard> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<JkIccard> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(JkIccard::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(JkIccard::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(JkIccard::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(JkIccard::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(JkIccard::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(JkIccard::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(JkIccard::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(JkIccard::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getInfo() != null) { - queryWrapper.lambda().eq(JkIccard::getInfo, pageWrap.getModel().getInfo()); - } - if (pageWrap.getModel().getMemberId() != null) { - queryWrapper.lambda().eq(JkIccard::getMemberId, pageWrap.getModel().getMemberId()); - } - if (pageWrap.getModel().getCode() != null) { - queryWrapper.lambda().eq(JkIccard::getCode, pageWrap.getModel().getCode()); - } - if (pageWrap.getModel().getStatus() != null) { - queryWrapper.lambda().eq(JkIccard::getStatus, pageWrap.getModel().getStatus()); - } - if (pageWrap.getModel().getName() != null) { - queryWrapper.lambda().eq(JkIccard::getName, pageWrap.getModel().getName()); - } - if (pageWrap.getModel().getCabinetId() != null) { - queryWrapper.lambda().eq(JkIccard::getCabinetId, pageWrap.getModel().getCabinetId()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); - } - } - return PageData.from(jkIccardMapper.selectPage(page, queryWrapper)); + JkIccard model = pageWrap.getModel(); + MPJLambdaWrapper<JkIccard> wrapper = new MPJLambdaWrapper<JkIccard>() + .selectAll(JkIccard.class) + .selectAs(Member::getName,JkIccard::getMemberName) + .leftJoin(Member.class,Member::getId,JkIccard::getMemberId) + .eq(JkIccard::getIsdeleted,Constants.ZERO) + .eq(Objects.nonNull(model.getStatus()),JkIccard::getStatus,model.getStatus()) + .like(StringUtils.isNotBlank(model.getCode()),JkIccard::getCode,model.getCode()) + .like(StringUtils.isNotBlank(model.getMemberName()),Member::getName,model.getMemberName()) + .orderByDesc(JkIccard::getCreateDate) + ; + IPage<JkIccard> iPage = jkIccardMapper.selectJoinPage(page,JkIccard.class,wrapper); + return PageData.from(iPage); } @Override @@ -142,4 +163,19 @@ QueryWrapper<JkIccard> wrapper = new QueryWrapper<>(jkIccard); return jkIccardMapper.selectCount(wrapper); } + + @Override + public void updateStatusById(JkIccard jkIccard) { + if(Objects.isNull(jkIccard) + || Objects.isNull(jkIccard.getId()) + || Objects.isNull(jkIccard.getStatus())){ + throw new BusinessException(ResponseStatus.BAD_REQUEST); + } + jkIccardMapper.update(null,new UpdateWrapper<JkIccard>() + .lambda().set(JkIccard::getStatus,jkIccard.getStatus()) + .set(JkIccard::getEditDate, DateUtil.getCurrDateTime()) + .eq(JkIccard::getId,jkIccard.getId())); + } + + } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkKeysServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkKeysServiceImpl.java index e80144f..713869d 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkKeysServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkKeysServiceImpl.java @@ -76,6 +76,7 @@ jkKeys.setEditor(loginUserInfo.getId()); jkKeys.setIsdeleted(Constants.ZERO); jkKeys.setStatus(Constants.ZERO); + jkKeys.setCarCode(cars.getCode()); jkKeysMapper.insert(jkKeys); return jkKeys.getId(); } @@ -136,6 +137,7 @@ LoginUserInfo loginUserInfo = jkKeys.getLoginUserInfo(); jkKeys.setEditDate(new Date()); jkKeys.setEditor(loginUserInfo.getId()); + jkKeys.setCarCode(cars.getCode()); jkKeysMapper.updateById(jkKeys); } diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkVersionServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkVersionServiceImpl.java index 9a360c2..7bc2a7c 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkVersionServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/JkVersionServiceImpl.java @@ -1,5 +1,14 @@ package com.doumee.service.business.impl; +import com.doumee.biz.system.SystemDictDataBiz; +import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.exception.BusinessException; +import com.doumee.core.utils.Constants; +import com.doumee.core.utils.DateUtil; +import com.doumee.dao.business.model.JkCabinet; +import com.doumee.dao.business.model.JkCabinetLog; +import com.doumee.dao.system.model.SystemUser; +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; @@ -10,11 +19,16 @@ import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.github.yulichang.wrapper.MPJLambdaWrapper; +import lombok.extern.java.Log; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; +import java.util.Date; import java.util.List; +import java.util.Objects; /** * 浜ゆ帶-閽ュ寵鏌滅粓绔増鏈俊鎭〃Service瀹炵幇 @@ -27,15 +41,39 @@ @Autowired private JkVersionMapper jkVersionMapper; + @Autowired + private SystemDictDataBiz systemDictDataBiz; + + @Override public Integer create(JkVersion jkVersion) { + if(Objects.isNull(jkVersion) + || Objects.isNull(jkVersion.getType()) + || Objects.isNull(jkVersion.getIsForce()) + || StringUtils.isBlank(jkVersion.getVersionInfo()) + || StringUtils.isBlank(jkVersion.getFileUrl()) + || Objects.isNull(jkVersion.getFileSize()) + || StringUtils.isBlank(jkVersion.getName()) + || StringUtils.isBlank(jkVersion.getContent()) + ){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED); + } + LoginUserInfo loginUserInfo = jkVersion.getLoginUserInfo(); + jkVersion.setCreateDate(new Date()); + jkVersion.setCreator(loginUserInfo.getId()); + jkVersion.setEditDate(jkVersion.getCreateDate()); + jkVersion.setEditor(jkVersion.getCreator()); + jkVersion.setIsdeleted(Constants.ZERO); jkVersionMapper.insert(jkVersion); return jkVersion.getId(); } @Override public void deleteById(Integer id) { - jkVersionMapper.deleteById(id); + jkVersionMapper.update(null,new UpdateWrapper<JkVersion>().lambda() + .set(JkVersion::getIsdeleted,Constants.ONE) + .eq(JkVersion::getId,id)); +// jkVersionMapper.deleteById(id); } @Override @@ -54,6 +92,21 @@ @Override public void updateById(JkVersion jkVersion) { + if(Objects.isNull(jkVersion) + || Objects.isNull(jkVersion.getId()) + || Objects.isNull(jkVersion.getType()) + || Objects.isNull(jkVersion.getIsForce()) + || StringUtils.isBlank(jkVersion.getVersionInfo()) + || StringUtils.isBlank(jkVersion.getFileUrl()) + || Objects.isNull(jkVersion.getFileSize()) + || StringUtils.isBlank(jkVersion.getName()) + || StringUtils.isBlank(jkVersion.getContent()) + ){ + throw new BusinessException(ResponseStatus.NOT_ALLOWED); + } + LoginUserInfo loginUserInfo = jkVersion.getLoginUserInfo(); + jkVersion.setEditDate(new Date()); + jkVersion.setEditor(loginUserInfo.getId()); jkVersionMapper.updateById(jkVersion); } @@ -67,9 +120,18 @@ } } + + + @Override public JkVersion findById(Integer id) { - return jkVersionMapper.selectById(id); + JkVersion jkVersion = jkVersionMapper.selectById(id); + if(Objects.nonNull(jkVersion)&&StringUtils.isNotBlank(jkVersion.getFileUrl())){ + 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; } @Override @@ -87,63 +149,27 @@ @Override public PageData<JkVersion> findPage(PageWrap<JkVersion> pageWrap) { IPage<JkVersion> page = new Page<>(pageWrap.getPage(), pageWrap.getCapacity()); - QueryWrapper<JkVersion> queryWrapper = new QueryWrapper<>(); Utils.MP.blankToNull(pageWrap.getModel()); - if (pageWrap.getModel().getId() != null) { - queryWrapper.lambda().eq(JkVersion::getId, pageWrap.getModel().getId()); - } - if (pageWrap.getModel().getCreator() != null) { - queryWrapper.lambda().eq(JkVersion::getCreator, pageWrap.getModel().getCreator()); - } - if (pageWrap.getModel().getCreateDate() != null) { - queryWrapper.lambda().ge(JkVersion::getCreateDate, Utils.Date.getStart(pageWrap.getModel().getCreateDate())); - queryWrapper.lambda().le(JkVersion::getCreateDate, Utils.Date.getEnd(pageWrap.getModel().getCreateDate())); - } - if (pageWrap.getModel().getEditor() != null) { - queryWrapper.lambda().eq(JkVersion::getEditor, pageWrap.getModel().getEditor()); - } - if (pageWrap.getModel().getEditDate() != null) { - queryWrapper.lambda().ge(JkVersion::getEditDate, Utils.Date.getStart(pageWrap.getModel().getEditDate())); - queryWrapper.lambda().le(JkVersion::getEditDate, Utils.Date.getEnd(pageWrap.getModel().getEditDate())); - } - if (pageWrap.getModel().getIsdeleted() != null) { - queryWrapper.lambda().eq(JkVersion::getIsdeleted, pageWrap.getModel().getIsdeleted()); - } - if (pageWrap.getModel().getInfo() != null) { - queryWrapper.lambda().eq(JkVersion::getInfo, pageWrap.getModel().getInfo()); - } - if (pageWrap.getModel().getVersionInfo() != null) { - queryWrapper.lambda().eq(JkVersion::getVersionInfo, pageWrap.getModel().getVersionInfo()); - } - if (pageWrap.getModel().getFileUrl() != null) { - queryWrapper.lambda().eq(JkVersion::getFileUrl, pageWrap.getModel().getFileUrl()); - } - if (pageWrap.getModel().getName() != null) { - queryWrapper.lambda().eq(JkVersion::getName, pageWrap.getModel().getName()); - } - if (pageWrap.getModel().getContent() != null) { - queryWrapper.lambda().eq(JkVersion::getContent, pageWrap.getModel().getContent()); - } - if (pageWrap.getModel().getSortnum() != null) { - queryWrapper.lambda().eq(JkVersion::getSortnum, pageWrap.getModel().getSortnum()); - } - if (pageWrap.getModel().getTitle() != null) { - queryWrapper.lambda().eq(JkVersion::getTitle, pageWrap.getModel().getTitle()); - } - if (pageWrap.getModel().getIsForce() != null) { - queryWrapper.lambda().eq(JkVersion::getIsForce, pageWrap.getModel().getIsForce()); - } - if (pageWrap.getModel().getType() != null) { - queryWrapper.lambda().eq(JkVersion::getType, pageWrap.getModel().getType()); - } - for(PageWrap.SortData sortData: pageWrap.getSorts()) { - if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) { - queryWrapper.orderByDesc(sortData.getProperty()); - } else { - queryWrapper.orderByAsc(sortData.getProperty()); + JkVersion model = pageWrap.getModel(); + MPJLambdaWrapper<JkVersion> wrapper = new MPJLambdaWrapper<JkVersion>() + .selectAll(JkVersion.class) + .selectAs(SystemUser::getRealname,JkVersion::getCreateUserName) + .select(" ROUND( t.file_size / 1024, 2) ", JkVersion::getFileSizeMb) + .leftJoin(SystemUser.class,SystemUser::getId,JkVersion::getCreator) + .eq(JkVersion::getIsdeleted,Constants.ZERO) + .eq(Objects.nonNull(model.getIsForce()),JkVersion::getIsForce,model.getIsForce()) + .like(StringUtils.isNotBlank(model.getVersionInfo()),JkVersion::getVersionInfo,model.getVersionInfo()) + .orderByDesc(JkVersion::getVersionInfo,JkVersion::getCreateDate) + ; + IPage<JkVersion> iPage = jkVersionMapper.selectJoinPage(page,JkVersion.class,wrapper); + String path = systemDictDataBiz.queryByCode(Constants.FTP,Constants.FTP_LOCAL_RESOURCE_PATH).getCode() + +systemDictDataBiz.queryByCode(Constants.FTP,Constants.APP_FILE).getCode(); + for (JkVersion jkVersion:iPage.getRecords()) { + if(Objects.nonNull(jkVersion)&&StringUtils.isNotBlank(jkVersion.getFileUrl())){ + jkVersion.setFullFileUrl(path + jkVersion.getFileUrl()); } } - return PageData.from(jkVersionMapper.selectPage(page, queryWrapper)); + return PageData.from(iPage); } @Override diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java index 40f62c5..01b1d19 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java @@ -96,6 +96,9 @@ private MemberJoinMapper memberJoinMapper; @Autowired + private JkCabinetMapper jkCabinetMapper; + + @Autowired private TrainTimeMapper trainTimeMapper; @Autowired @@ -1211,6 +1214,21 @@ queryWrapper.apply(" find_in_set('"+companySpecialId+"',REPLACE(t3.company_path,'/',',')) "); } } + if(null != member.getQueryAuth() && Constants.equalsInteger(member.getQueryAuth(),Constants.ONE)){ + List<JkCabinet> jkCabinets = jkCabinetMapper.selectList(new QueryWrapper<JkCabinet>().lambda() + .eq(JkCabinet::getIsdeleted,Constants.ZERO) + .isNotNull(JkCabinet::getAuthMemberId) + ); + if(CollectionUtils.isNotEmpty(jkCabinets)){ + List<String> memberIdList = new ArrayList<>(); + List<String> authMemberId = jkCabinets.stream().map(i->i.getAuthMemberId()).collect(Collectors.toList()); + for (String s:authMemberId) { + memberIdList.addAll(Arrays.asList(s.split(","))) ; + } + queryWrapper.in(Member::getId,memberIdList); + } + + } queryWrapper.eq(Member::getIsdeleted,Constants.ZERO); queryWrapper.eq(Member::getWorkStatus,Constants.ZERO); queryWrapper.orderByAsc(Member::getPinyin); diff --git a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java index 6b7263d..1ea06ee 100644 --- a/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java +++ b/server/visits/dmvisit_service/src/main/java/com/doumee/service/business/impl/WarningServiceImpl.java @@ -1,38 +1,69 @@ package com.doumee.service.business.impl; +import com.alibaba.fastjson.JSON; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.core.constants.ResponseStatus; +import com.doumee.core.dingTalk.DingTalk; import com.doumee.core.exception.BusinessException; import com.doumee.core.utils.Constants; -import com.doumee.dao.business.model.Category; -import com.doumee.dao.business.model.PlatformGroup; +import com.doumee.core.utils.DateUtil; +import com.doumee.core.utils.WeatherUtil; +import com.doumee.dao.business.*; +import com.doumee.dao.business.dao.MemberMapper; +import com.doumee.dao.business.model.*; 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.WarningMapper; -import com.doumee.dao.business.model.Warning; import com.doumee.service.business.WarningService; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.util.CollectionUtils; -import java.util.Date; -import java.util.List; +import java.util.*; +import java.util.stream.Collectors; /** * 鎶ヨ璁板綍淇℃伅琛⊿ervice瀹炵幇 * @author 姹熻箘韫� * @date 2025/09/28 09:01 */ +@Slf4j @Service public class WarningServiceImpl implements WarningService { @Autowired private WarningMapper warningMapper; + + @Autowired + private WarningRuleMapper warningRuleMapper; + + @Autowired + private WarningRuleDetailMapper warningRuleDetailMapper; + + @Autowired + private WarningPushMapper warningPushMapper; + + @Autowired + private WarningEventMapper warningEventMapper; + + @Autowired + private DingTalk dingTalk; + + @Autowired + private MemberMapper memberMapper; + + @Autowired + private SystemDictDataBiz systemDictDataBiz; + @Override public Integer create(Warning warning) { @@ -213,4 +244,107 @@ model.setEditor(param.getLoginUserInfo().getId()); warningMapper.updateById(model); } + + + /** + * 瀹氭椂鑾峰彇澶╂皵淇℃伅鎵ц + */ + @Override + public void getWeatherInfo(){ + try{ + String response = WeatherUtil.getWeatherWarningInfo(systemDictDataBiz.queryByCode(Constants.WEATHER_CONFIG,Constants.REQUEST_URL).getCode(), + systemDictDataBiz.queryByCode(Constants.WEATHER_CONFIG,Constants.API_KEY).getCode(), + systemDictDataBiz.queryByCode(Constants.WEATHER_CONFIG,Constants.LOCATION).getCode()); + if(StringUtils.isBlank(response)){ + log.error("鏃犺繑鍥炴暟鎹�"); + } + JSONObject jsonObject = JSONObject.parseObject(response); + if(jsonObject.getString("code").equals("200")){ + if(jsonObject.containsKey("warning")){ + Warning warning = warningMapper.selectOne(new QueryWrapper<Warning>().lambda() + .eq(Warning::getType,Constants.FOUR).eq(Warning::getIsdeleted,Constants.ZERO).last("limt 1")); + if(Objects.isNull(warning)){ + return; + } + //鏌ヨ閫氱煡浜哄憳 + List<WarningRule> warningRuleList = warningRuleMapper.selectList(new QueryWrapper<WarningRule>().lambda() + .eq(WarningRule::getIsdeleted,Constants.ZERO) + .apply(" id in ( select w.RULE_ID from warning_rule_detail w where w.WARNING_ID = '"+warning.getId()+"' and w.ISDELETED = 0 ) ") + ); + List<Member> memberList = new ArrayList<>(); + if(org.apache.commons.collections.CollectionUtils.isNotEmpty(warningRuleList)){ + List<String> memberIdStr = warningRuleList.stream().map(i->i.getMemberIds()).collect(Collectors.toList()); + if(org.apache.commons.collections.CollectionUtils.isNotEmpty(memberIdStr)){ + List<String> memberIdList = new ArrayList<>(); + for (String s:memberIdStr) { + memberIdList.addAll( + Arrays.asList(s.split(",")) + ); + } + memberList = memberMapper.selectList(new QueryWrapper<Member>().lambda().eq(Member::getIsdeleted,Constants.ZERO) + .notIn(Member::getErpId) + .in(Member::getId,memberIdList) + ); + } + } + JSONArray jsonArray = jsonObject.getJSONArray("warning"); + for (int i = 0; i < jsonArray.size(); i++) { + List<WarningPush> warningPushList = new ArrayList<>(); + JSONObject weatherInfo = jsonArray.getJSONObject(i); + String code = weatherInfo.getString("id"); + String title = weatherInfo.getString("title"); + String text = weatherInfo.getString("text"); + //瀛樺湪棰勮 鍒欏瓨鍌ㄩ璀︿俊鎭� + if(warningEventMapper.selectCount(new QueryWrapper<WarningEvent>() + .lambda() + .eq(WarningEvent::getEventId,code) + )>Constants.ZERO){ + continue; + } + + WarningEvent warningEvent = new WarningEvent(); + warningEvent.setCreateDate(new Date()); + warningEvent.setIsdeleted(Constants.ZERO); + warningEvent.setWarningId(warning.getId()); + warningEvent.setTitle(title); + warningEvent.setContent(text); + warningEvent.setEventId(code); + warningEvent.setHappenTime(DateUtil.getCurrDateTime()); + warningEvent.setJsonContent(weatherInfo.toJSONString()); + warningEventMapper.insert(warningEvent); + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(memberList)&&memberList.size()>Constants.ZERO){ + List<String> ddUserIdList = memberList.stream().map(j->j.getErpId()).collect(Collectors.toList()); + //鍙戦�佹帹閫侀拤閽夋秷鎭� + Boolean isSuccess = dingTalk.workInfoOANotice(Long.valueOf(systemDictDataBiz.queryByCode(Constants.DD_TALK,Constants.AGENT_ID).getCode()), + String.join(",",ddUserIdList), + dingTalk.getWeatherNoticeMsg(title,text)); + for (Member member:memberList) { + WarningPush warningPush = new WarningPush(); + warningPush.setCreateDate(new Date()); + warningPush.setWarningId(warning.getId()); + warningPush.setTitle(warningEvent.getTitle()); + warningPush.setContent(warningEvent.getContent()); + warningPush.setStatus(isSuccess?Constants.ONE:Constants.TWO); + warningPush.setPushType(Constants.ZERO); + warningPush.setMemberId(member.getId()); + warningPushList.add(warningPush); + } + } + if(com.github.xiaoymin.knife4j.core.util.CollectionUtils.isNotEmpty(warningPushList)){ + warningPushMapper.insert(warningPushList); + } + } + } + } + }catch (Exception e){ + + } + + + + + } + + + } -- Gitblit v1.9.3