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 | 168 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 166 insertions(+), 2 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 9118d7a..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,32 +1,52 @@ 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.*; import com.doumee.core.haikang.model.param.request.event.acs.EventAcsRequest; import com.doumee.core.haikang.model.param.request.event.parks.EventParkRequest; +import com.doumee.core.haikang.model.param.request.event.parks.EventPlatformCarsRequest; +import com.doumee.core.haikang.model.param.request.event.parks.EventPlatformRequest; 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.model.ApiResponse; +import com.doumee.core.haikang.service.HKService; +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 org.apache.shiro.authz.annotation.RequiresPermissions; +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 javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.BufferedReader; +import java.util.*; +import java.util.concurrent.TimeUnit; + /** * @author 姹熻箘韫� * @date 2023/11/30 15:33 */ @Api(tags = "娴峰悍鏁版嵁鍚屾鎺ュ彛") @RestController +@Slf4j @RequestMapping(Constants.CLOUD_SERVICE_URL_INDEX+"/business/hksync") public class HkSyncCloudController extends BaseController { @@ -41,7 +61,23 @@ @Autowired private HkSyncPushServiceImpl hkSyncPushService; @Autowired + private HkSyncOrgUserToHKServiceImpl hkSyncOrgUserToHKService; + @Autowired + private HkSyncNoticeServiceImpl hkSyncNoticeService; + @Autowired private HkSyncLoginAuthServiceImpl hkSyncLoginAuthService; + + @Autowired + private SystemDictDataBiz systemDictDataBiz; + @Autowired + private DeviceService deviceService; + + @Autowired + private RedisTemplate<String,Object> redisTemplate; + + @Autowired + private JwtProperties jwtProperties; + @PreventRepeat @ApiOperation("銆愭捣搴枫�戝叏閲忓悓姝ユ湀鍙颁俊鎭帴鍙�") @PostMapping("/syncPlatforms") @@ -73,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 @@ -122,6 +173,22 @@ String result = hkSyncPushService.dealVisitEventIccm(param,response); return ApiResponse.success(result); } + @ApiOperation("銆愭捣搴枫�戞祴璇昄ED鏄剧ず灞�") + @PostMapping("/testLed") + @LoginNoRequired + public ApiResponse<BaseResponse> testLed(@RequestBody TransparentChannelBodyRequest request, HttpServletResponse response) { + TransparentChannelHeadRequest head = new TransparentChannelHeadRequest(); + head.setAbility("cld");//鍥哄畾鍊� + head.setTreatyType("haixuan_led_net");//鍥哄畾鍊� + head.setDeviceIndexCode("6a5498e9df924befbb9530e467e5e809"); + return ApiResponse.success(HKService.transparentchannel(head,request)); + } + @ApiOperation("銆愭捣搴枫�戞祴璇曞箍鎾挱鎶�") + @PostMapping("/testBroadcast") + @LoginNoRequired + public ApiResponse<BaseResponse> testBroadcast(@RequestBody CustomBroadcastRequest request, HttpServletResponse response) { + return ApiResponse.success( HKService.customBroadcast(request)); + } // @PreventRepeat @ApiOperation("銆愭捣搴枫�戝仠杞﹀満浜嬩欢璁㈤槄鎺ㄩ�佸鎺ュ鐞嗘帴鍙�") @PostMapping("/push/parks") @@ -129,6 +196,45 @@ public ApiResponse pushParks(@RequestBody EventParkRequest param, HttpServletResponse response ){ String result = hkSyncPushService.dealParkEvent(param,response); return ApiResponse.success(result); + } + @ApiOperation("銆愭捣搴枫�戞湀鍙板伐浣滅姸鎬佷簨浠惰闃呮帹閫佸鎺ュ鐞嗘帴鍙�") + @PostMapping("/push/platform/workstatus") + @LoginNoRequired + public ApiResponse pushPlatformStatus(@RequestBody EventPlatformRequest param, HttpServletResponse response ){ + String result = hkSyncPushService.dealPlatformStatusEvent(param,response); + return ApiResponse.success(result); + } + @ApiOperation("銆愭捣搴枫�戞湀鍙拌溅杈嗙姸鎬佷簨浠惰闃呮帹閫佸鎺ュ鐞嗘帴鍙�") + @PostMapping("/push/platform/carstatus") + @LoginNoRequired + public ApiResponse pushPlatformCarStatus(@RequestBody EventPlatformCarsRequest param, HttpServletResponse response ){ + String result = hkSyncPushService.dealPlatformCarsEvent(param,response); + return ApiResponse.success(result); + } + @ApiOperation("銆愭捣搴穞est銆戞湀鍙拌溅杈嗙姸鎬佷簨浠惰闃呮帹閫佸鎺ュ鐞嗘帴鍙�") + @PostMapping("/push/platform/carstatusTest") + @LoginNoRequired + public ApiResponse pushPlatformCarStatus(HttpServletRequest request, HttpServletResponse response ){ + doPringParam(request,"銆愭捣搴穞est銆戞湀鍙拌溅杈嗙姸鎬佷簨浠惰闃呮帹閫佸鎺ュ鐞嗘帴鍙�:\n"); + return ApiResponse.success(null); + } + public void doPringParam(HttpServletRequest request,String name) { + try { + StringBuilder data =new StringBuilder(); + String line; + BufferedReader reader =request.getReader(); + while(null !=(line = reader.readLine())) { + data.append(line); + } + if(StringUtils.isNotBlank( data.toString())){ + log.info(name+"=================鍙傛暟锛�"+ data.toString()); + }else { + log.info(name+"=================锛氬弬鏁颁负绌�"); + } + }catch (Exception e){ + + log.info(name+"================= 鍙傛暟寮傚父锛�"+e.getMessage()); + } } @PreventRepeat @ApiOperation("銆愭捣搴枫�戝彇娑堣闃呬簨浠�") @@ -138,4 +244,62 @@ hkSyncPushService.cancelEventSub(); return ApiResponse.success(null); } + + /** + * 鑾峰彇瀹夐槻骞冲彴绯荤粺鍏嶅瘑鑿滃崟璋冩暣鍦板潃 + * @return + */ + @ApiOperation(value = "鑾峰彇瀹夐槻骞冲彴绯荤粺鍏嶅瘑鑿滃崟璋冩暣鍦板潃" ) + @PostMapping("/getHkMenuLink/{type}") + @ApiImplicitParams({ + @ApiImplicitParam(paramType = "query", dataType = "Integer", name = "type",example = "0",value = "鑿滃崟绫诲瀷", required = true), + }) + 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()) + + 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) { + deviceService.setLedContent(body); + return ApiResponse.success(null); + } + } -- Gitblit v1.9.3