From 7298d5354963a88643a543b51b90192dc9fc934c Mon Sep 17 00:00:00 2001 From: doum <doum> Date: 星期四, 11 九月 2025 18:43:14 +0800 Subject: [PATCH] 最新版本541200007 --- server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java | 73 +++++++++++++++++++++++++++++++----- 1 files changed, 62 insertions(+), 11 deletions(-) diff --git a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java index 00bda8d..db3b2b7 100644 --- a/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java +++ b/server/visits/dmvisit_admin/src/main/java/com/doumee/cloud/admin/HkSyncCloudController.java @@ -1,9 +1,11 @@ package com.doumee.cloud.admin; +import com.alibaba.fastjson.JSONObject; import com.doumee.api.BaseController; import com.doumee.biz.system.SystemDictDataBiz; import com.doumee.config.annotation.CloudRequiredPermission; import com.doumee.config.annotation.LoginNoRequired; +import com.doumee.config.jwt.JwtProperties; import com.doumee.core.annotation.pr.PreventRepeat; import com.doumee.core.haikang.model.param.BaseResponse; import com.doumee.core.haikang.model.param.request.*; @@ -14,20 +16,20 @@ import com.doumee.core.haikang.model.param.request.event.visit.EventVisitIccmRequest; import com.doumee.core.haikang.model.param.request.event.visit.EventVisitRequest; import com.doumee.core.haikang.service.HKService; -import com.doumee.core.model.ApiResponse; -import com.doumee.core.model.LoginUserInfo; +import com.doumee.service.business.third.model.ApiResponse; +import com.doumee.service.business.third.model.LoginUserInfo; import com.doumee.core.utils.Constants; import com.doumee.core.utils.DESUtil; import com.doumee.dao.business.model.Device; import com.doumee.service.business.DeviceService; import com.doumee.service.business.impl.hksync.*; +import com.doumee.service.business.impl.hksync.ferp.HkSyncOrgUserToHKServiceImpl; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.apache.shiro.authz.annotation.RequiresPermissions; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.redis.core.RedisTemplate; import org.springframework.web.bind.annotation.*; @@ -35,10 +37,8 @@ import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.io.BufferedReader; -import java.util.ArrayList; -import java.util.HashMap; -import java.util.List; -import java.util.Map; +import java.util.*; +import java.util.concurrent.TimeUnit; /** * @author 姹熻箘韫� @@ -61,6 +61,10 @@ @Autowired private HkSyncPushServiceImpl hkSyncPushService; @Autowired + private HkSyncOrgUserToHKServiceImpl hkSyncOrgUserToHKService; + @Autowired + private HkSyncNoticeServiceImpl hkSyncNoticeService; + @Autowired private HkSyncLoginAuthServiceImpl hkSyncLoginAuthService; @Autowired @@ -71,6 +75,8 @@ @Autowired private RedisTemplate<String,Object> redisTemplate; + @Autowired + private JwtProperties jwtProperties; @PreventRepeat @ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ユ湀鍙颁俊鎭帴鍙�") @@ -103,6 +109,21 @@ //鍚屾骞挎挱 result = hkSyncDeviceService.syncHkBroadcast(param); } + return ApiResponse.success(result); + } + @PreventRepeat + @ApiOperation("銆愭捣搴枫�戜繚瀛樻捣搴风敤鎴风粦瀹歰penid") + @PostMapping("/saveHkUserOpenid") + public ApiResponse syncHkUserOpenid( @RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + String result = hkSyncOrgUserToHKService.syncHkUserOpenid(this.getLoginUser(token).getId()); + return ApiResponse.success(result); + } + @PreventRepeat + @ApiOperation("銆愭捣搴枫�戞竻绌烘捣搴风敤鎴风粦瀹歰penid") + @PostMapping("/delHkUserOpenid") + @LoginNoRequired + public ApiResponse delHkUserOpenid( @RequestBody UserOpenidSaveRequest param){ + String result = hkSyncOrgUserToHKService.delHkUserOpenid(param); return ApiResponse.success(result); } @PreventRepeat @@ -229,21 +250,51 @@ * @return */ @ApiOperation(value = "鑾峰彇瀹夐槻骞冲彴绯荤粺鍏嶅瘑鑿滃崟璋冩暣鍦板潃" ) - @GetMapping("/getHkMenuLink") + @PostMapping("/getHkMenuLink/{type}") @ApiImplicitParams({ @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type",example = "0",value = "鑿滃崟绫诲瀷", required = true), }) - public ApiResponse<String> getHkMenuLink(Integer type,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + public ApiResponse<String> getHkMenuLink(@PathVariable Integer type,@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ LoginUserInfo loginUserInfo = this.getLoginUser(token); String hkToken = DESUtil.generateTokenToHk(loginUserInfo.getUsername(),Integer.valueOf( systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_TOKEN_VALIDITY).getCode() ),redisTemplate); - String url = systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_HTTPS).getCode() + - systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_HOST).getCode() + String url = (systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_HTTPS).getCode() + + systemDictDataBiz.queryByCode(Constants.HK_PARAM,Constants.HK_HOST).getCode()) + HKService.getMenuUrl(type,hkToken); + try { + if(redisTemplate!=null&& jwtProperties!=null){ + loginUserInfo.setHkMenuToken(hkToken); + redisTemplate.opsForValue().set(Constants.REDIS_TOKEN_KEY+token, JSONObject.toJSONString(loginUserInfo),jwtProperties.getExpiration(), TimeUnit.MILLISECONDS); + } + }catch (Exception e){ + e.printStackTrace(); + } + return ApiResponse.success( url); } + @ApiOperation(value = "鑾峰彇瀹夐槻骞冲彴绯荤粺鍏嶅瘑鑿滃崟閰嶇疆" ) + @GetMapping("/getHkMenuConfig") + public ApiResponse<List<Integer>> getHkMenuConfig(@RequestHeader(Constants.HEADER_USER_TOKEN) String token){ + LoginUserInfo loginUserInfo = getLoginUser(token); + List<Integer> menuConfigList = new ArrayList<>(); + if(Objects.nonNull(loginUserInfo) && StringUtils.isNotBlank(loginUserInfo.getUsername())){ + menuConfigList = hkSyncPlatformsService.getMenuConfig(loginUserInfo.getUsername()); + } + return ApiResponse.success(menuConfigList); + } + + + @ApiOperation("銆愭捣搴枫�戜唬鍔炴秷鎭暟鎹泦鍚堝鎺ュ鐞嗘帴鍙�") + @PostMapping("/notice/getList") + public ApiResponse getNoticeList( HttpServletResponse response,@RequestHeader(Constants.HEADER_USER_TOKEN) String token ){ + String result = hkSyncNoticeService.syncHkNotices(this.getLoginUser(token).getUsername()); + return ApiResponse.success(result); + } + + + @ApiOperation("銆愭捣搴枫�戣缃甃ED灞忔枃妗�") @PostMapping("/setLedContent") public ApiResponse<List<Map<String,Object>>> setLedContent(@RequestBody TransparentChannelSingleRequest body , HttpServletResponse response) { -- Gitblit v1.9.3