Commit c997214d authored by kang.nie@inzymeits.com's avatar kang.nie@inzymeits.com
Browse files

初始化代码

parent 741c2feb
Pipeline #3107 failed with stages
in 0 seconds
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.service.INewVinCardService;
import com.cusc.nirvana.user.rnr.fp.dto.*;
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 javax.annotation.Resource;
/**
* @author stayAnd
* @date 2022/5/16
*/
@RestController
@RequestMapping("/newVinCard")
public class NewVinCardController {
@Resource
private INewVinCardService vinCardService;
@RequestMapping("/queryUnBindCardByVin")
public Response<VinCardResultDTO> queryUnBindCardByVin(@RequestBody VinCardQueryDTO queryDTO){
return vinCardService.queryUnBindCardByVin(queryDTO);
}
@RequestMapping("/queryBindCardByVin")
public Response<VinCardResultDTO> queryBindCardByVin(@RequestBody VinCardQueryDTO queryDTO){
return Response.createSuccess(vinCardService.queryBindCardByVin(queryDTO));
}
@RequestMapping("/checkVinCard")
public Response<VinCardCheckResultDTO> checkVinCard(@RequestBody VinCardCheckDTO vinCardCheckDTO){
return Response.createSuccess(vinCardService.checkVinCard(vinCardCheckDTO));
}
@PostMapping("/checkVin")
public Response<VinCheckResultDTO> checkVin(@RequestBody VinCheckRequestDTO requestDTO){
return Response.createSuccess(vinCardService.checkVin(requestDTO));
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.constants.ResponseCode;
import com.cusc.nirvana.user.rnr.fp.client.OcrClient;
import com.cusc.nirvana.user.rnr.fp.dto.OcrNpReqDTO;
import com.cusc.nirvana.user.rnr.fp.dto.OcrNpRespDTO;
import com.cusc.nirvana.user.util.CuscStringUtils;
import io.swagger.annotations.ApiOperation;
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 javax.annotation.Resource;
/**
* 光伏识别控制层
*
* @author yuy336
* @since 2022-01-26 11:17:21
*/
@RestController
@RequestMapping("/ocr")
public class OcrController {
@Resource
private OcrClient ocrClient;
/**
* 自然人身份证光符识别
*
* @param bean 筛选条件
* @return 查询结果
*/
@PostMapping("/idCard")
@ApiOperation(value = "自然人身份证光符识别", notes = "自然人身份证光符识别")
public Response<OcrNpRespDTO> idCard(@RequestBody OcrNpReqDTO bean) {
if(CuscStringUtils.isEmpty(bean.getOcrPic())){
return Response.createError(ResponseCode.PARAMETER_NULL.getMsg(),ResponseCode.PARAMETER_NULL.getCode());
}
bean.setSerialNumber(CuscStringUtils.generateUuid());
return ocrClient.ocr(bean);
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.dto.OrderDetailsResponse;
import com.cusc.nirvana.user.rnr.enterprise.dto.QueryOrderDetailRequest;
import com.cusc.nirvana.user.rnr.enterprise.service.IOrderMgrService;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import org.springframework.validation.annotation.Validated;
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 javax.annotation.Resource;
/**
* 管理后台入口
*
* @author lig131
* @date 2022/4/25
*/
@Slf4j
@RestController
@RequestMapping("/orderMgr")
public class OrderMgrController {
@Resource
private IOrderMgrService orderMgrService;
@PostMapping("/queryOrderDetail")
public Response queryOrderDetail(@Validated @RequestBody QueryOrderDetailRequest request) {
if (request == null || StringUtils.isBlank(request.getOrderUuid())) {
return Response.createError("参数[orderUuid]为空");
}
try {
OrderDetailsResponse orderDetail = orderMgrService.queryOrderDetail(request.getOrderUuid());
return Response.createSuccess(orderDetail);
} catch (Exception e) {
log.error("queryOrderDetail error:", e);
return Response.createError("error:" + e.getMessage());
}
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.alibaba.fastjson.JSONObject;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.eiam.dto.UserDTO;
import com.cusc.nirvana.user.rnr.enterprise.common.SysModuleEnum;
import com.cusc.nirvana.user.rnr.enterprise.config.SysLog;
import com.cusc.nirvana.user.rnr.enterprise.constants.OrganBizzTypeEnum;
import com.cusc.nirvana.user.rnr.enterprise.dto.*;
import com.cusc.nirvana.user.rnr.enterprise.service.IOrganService;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.aspectj.weaver.Lint;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.w3c.dom.stylesheets.LinkStyle;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
/**
* Description: B端组织管理控制层
* <br />
* CreateDate 2022-05-19 16:14:06
*
* @author yuyi
**/
@RestController
@RequestMapping("/organ")
@ApiModel("B端组织管理控制层")
@Slf4j
public class OrganController {
@Resource
private IOrganService organService;
@ApiOperation("创建车企组织")
@PostMapping("/create")
@SysLog(sysModule = SysModuleEnum.ADD_ORGAN)
public Response createCarOrgan(@Validated @RequestBody OrganDTO bean){
log.warn("创建车企组织入参{}", JSONObject.toJSONString(bean));
organService.add(bean);
return Response.createSuccess();
}
@ApiOperation("查询车企组织")
@PostMapping("/pageList")
public Response<PageResult<OrganDTO>> queryPage(@RequestBody OrganPageDTO bean){
log.warn("查询车企组织入参{}", JSONObject.toJSONString(bean));
return Response.createSuccess(organService.page(bean));
}
@ApiOperation("更新车企组织")
@PostMapping("/update")
@SysLog(sysModule = SysModuleEnum.UPDATE_ORGAN)
public Response update(@Validated @RequestBody UpdateOrganDTO bean){
log.warn("更新车企组织入参{}", JSONObject.toJSONString(bean));
organService.update(bean);
return Response.createSuccess();
}
@ApiOperation("变更管理员")
@PostMapping("/changeAdmin")
public Response changeAdmin(@Validated @RequestBody OrganChangeAdminDto dto){
log.warn("变更管理员入参{}", JSONObject.toJSONString(dto));
organService.changeAdmin(dto);
return Response.createSuccess();
}
@ApiOperation("用户账号列表")
@PostMapping("/queryUserAccount")
public Response<List<UserAccountDTO>> queryUserAccount(@Validated @RequestBody OrganUserAccountDTO dto){
log.warn("用户账号列表入参{}", JSONObject.toJSONString(dto));
return Response.createSuccess(organService.queryUserAccount(dto));
}
@ApiOperation("组织类型")
@PostMapping("/queryOrganType")
public Response queryOrganType(){
OrganBizzTypeEnum[] organBizzTypeEnums = OrganBizzTypeEnum.getEnumByCodeMap();
List<OrganBizTypeDTO> organBizTypeDTOS= new ArrayList<>();
for(OrganBizzTypeEnum organBizzTypeEnum : organBizzTypeEnums){
OrganBizTypeDTO organBizTypeDTO= new OrganBizTypeDTO();
organBizTypeDTO.setCode(organBizzTypeEnum.getCode());
organBizTypeDTO.setName(organBizzTypeEnum.getName());
organBizTypeDTOS.add(organBizTypeDTO);
}
return Response.createSuccess(organBizTypeDTOS);
}
@GetMapping("/queryCurrentSubOrgList")
public Response<List<OrganDTO>> queryCurrentSubOrgList(){
return Response.createSuccess(organService.queryCurrentSubOrgList());
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.common.SysModuleEnum;
import com.cusc.nirvana.user.rnr.enterprise.config.SysLog;
import com.cusc.nirvana.user.rnr.enterprise.dto.PersonalRnrDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.PersonalRnrRequestDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.PersonalRnrResponseDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.VinDTO;
import com.cusc.nirvana.user.rnr.enterprise.service.IPersonalRnrService;
import com.cusc.nirvana.user.rnr.fp.dto.IccidListDTO;
import com.cusc.nirvana.user.rnr.fp.dto.LivenessCodeResponseDTO;
import com.cusc.nirvana.user.rnr.fp.dto.VinCardInfoDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import javax.validation.Valid;
/**
* 自然人实名认证控制层
*
* @author huchenhui
* @date 2022-04-14
*/
@RestController
@RequestMapping("/personalRnr")
@Api(value = "自然人实名认证", tags = "自然人实名认证")
public class PersonalRnrController {
@Resource
private IPersonalRnrService personalRnrService;
/**
* 获取活体认证code
*/
@ApiOperation(value = "获取活体认证code", notes = "获取活体认证code")
@GetMapping("/getLivenessCode")
public Response<LivenessCodeResponseDTO> getLivenessCode() {
return personalRnrService.getLivenessCode();
}
/**
* 通过VIN查询ICCID集合
*/
@ApiOperation(value = "通过VIN查询ICCID集合", notes = "通过VIN查询ICCID集合")
@PostMapping("/getIccidListByVin")
public Response<IccidListDTO> getIccidListByVin(@RequestBody VinDTO vinDTO) {
return personalRnrService.getIccidListByVin(vinDTO);
}
/**
* 验证车卡信息
*/
@ApiOperation(value = "验证车卡信息", notes = "验证车卡信息")
@PostMapping("/verifyVinCards")
public Response<PersonalRnrResponseDTO> verifyVinCards(@Valid @RequestBody VinCardInfoDTO requestDTO) {
return personalRnrService.verifyVinCards(requestDTO);
}
/**
* 提交自然人实名认证
*/
@ApiOperation(value = "提交自然人实名认证", notes = "提交自然人实名认证")
@PostMapping("/submitRnr")
@SysLog(sysModule = SysModuleEnum.PERSON_WEB_RNR)
public Response<PersonalRnrDTO> submitRnr(@Valid @RequestBody PersonalRnrRequestDTO requestDTO) {
return personalRnrService.submitRnr(requestDTO);
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.common.SysModuleEnum;
import com.cusc.nirvana.user.rnr.enterprise.config.SysLog;
import com.cusc.nirvana.user.rnr.enterprise.dto.*;
import com.cusc.nirvana.user.rnr.enterprise.service.IPersonalRnrService;
import com.cusc.nirvana.user.rnr.fp.dto.H5ValidationOCRReqDTO;
import com.cusc.nirvana.user.rnr.fp.dto.RnrResponseDTO;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiResponse;
import io.swagger.annotations.ApiResponses;
import org.springframework.http.MediaType;
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.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.servlet.ModelAndView;
import javax.annotation.Resource;
import javax.validation.Valid;
/**
* H5自然人实名认证
*
* @author huchenhui
* @date 2022-04-14
*/
@RestController
@RequestMapping("/personalRnr/h5")
@Api(value = "H5自然人实名认证", tags = "H5自然人实名认证")
public class PersonalRnrH5Controller {
@Resource
private IPersonalRnrService personalRnrService;
/**
* h5自然人实名认证
*/
@ApiOperation(value = "提交自然人实名认证", notes = "提交自然人实名认证")
@PostMapping("/submitRnr")
@SysLog(sysModule = SysModuleEnum.PERSON_H5_RNR)
public Response<PersonalRnrH5RespDTO> submitRnr(@Valid @RequestBody PersonalRnrH5ReqDTO bean) {
//本接口只入库不做实名,入库时 RnrOrderStatusEnum.COMMIT ,工单类型为:RnrOrderType.NEW_VEHICLE,RnrOrderSourceEnum.H5
return Response.createSuccess(personalRnrService.submitRnrH5(bean));
}
/**
* h5验证身份证信息
* @param bean
* @return
*/
@PostMapping("/h5ValidationOCR")
public Response<RnrResponseDTO> h5ValidationOCR(@Valid @RequestBody H5ValidationOCRReqDTO bean) {
return personalRnrService.h5ValidationOCR(bean);
}
/**
* 活体检测结果回调
*/
@ApiOperation(value = "活体检测结果回调", notes = "活体检测结果回调")
@ApiResponses(value = {@ApiResponse(code = 200, message = "操作成功返回数据类型", response = Response.class)})
@RequestMapping(value = "/livenessCallback", method = RequestMethod.POST, produces = MediaType.APPLICATION_JSON_UTF8_VALUE)
public Response<PersonalRnrH5CallBackRespDTO> afreshLivenessUrl(@Valid @RequestBody LivenessCallbackReqDTO bean) {
return Response.createSuccess(personalRnrService.afreshLivenessUrl(bean));
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.alibaba.fastjson.JSONObject;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.auth.authentication.plug.user.UserSubjectUtil;
import com.cusc.nirvana.user.eiam.dto.OrganizationDTO;
import com.cusc.nirvana.user.rnr.enterprise.common.SysModuleEnum;
import com.cusc.nirvana.user.rnr.enterprise.config.SysLog;
import com.cusc.nirvana.user.rnr.enterprise.constants.OrganBizzTypeEnum;
import com.cusc.nirvana.user.rnr.enterprise.dto.FileMouldDto;
import com.cusc.nirvana.user.rnr.enterprise.dto.ProtocolManageDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.ProtocolManageUpdateDTO;
import com.cusc.nirvana.user.rnr.enterprise.service.IProtocolManageService;
import com.cusc.nirvana.user.rnr.enterprise.service.ISimVehicleService;
import com.cusc.nirvana.user.rnr.fp.constants.BizTypeEnum;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
/**
* @className: FpRnrProtocolManageController
* @description: 协议管理
* @author: jk
* @date: 2022/6/1 13:43
* @version: 1.0
**/
@RestController
@RequestMapping("/protocolManage")
@Slf4j
public class ProtocolManageController {
@Autowired
private IProtocolManageService protocolManageService;
@Autowired
private ISimVehicleService simVehicleService;
@ApiOperation("创建协议")
@PostMapping("/create")
@SysLog(sysModule = SysModuleEnum.ADD_PROTOCOL)
public Response createProtocolManage(@Validated @RequestBody ProtocolManageDTO dto){
log.warn("协议管理创建协议入参{}", JSONObject.toJSONString(dto));
protocolManageService.add(dto);
return Response.createSuccess();
}
@ApiOperation("更新协议")
@PostMapping("/update")
@SysLog(sysModule = SysModuleEnum.UPDATE_PROTOCOL)
public Response update(@Validated @RequestBody ProtocolManageUpdateDTO dto){
log.warn("协议管理更新协议入参{}", JSONObject.toJSONString(dto));
protocolManageService.update(dto);
return Response.createSuccess();
}
@ApiOperation("查询协议")
@PostMapping("/query")
public Response<List<ProtocolManageDTO>> query(@Validated @RequestBody ProtocolManageUpdateDTO dto){
log.warn("协议管理查询协议入参{}", JSONObject.toJSONString(dto));
return protocolManageService.query(dto);
}
@GetMapping("queryOrgByList")
@ApiOperation(value = "查询组织信息")
public Response<List<OrganizationDTO>> queryOrgByList(OrganizationDTO dto) {
OrganizationDTO organizationDTO = new OrganizationDTO();
organizationDTO.setTenantNo(UserSubjectUtil.getTenantNo());
//只查询车企和车企子组织
List<Integer> list = new ArrayList<>();
list.add(OrganBizzTypeEnum.CAR_FACTORY.getCode());
list.add(OrganBizzTypeEnum.SON_ORGAN.getCode());
organizationDTO.setBizTypeList(list);
return simVehicleService.queryOrgByList(organizationDTO);
}
@PostMapping("queryFileMould")
@ApiOperation(value = "查询文件模板")
public Response<Map> queryFileMould() {
return protocolManageService.queryFileMould();
}
@ApiOperation("查询logo")
@PostMapping("/noLogin")
public Response<List<ProtocolManageDTO>> noLogin(){
return protocolManageService.noLogin();
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.auth.authentication.plug.user.UserSubjectUtil;
import com.cusc.nirvana.user.eiam.client.ResourceClient;
import com.cusc.nirvana.user.eiam.common.IamListRespone;
import com.cusc.nirvana.user.eiam.dto.ResourceSimpleDTO;
import com.cusc.nirvana.user.eiam.dto.UserRoleDTO;
import com.cusc.nirvana.user.rnr.enterprise.constants.EnterpriseLoginSourceEnum;
import com.cusc.nirvana.user.rnr.enterprise.util.ResponseUtil;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* Description: 资源控制层
* <br />
* CreateDate 2022-05-10 14:39:37
*
* @author yuyi
**/
@Slf4j
@RestController
@RequestMapping("/resource")
public class ResourceController {
@Autowired
ResourceClient resourceClient;
@PostMapping("/queryCurrUserResourceList")
@ApiOperation(value = "查询当前用户的资源集合", notes = "通过角色id查询资源信息")
public Response<IamListRespone<ResourceSimpleDTO>> queryCurrUserResourceList() {
UserRoleDTO bean = new UserRoleDTO();
bean.setUserId(UserSubjectUtil.getUserId());
bean.setTenantNo(UserSubjectUtil.getTenantNo());
bean.setApplicationId(EnterpriseLoginSourceEnum.WEB.getAppId());
return ResponseUtil.changeResponseList(resourceClient.queryResourceByUserId(bean));
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.dto.RoleDTO;
import com.cusc.nirvana.user.rnr.enterprise.service.IRoleService;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
import java.util.List;
/**
* @author stayAnd
* @date 2022/4/15
*/
@RestController
@RequestMapping("/userEnterprise/role")
public class RoleController {
@Resource
private IRoleService roleService;
@GetMapping("/getRoListByOrganId")
public Response<List<RoleDTO>> getRoListByOrganId(@RequestParam(value = "organId", required = true) String organId){
return Response.createSuccess(roleService.getRoListByOrganId(organId));
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.dto.SearchCardAuthDTO;
import com.cusc.nirvana.user.rnr.enterprise.service.ISearchCardAuthService;
import com.cusc.nirvana.user.rnr.fp.common.ResponseCode;
import com.cusc.nirvana.user.rnr.mg.dto.MgSearchCardAuthDTO;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 java.util.List;
/**
* Description: 查询车辆认证进度
* @modify 2022-05-18
**/
@RestController
@RequestMapping("/search")
public class SearchCardAuthController {
@Autowired
private ISearchCardAuthService searchCardAuthService;
/**
* 单车认证进度查询
* @return
*/
@PostMapping("/carProgress")
public Response searchAuth1(@RequestBody SearchCardAuthDTO bean){
if(StringUtils.isBlank(bean.getVin())){
return Response.createError("vin不能为空", ResponseCode.INVALID_DATA.getCode());
}
return searchCardAuthService.searchAuth1(bean);
}
/**
* 车企审核进度查询
* @return
*/
@PostMapping("/checkProgress")
public Response searchAuth2(@RequestBody SearchCardAuthDTO bean){
return searchCardAuthService.searchAuth2(bean);
}
/**
* 审核统计查询
* @return
*/
@PostMapping("/queryCheckStatistics")
public Response queryCheckStatistics(){
return searchCardAuthService.queryCheckStatistics();
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.alibaba.fastjson.JSONObject;
import com.cusc.nirvana.common.result.PageResult;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.auth.authentication.plug.user.UserSubjectUtil;
import com.cusc.nirvana.user.eiam.dto.OrganizationDTO;
import com.cusc.nirvana.user.exception.CuscUserException;
import com.cusc.nirvana.user.rnr.enterprise.common.FileTypeEnum;
import com.cusc.nirvana.user.rnr.enterprise.common.SysModuleEnum;
import com.cusc.nirvana.user.rnr.enterprise.config.SysLog;
import com.cusc.nirvana.user.rnr.enterprise.dto.BindSimVehicleRequestDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.DeleteByUuidDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.FileDownloadDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.ImportSimDTO;
import com.cusc.nirvana.user.rnr.enterprise.excel.VehicleSimRelRow;
import com.cusc.nirvana.user.rnr.enterprise.excel.utils.EasyExcelUtil;
import com.cusc.nirvana.user.rnr.enterprise.service.ISimVehicleService;
import com.cusc.nirvana.user.rnr.enterprise.util.IccidUtil;
import com.cusc.nirvana.user.rnr.fp.client.FileSystemClient;
import com.cusc.nirvana.user.rnr.fp.client.SimVehicleRelClient;
import com.cusc.nirvana.user.rnr.fp.dto.*;
import com.cusc.nirvana.user.rnr.mg.client.OrgSimRelClient;
import com.cusc.nirvana.user.rnr.mg.dto.OrgBusinessTagDTO;
import com.cusc.nirvana.user.rnr.mg.dto.OrgBusinessTagQueryDTO;
import com.cusc.nirvana.user.rnr.mg.dto.OrgSimRelDTO;
import com.cusc.nirvana.user.rnr.mg.dto.OrgSimRelQueryDTO;
import com.cusc.nirvana.user.rnr.mg.dto.SimFileHistoryDTO;
import com.cusc.nirvana.user.rnr.mg.dto.SimFileHistoryQueryDTO;
import com.cusc.nirvana.user.util.CuscStringUtils;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.io.IOUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
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 javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.io.*;
import java.net.*;
import java.util.*;
/**
* @author xxx
*/
@RestController
@RequestMapping("/simvehicle/")
@ApiModel("账号管理")
@Validated
@Slf4j
public class SimVehicleRelController {
@Autowired
private ISimVehicleService simVehicleService;
@Autowired
private SimVehicleRelClient simVehicleRelClient;
@Resource
private FileSystemClient fileSystemClient;
@Autowired
private OrgSimRelClient orgSimRelClient;
@Value("${template.carCard}")
private String carCardTemplate;
@Value("${template.carEnableOrDisableTemplate}")
private String carEnableOrDisableTemplate;
/**
* 查询车厂组织列表
* @return
*/
@GetMapping("queryOrgByList")
@ApiOperation(value = "查询是车厂的组织信息")
public Response<List<OrganizationDTO>> queryOrgByList() {
OrganizationDTO organizationDTO = new OrganizationDTO();
organizationDTO.setTenantNo(UserSubjectUtil.getTenantNo());
organizationDTO.setBizType(1);
return simVehicleService.queryOrgByList(organizationDTO);
}
/**
* 导入SIM卡或车卡关系
* @param importSimDTO
* @return
*/
@PostMapping("import")
@ApiOperation(value = "导入SIM卡或车卡关系")
@SysLog(sysModule = SysModuleEnum.SIM_VEHICLE)
public Response<?> importSim(@RequestBody @Validated ImportSimDTO importSimDTO) {
return simVehicleService.importSim(importSimDTO);
}
@GetMapping("/download/errorfile")
@ApiOperation(value = "下载错误文件")
@ApiImplicitParam(name = "uuid", value = "记录uuid", required = true)
public void downloadErrorFile(@NotBlank(message = "记录uuid不能为空") String uuid,
HttpServletResponse servletResponse) throws Exception {
downloadExcelFile(uuid, true, servletResponse);
}
@GetMapping("/download/file")
@ApiOperation(value = "下载上传文件")
@ApiImplicitParam(name = "uuid", value = "记录uuid", required = true)
public void downloadFile(@NotBlank(message = "记录uuid不能为空") String uuid,
HttpServletResponse servletResponse) throws Exception {
downloadExcelFile(uuid, false, servletResponse);
}
private void downloadExcelFile(String uuid, boolean isErrorFile, HttpServletResponse servletResponse) throws Exception {
Response<SimFileHistoryDTO> response = simVehicleService.getImportHistory(uuid);
if (response.isSuccess() && response.getData() != null) {
FileDownloadDTO fileDownloadDTO = new FileDownloadDTO();
String fileName = response.getData().getFileName();
if (isErrorFile) {
fileDownloadDTO.setUuid(response.getData().getErrorFileAddr());
fileName = fileName.substring(0, fileName.lastIndexOf(".")) + "-错误信息" + fileName.substring(fileName.lastIndexOf("."));
} else {
fileDownloadDTO.setUuid(response.getData().getFileAddr());
}
fileDownloadDTO.setFileName(fileName);
OutputStream outputStream = null;
InputStream inputStream = null;
// 以文件形式下载
servletResponse.setHeader("Content-Disposition",
"attachment;filename=" + URLEncoder.encode(StringUtils.isNotEmpty(fileDownloadDTO.getFileName()) ? fileDownloadDTO.getFileName() : "文件.xlsx", "utf-8"));
servletResponse.setHeader("Access-Control-Expose-Headers","Content-Disposition");
try {
com.cusc.nirvana.user.rnr.fp.dto.FileDownloadDTO dto = new com.cusc.nirvana.user.rnr.fp.dto.FileDownloadDTO();
dto.setUuid(fileDownloadDTO.getUuid());
String base64 = fileSystemClient.getBase64(dto).getData().getBase64();
byte[] bytes = Base64.getDecoder().decode(base64);
inputStream = new ByteArrayInputStream(bytes);
BufferedInputStream in = new BufferedInputStream(inputStream);
outputStream = new BufferedOutputStream(servletResponse.getOutputStream());
byte[] car = new byte[1024];
int len;
while ((len = in.read(car)) != -1) {
outputStream.write(car, 0, len);
}
outputStream.flush();
}catch (Exception e) {
log.error("下载文件失败", e);
} finally {
IOUtils.closeQuietly(inputStream);
IOUtils.closeQuietly(outputStream);
}
} else {
throw new Exception("没有找到文件");
}
}
/**
* SIM卡或者车卡关系模板下载
* @param fileType
* @param response
*/
@GetMapping("/download/template")
@ApiOperation(value = "车卡关系模板下载")
@ApiImplicitParam(name = "fileType", value = "文件类型,1:车卡关系导入模板", required = true)
public void downloadTemplate(@NotNull(message = "模板类型不能为空") Integer fileType, HttpServletResponse response) throws IOException {
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
String fileName = "";
if(fileType == FileTypeEnum.SIMCARD.getCode()){
fileName = "SIM卡导入模板.xlsx";
}else if(fileType == FileTypeEnum.CARSTARTUP.getCode()){
fileName = "卡启用模板.xlsx";
}else if(fileType == FileTypeEnum.CARCLOSE.getCode()){
fileName = "卡禁用模板.xlsx";
}else {
fileName = "车卡关系导入模板.xlsx";
}
com.cusc.nirvana.user.rnr.fp.dto.FileDownloadDTO FileRecordDTO = new com.cusc.nirvana.user.rnr.fp.dto.FileDownloadDTO();
FileRecordDTO.setUuid(fileType == FileTypeEnum.CARSTARTUP.getCode()||fileType == FileTypeEnum.CARCLOSE.getCode()?carEnableOrDisableTemplate:carCardTemplate);
Response<ImageBase64DTO> fileRecordDTOResponse = fileSystemClient.getBase64(FileRecordDTO);
if(!fileRecordDTOResponse.isSuccess()){
throw new CuscUserException("", fileType == 0 ? "没有查询到SIM卡导入模板.xlsx" : "没有查询到车卡关系导入模板.xlsx");
}
response.setContentType("application/vnd.ms-excel");
response.setCharacterEncoding("utf-8");
response.setHeader("Access-Control-Expose-Headers", "Content-Disposition");
response.setHeader("Content-Disposition", "attachment;filename=" + URLEncoder.encode(fileName, "UTF-8"));
byte[] bytes = Base64.getDecoder().decode(fileRecordDTOResponse.getData().getBase64());
InputStream in = new ByteArrayInputStream(bytes);
OutputStream outputStream = new BufferedOutputStream(response.getOutputStream());
byte[] buff =new byte[1024];
//所读取的内容使用n来接收
int n;
//当没有读取完时,继续读取,循环
while((n=in.read(buff))!=-1){
//将字节数组的数据全部写入到输出流中
outputStream.write(buff,0,n);
}
//强制将缓存区的数据进行输出
outputStream.flush();
//关流
outputStream.close();
in.close();
// String sheetName = "Sheet1";
// EasyExcelUtil excelUtil = new EasyExcelUtil();
// if (fileType == 1) {
// excelUtil.init(response.getOutputStream(), sheetName, VehicleSimRelRow.class);
// List<VehicleSimRelRow> list = new ArrayList<>();
// VehicleSimRelRow row = new VehicleSimRelRow();
// list.add(row);
// excelUtil.addExcel(list);
// }
// excelUtil.finish();
// response.getOutputStream().close();
}
@PostMapping("unbind")
@ApiOperation(value = "车卡关系解绑")
public Response<SimVehicleDTO> unbind(@RequestBody @Validated BindRequestDTO requestDTO) {
return simVehicleService.unbind(requestDTO);
}
@PostMapping("bind")
@ApiOperation(value = "车卡关系绑定")
public Response<SimVehicleBindingResult> bind(@RequestBody @Validated BindSimVehicleRequestDTO requestDTO) {
Response<OrgSimRelDTO> simrelResponse = orgSimRelClient.getByIccid(requestDTO.getIccid());
SimVehicleBindingDTO simVehicleBindingDTO = new SimVehicleBindingDTO();
SimVehicleDTO simVehicleDTO = new SimVehicleDTO();
simVehicleDTO.setIccid(requestDTO.getIccid());
simVehicleDTO.setVin(requestDTO.getVin());
if (simrelResponse.isSuccess() && simrelResponse.getData() != null) {
simVehicleDTO.setRealBySelf(simrelResponse.getData().getRealBySelf());
simVehicleBindingDTO.setTagUuid(simrelResponse.getData().getTagUuid());
}
List<SimVehicleDTO> list = new ArrayList<>();
list.add(simVehicleDTO);
simVehicleBindingDTO.setBindingList(list);
simVehicleBindingDTO.setOrganizationId(requestDTO.getOrganizationId());
return simVehicleRelClient.importSimVehicle(simVehicleBindingDTO);
}
/**
* 根据业务编码获取指定Sim卡信息
* @param uuid
* @return
*/
@GetMapping("/getSimByUuid")
@ApiOperation("根据业务编码获取指定Sim卡信息")
public Response<IccidDetailDTO> getSimByUuid(@NotBlank(message = "业务编码不能为空") String uuid) {
return simVehicleService.getSimByUuid(uuid);
}
/**
* 分析查询SIM卡信息列表
* @param queryDTO
* @return
*/
@PostMapping("/querySimByPage")
@ApiOperation("分析查询SIM卡信息列表")
public Response<PageResult<IccidDetailDTO>> querySimByPage(@RequestBody OrgSimRelQueryDTO queryDTO) {
return simVehicleService.querySimByPage(queryDTO);
}
/**
* 根据VIN码查询车卡绑定信息
* @param orgUuid
* @param vin
* @return
*/
@GetMapping("/querySimVehicleByVin")
@ApiOperation("根据VIN码查询车卡绑定信息")
@ApiImplicitParams({
@ApiImplicitParam(name = "orgUuid", value = "组织编码", required = true),
@ApiImplicitParam(name = "vin", value = "VIN码", required = true)
})
public Response<List<VinIccidDTO>> querySimVehicleByVin(
@NotBlank(message = "组织编码不能为空") String orgUuid,
@NotBlank(message = "VIN不能为空") String vin) {
return simVehicleService.querySimVehicleByVin(orgUuid, vin);
}
/**
* 查询车卡绑定列表信息
* @param queryDTO
* @return
*/
@PostMapping("/querySimVehicleByPage")
@ApiOperation("查询车卡绑定列表信息")
public Response<PageResult<SimVehicleResultDTO>> querySimVehiclePage(@RequestBody @Validated SimVehicleQueryDTO queryDTO) {
log.warn("查询车卡绑定列表信息入参{}",JSONObject.toJSONString(queryDTO));
OrganizationDTO organizationDTO = new OrganizationDTO();
organizationDTO.setTenantNo(UserSubjectUtil.getTenantNo());
organizationDTO.setBizType(1);
log.warn("queryOrgByList{}", JSONObject.toJSONString(organizationDTO));
Response<List<OrganizationDTO>> organizations = simVehicleService.queryOrgByList(organizationDTO);
log.warn("organizations{}", JSONObject.toJSONString(organizations));
Map<String, OrganizationDTO> organzationMap = new HashMap<>();
organizations.getData().forEach(organ -> {
organzationMap.put(organ.getOrganCode(), organ);
});
log.warn("organzationMap{}", JSONObject.toJSONString(organzationMap));
Response<PageResult<SimVehicleResultDTO>> response = simVehicleService.querySimVehiclePage(queryDTO);
log.warn("response{}", JSONObject.toJSONString(response));
if (!response.isSuccess()) {
return response;
}
response.getData().getList().forEach(result -> {
result.setOrganizationName(organzationMap.get(result.getOrgUuid()).getOrganName());
result.setTelecomSupplier(IccidUtil.getTelcom(result.getIccid()));
});
return response;
}
/**
* 删除历史导入信息
* @param uuidDTO
* @return
*/
@PostMapping("/deleteImportHisotry")
@ApiOperation("删除历史导入信息")
public Response deleteImportHisotry(@RequestBody DeleteByUuidDTO uuidDTO) {
return simVehicleService.deleteImportHisotry(uuidDTO);
}
/**
* 查询指定导入历史信息
* @param uuid
* @return
*/
@GetMapping("/getImportHistory")
@ApiOperation("查询指定导入历史信息")
@ApiImplicitParam(name = "uuid", value = "业务编码")
public Response<SimFileHistoryDTO> getImportHistory(@NotBlank(message = "业务编码不能为空") String uuid) {
return simVehicleService.getImportHistory(uuid);
}
/**
* 分页查询导入历史信息
* @param queryDTO
* @return
*/
@PostMapping("/queryImportHistory")
@ApiOperation("分页查询导入历史信息")
public Response<PageResult<SimFileHistoryDTO>> queryImportHistory(@RequestBody SimFileHistoryQueryDTO queryDTO) {
return simVehicleService.queryImportHistory(queryDTO);
}
/**
* 查询指定业务Tag数据
* @param uuid
* @return
*/
@GetMapping("/getTagByUuid")
@ApiOperation("查询指定业务Tag数据")
@ApiImplicitParam(name = "uuid", value = "业务编码", required = true)
public Response<OrgBusinessTagDTO> getTagByUuid(@NotBlank(message = "业务编码不能为空") String uuid) {
return simVehicleService.getTagByUuid(uuid);
}
/**
* 查询标签信息列表
* @param queryDto
* @return
*/
@PostMapping("/queryTags")
@ApiOperation("查询标签信息列表")
public Response<List<OrgBusinessTagDTO>> queryTags(@RequestBody @Validated OrgBusinessTagQueryDTO queryDto) {
queryDto.setTenantNo(CuscStringUtils.isEmpty(queryDto.getTenantNo()) ? UserSubjectUtil.getTenantNo() : queryDto.getTenantNo());
return simVehicleService.queryTags(queryDto);
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.service.ISmsService;
import com.cusc.nirvana.user.rnr.fp.dto.SmsRequestDTO;
import org.springframework.beans.factory.annotation.Autowired;
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;
/**
* @author stayAnd
* @date 2022/4/12
*/
@RestController
@RequestMapping("/sms")
public class SmsController {
@Autowired
private ISmsService smsService;
@PostMapping("/sendSmsRnr")
public Response sendSmsRnr(@RequestBody SmsRequestDTO bean) {
return smsService.sendSmsRnr(bean);
}
@PostMapping("/checkSms")
public Response checkSms(@RequestBody SmsRequestDTO bean) {
return smsService.checkSmsCaptcha(bean);
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.common.SysModuleEnum;
import com.cusc.nirvana.user.rnr.enterprise.config.SysLog;
import com.cusc.nirvana.user.rnr.enterprise.dto.*;
import com.cusc.nirvana.user.rnr.enterprise.dto.validator.groups.VehicleCardRnrGroup;
import com.cusc.nirvana.user.rnr.enterprise.service.ISurplusCardBindService;
import com.cusc.nirvana.user.rnr.fp.dto.SurplusQueryRequestDTO;
import com.cusc.nirvana.user.rnr.fp.dto.SurplusQueryResponseDTO;
import com.cusc.nirvana.user.rnr.mg.dto.MgBizNoticeDTO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
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 javax.validation.Valid;
/**
* Description: 剩余卡绑定控制层
* <br />
* CreateDate 2022-04-16 15:16:55
*
* @author yuyi
**/
@RestController
@RequestMapping("/surplus/card/bind")
public class SurplusCardBindController {
@Autowired
ISurplusCardBindService surplusCardBindService;
// /**
// * 发送确认短信
// */
// @ApiOperation(value = "发送一车多卡确认短信", notes = "发送一车多卡确认短信")
// @PostMapping("/sendConfirmMessage")
// public Response<SmsResponseDTO> sendConfirmMessage(@Valid @RequestBody UnBindIccidDTO unBindIccidDTO) {
// return surplusCardBindService.sendConfirmMessage(unBindIccidDTO);
// }
/**
* Description: 提交绑定剩余卡
* <br />
* CreateDate 2022-04-20 16:43:36
*
* @author yuyi
**/
@ApiOperation(value = "提交绑定剩余卡", notes = "提交绑定剩余卡")
@PostMapping("/submit")
@SysLog(sysModule = SysModuleEnum.SURPLUS_CARD_BIND)
public Response submit(@Validated(VehicleCardRnrGroup.Submit.class) @RequestBody VehicleCardRnrDTO bean) {
return surplusCardBindService.bindSurplusCard(bean);
}
/**
* Description: 查询绑定结果
* <br />
* CreateDate 2022-04-20 16:43:36
*
* @author yuyi
**/
@ApiOperation(value = "查询绑定结果", notes = "查询绑定结果")
@PostMapping("/queryResult")
public Response<SurplusQueryResponseDTO> queryResult(@RequestBody SurplusQueryRequestDTO bean) {
return surplusCardBindService.queryResult(bean);
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.user.rnr.enterprise.dto.T1CommonResponseDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.T1CompletionReqDTO;
import com.cusc.nirvana.user.rnr.enterprise.service.T1InstructionService;
import com.cusc.nirvana.user.rnr.enterprise.util.IpAddrUtil;
import com.cusc.nirvana.user.rnr.fp.dto.InstructionDTO;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
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.cusc.nirvana.common.result.Response;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
/**
* @className: T1InstructionController
* @description: T1
* @author: jk
* @date: 2022/7/26 16:55
* @version: 1.0
**/
@RestController
@RequestMapping("/t1/cm")
@Slf4j
public class T1InstructionCmccController {
@Autowired
private T1InstructionService t1InstructionService;
@Value("${auth.allowVisitCm:}")
private String allowVisitCm;
@PostMapping("/instructions")
@ApiOperation(value = "指令下发", notes = "指令下发")
public Response<InstructionDTO> instruction(@RequestBody InstructionDTO instructionDTO) {
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = sra.getRequest();
String ip= IpAddrUtil.getIpAddr(request);
if(allowVisitCm.indexOf(ip)==-1){
Response.createError("不允许访问",instructionDTO.getRequestID());
}
return t1InstructionService.instructionsIssue(instructionDTO);
}
@PostMapping("/callbackResult")
@ApiOperation(value = "报竣", notes = "报竣")
public T1CommonResponseDTO callbackResult(@RequestBody @Validated T1CompletionReqDTO t1CompletionReqDTO) {
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = sra.getRequest();
String ip= IpAddrUtil.getIpAddr(request);
if(allowVisitCm.indexOf(ip)==-1){
Response.createError("不允许访问",t1CompletionReqDTO.getRequestID());
}
return t1InstructionService.callbackResult(t1CompletionReqDTO);
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.dto.T1CommonResponseDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.T1CompletionReqDTO;
import com.cusc.nirvana.user.rnr.enterprise.service.T1InstructionService;
import com.cusc.nirvana.user.rnr.enterprise.util.IpAddrUtil;
import com.cusc.nirvana.user.rnr.enterprise.util.SpringValidationUtil;
import com.cusc.nirvana.user.rnr.fp.dto.InstructionDTO;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.validation.annotation.Validated;
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 org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.net.InetAddress;
import java.net.UnknownHostException;
/**
* @className: T1InstructionController
* @description: T1
* @author: jk
* @date: 2022/7/26 16:55
* @version: 1.0
**/
@RestController
@RequestMapping("/t1/ct")
@Slf4j
public class T1InstructionCtccController {
@Autowired
private T1InstructionService t1InstructionService;
@Value("${auth.allowVisitCt:}")
private String allowVisitCt;
@PostMapping("/instructions")
@ApiOperation(value = "指令下发", notes = "指令下发")
public Response<InstructionDTO> instruction(@RequestBody InstructionDTO instructionDTO) {
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = sra.getRequest();
String ip= IpAddrUtil.getIpAddr(request);
if(allowVisitCt.indexOf(ip)==-1){
Response.createError("不允许访问",instructionDTO.getRequestID());
}
return t1InstructionService.instructionsIssue(instructionDTO);
}
@PostMapping("/callbackResult")
public T1CommonResponseDTO callbackResult(@RequestBody @Validated T1CompletionReqDTO t1CompletionReqDTO) {
ServletRequestAttributes sra = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = sra.getRequest();
String ip= IpAddrUtil.getIpAddr(request);
if(allowVisitCt.indexOf(ip)==-1){
T1CommonResponseDTO.createError("不允许访问",t1CompletionReqDTO.getRequestID());
}
return t1InstructionService.callbackResult(t1CompletionReqDTO);
}
}
package com.cusc.nirvana.user.rnr.enterprise.controller;
import com.cusc.nirvana.common.result.Response;
import com.cusc.nirvana.user.rnr.enterprise.dto.UnBindIccidDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.VehicleCardRnrDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.VinDTO;
import com.cusc.nirvana.user.rnr.enterprise.dto.validator.groups.VehicleCardVerify;
import com.cusc.nirvana.user.rnr.enterprise.service.IVehicleCardService;
import com.cusc.nirvana.user.rnr.fp.dto.IccidListDTO;
import com.cusc.nirvana.user.rnr.fp.dto.VinCardDTO;
import com.cusc.nirvana.user.rnr.fp.dto.VinCardInfoDTO;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
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 javax.validation.Valid;
import java.util.List;
/**
* Description: 车卡关系控制层
* <br />
* CreateDate 2022-04-16 15:16:55
*
* @author yuyi
**/
@RestController
@RequestMapping("/vehicleCard")
public class VehicleCardController {
@Autowired
private IVehicleCardService vehicleCardService;
/**
* 新车实名查询iccid,如果已经有实名信息,提醒走一车多卡
* 通过VIN查询ICCID集合
*/
@ApiOperation(value = "新车实名查询iccid", notes = "新车实名查询iccid")
@PostMapping("/getNeCarUnBindIccidList")
public Response<IccidListDTO> getNeCarUnBindIccidList(@RequestBody VinDTO vinDTO) {
return vehicleCardService.getNewCarUnBindIccidList(vinDTO.getVin());
}
/**
* 通过VIN查询ICCID集合
*
*/
@ApiOperation(value = "通过VIN查询ICCID集合", notes = "通过VIN查询ICCID集合")
@PostMapping("/getIccidListByVin")
public Response<IccidListDTO> getIccidListByVin(@RequestBody VinDTO vinDTO) {
return vehicleCardService.getIccidListByVin(vinDTO.getVin());
}
/**
* 验证车卡信息
*/
@ApiOperation(value = "验证车卡信息", notes = "验证车卡信息")
@PostMapping("/verifyVinCard")
public Response verifyVinCard(@Validated({VehicleCardVerify.class}) @RequestBody VinCardInfoDTO vinCardListDTO) {
return vehicleCardService.verifyVinCard(vinCardListDTO);
}
@ApiOperation(value = "批量验证车卡信息", notes = "批量验证车卡信息")
@PostMapping("/verifyVinCardBatch")
public Response verifyVinCardBatch(@Validated({VehicleCardVerify.class}) @RequestBody List<VinCardDTO> verifyDTOs) {
return vehicleCardService.verifyVinCardBatch(verifyDTOs);
}
/**
* Description: 通过VIN查询已实名信息
* <br />
* CreateDate 2022-04-20 16:43:36
*
* @author yuyi
**/
@ApiOperation(value = "通过VIN查询已实名信息", notes = "通过VIN查询已实名信息")
@PostMapping("/getRnrInfoByVin")
public Response<VehicleCardRnrDTO> getRnrInfoByVin(@Valid @RequestBody VinDTO vinDTO) {
return vehicleCardService.getBindIccidList(vinDTO);
}
/**
* 通过VIN查询未绑定的ICCID集合
*/
@ApiOperation(value = "通过VIN查询未绑定的ICCID集合并返回实名信息", notes = "通过VIN查询未绑定的ICCID集合并返回实名信息")
@PostMapping("/getUnBindIccidList")
public Response<UnBindIccidDTO> getUnBindIccidList(@Valid @RequestBody VinDTO vinDTO) {
return vehicleCardService.getUnBindIccidList(vinDTO);
}
}
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment