package com.gx.obe.server.management.scancode.controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import com.gx.obe.server.common.cache.Group; import com.gx.obe.server.common.cache.GroupCacheFactory; import com.gx.obe.server.management.scancode.entity.CodeTypeEnum; import com.gx.obe.server.management.scancode.entity.QRCodeDetail; import com.gx.obe.server.management.scancode.entity.RequestHeader; import com.gx.obe.server.management.scancode.entity.ScanCodeRequest; import com.gx.obe.server.management.scancode.entity.ScanCodeStatusRequest; import com.gx.obe.server.management.scancode.entity.ScanCodeUserInfo; import com.gx.obe.server.management.scancode.entity.ScanedStatusEnum; import com.gx.obe.server.management.scancode.entity.SetSignHashInfo; import com.gx.obe.server.management.scancode.entity.SignatureValueInfo; import com.gx.obe.server.management.scancode.service.ScanCodeService; import lombok.AllArgsConstructor; @RestController @AllArgsConstructor @RequestMapping("/scancode") public class ScanCodeController { @Autowired private ScanCodeService scanCodeService; @Autowired private GroupCacheFactory groupCacheFactory; /** * @Description: 向app发送数据 * @author mazc * @param codeDetail * @return */ @PostMapping("/setQRCodeDetailToAppServer") public Boolean setQRCodeDetailToAppServer(@RequestBody QRCodeDetail codeDetail) { return scanCodeService.setQRCodeDetailToAppServer(codeDetail); } /** * @Description: 接受app数据 * @author mazc * @param type * @param data * @return */ @PostMapping("/receiveAppScanData") public ScanCodeRequest receiveAppScanData (String type ,String data) { return scanCodeService.receiveAppScanData(type, data); } @GetMapping("/getQRCodeIsScanedStatus") public ScanCodeRequest getQRCodeIsScanedStatus(String tid) { Group group = groupCacheFactory.group(CodeTypeEnum.SCAN_CODE_LOGIN); ScanCodeStatusRequest scanCodeStatusRequest = (ScanCodeStatusRequest) group.getValue(tid); if(scanCodeStatusRequest != null) { group.delete(tid); if(ScanedStatusEnum.SCANNED.equals(scanCodeStatusRequest.getIsScaned())) { return new ScanCodeRequest(true,new RequestHeader("扫码完成",RequestHeader.SUCCESS)); } } return new ScanCodeRequest(false,new RequestHeader("",RequestHeader.FAIL)); } @GetMapping("/getScanCodeUserInfo") public ScanCodeRequest getScanCodeUserInfo(String tid) { Group group = groupCacheFactory.group(CodeTypeEnum.SCAN_CODE_USER_INFO); ScanCodeUserInfo scanCodeUserInfo = (ScanCodeUserInfo) group.getValue(tid); if(scanCodeUserInfo != null) { group.delete(tid); return new ScanCodeRequest(scanCodeUserInfo,new RequestHeader("扫码完成",RequestHeader.SUCCESS)); } return new ScanCodeRequest(null,new RequestHeader("未获取到",RequestHeader.FAIL)); } @GetMapping("/getSignatureValue") public ScanCodeRequest getSignatureValue(String tid) { Group group = groupCacheFactory.group(CodeTypeEnum.SIGNATURE_VALUE_INFO); SignatureValueInfo scanCodeUserInfo = (SignatureValueInfo) group.getValue(tid); if(scanCodeUserInfo != null) { group.delete(tid); return new ScanCodeRequest(scanCodeUserInfo,new RequestHeader("扫码完成",RequestHeader.SUCCESS)); } return new ScanCodeRequest(null,new RequestHeader("未获取到",RequestHeader.FAIL)); } @GetMapping("/getSignaturePublicKeyValue") public ScanCodeRequest getSignaturePublicKeyValue(String tid) { Group group = groupCacheFactory.group(CodeTypeEnum.SIGNATURE_PUBLIC_KEY_INFO); SignatureValueInfo scanCodeUserInfo = (SignatureValueInfo) group.getValue(tid); if(scanCodeUserInfo != null) { group.delete(tid); return new ScanCodeRequest(scanCodeUserInfo,new RequestHeader("扫码完成",RequestHeader.SUCCESS)); } return new ScanCodeRequest(null,new RequestHeader("未获取到",RequestHeader.FAIL)); } @GetMapping("/getBathSignatureValue") public ScanCodeRequest getBathSignatureValue(String tid) { Group group = groupCacheFactory.group(CodeTypeEnum.SIGNATURE_BATHVALUE_INFO); SignatureValueInfo scanCodeUserInfo = (SignatureValueInfo) group.getValue(tid); if(scanCodeUserInfo != null) { group.delete(tid); return new ScanCodeRequest(scanCodeUserInfo,new RequestHeader("扫码完成",RequestHeader.SUCCESS)); } return new ScanCodeRequest(null,new RequestHeader("未获取到",RequestHeader.FAIL)); } @GetMapping("/getSealImageListInfo") public String getSealImageListInfo(String tid ,String idCard,String accessTokenJSON) { return scanCodeService.getSealImageListInfo(tid, idCard, accessTokenJSON); } @PostMapping("/setSignHashInfo") public String setSignHashInfo(@RequestBody SetSignHashInfo setSignHashInfo) { return scanCodeService.setSignHashInfo(setSignHashInfo); } }