package com.jsowell.api.uniapp; import com.alibaba.fastjson2.JSON; import com.jsowell.common.annotation.Anonymous; import com.jsowell.common.core.controller.BaseController; import com.jsowell.common.core.page.PageResponse; import com.jsowell.common.enums.ykc.ReturnCodeEnum; import com.jsowell.common.exception.BusinessException; import com.jsowell.common.response.RestApiResponse; import com.jsowell.common.util.StringUtils; import com.jsowell.pile.dto.PileMemberBindingDTO; import com.jsowell.pile.dto.QueryPersonPileDTO; import com.jsowell.pile.service.PileBasicInfoService; import com.jsowell.pile.service.PileMerchantInfoService; import com.jsowell.pile.vo.uniapp.PersonPileConnectorSumInfoVO; import com.jsowell.pile.vo.uniapp.PersonPileRealTimeVO; import com.jsowell.pile.vo.uniapp.PersonalPileInfoVO; import com.jsowell.service.PileService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import java.util.List; /** * 个人桩controller * * @author JS-ZZA * @date 2023/2/23 15:36 */ @Anonymous @RestController @RequestMapping("/uniapp/personalPile") public class PersonPileController extends BaseController { @Autowired private PileService pileService; @Autowired private PileMerchantInfoService pileMerchantInfoService; @Autowired private PileBasicInfoService pileBasicInfoService; /** * 用户绑定个人桩 *
* http://localhost:8080/uniapp/personalPile/pileMemberBinding * * @param dto * @return */ @RequestMapping("/pileMemberBinding") public RestApiResponse> pileMemberBinding(HttpServletRequest request, @RequestBody PileMemberBindingDTO dto) { logger.info("绑定个人桩信息 params:{}", JSON.toJSONString(dto)); RestApiResponse> response = null; try { String memberId = getMemberIdByAuthorization(request); dto.setMemberId(memberId); int i = pileService.pileMemberBinding(dto); response = new RestApiResponse<>(i); } catch (BusinessException e) { logger.error("绑定个人桩信息 error,", e); response = new RestApiResponse<>(e.getCode(), e.getMessage()); } catch (Exception exception) { logger.error("绑定个人桩信息 error,", exception); response = new RestApiResponse<>(ReturnCodeEnum.CODE_BINDING_PERSONAL_PILE_ERROR); } logger.info("绑定个人桩信息 result:{}", response); return response; } /** * 用户解绑个人桩 * http://localhost:8080/uniapp/personalPile/userUnbindPile * * @return */ @RequestMapping("/userUnbindPile") public RestApiResponse> userUnbindPile(HttpServletRequest request, @RequestBody PileMemberBindingDTO dto) { logger.info("用户解绑个人桩信息 params:{}", JSON.toJSONString(dto)); RestApiResponse> response = null; try { String memberId = getMemberIdByAuthorization(request); dto.setMemberId(memberId); int i = pileService.userUnbindPile(dto); response = new RestApiResponse<>(i); } catch (BusinessException e) { logger.error("用户解绑个人桩 error, ", e); response = new RestApiResponse<>(e.getCode(), e.getMessage()); } catch (Exception e) { logger.error("用户解绑个人桩 error, ", e); response = new RestApiResponse<>(ReturnCodeEnum.CODE_UNBIND_PILE_ERROR); } logger.info("用户解绑个人桩 result:{}", response); return response; } /** * 个人桩管理员下发给其他用户 *
* http://localhost:8080/uniapp/personalPile/adminIssuePile * * @param request * @param dto * @return */ @RequestMapping("/adminIssuePile") public RestApiResponse> adminIssuePile(HttpServletRequest request, @RequestBody PileMemberBindingDTO dto) { logger.info("桩管理员下发个人桩 params: {}", JSON.toJSONString(dto)); RestApiResponse> response = null; try { String appId = request.getHeader("appId"); if (StringUtils.isNotBlank(appId)) { String firstLevelMerchantId = pileMerchantInfoService.getFirstLevelMerchantIdByAppId(appId); if (StringUtils.isNotBlank(firstLevelMerchantId)) { dto.setMerchantId(firstLevelMerchantId); } } String memberId = getMemberIdByAuthorization(request); dto.setMemberId(memberId); pileService.adminIssuePile(dto); response = new RestApiResponse<>(); } catch (BusinessException e) { logger.error("桩管理员下发个人桩 error", e); response = new RestApiResponse<>(e.getCode(), e.getMessage()); } catch (Exception e) { logger.error("桩管理员下发个人桩 error", e); response = new RestApiResponse<>(ReturnCodeEnum.CODE_ADMIN_ISSUE_ERROR); } logger.info("桩管理员下发个人桩 result: {}", response); return response; } /** * 通过memberId查个人桩列表 *
* http://localhost:8080/uniapp/personalPile/getPersonalPileList
*
* @return
*/
@GetMapping("/getPersonalPileList")
public RestApiResponse> getPersonalPileList(HttpServletRequest request) {
RestApiResponse> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
logger.info("通过memberId查个人桩列表 params: {}", memberId);
List
* http://localhost:8080/uniapp/personalPile/getConnectorRealTimeInfo
*
* @param request
* @param dto
* @return
*/
@PostMapping("/getConnectorRealTimeInfo")
public RestApiResponse> getConnectorRealTimeInfo(HttpServletRequest request, @RequestBody QueryPersonPileDTO dto) {
logger.info("获取个人桩枪口实时数据 params:{}", JSON.toJSONString(dto));
RestApiResponse> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
PersonPileRealTimeVO connectorRealTimeInfo = pileService.getConnectorRealTimeInfo(dto);
response = new RestApiResponse<>(connectorRealTimeInfo);
} catch (BusinessException e) {
logger.error("获取个人桩枪口实时数据 error", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("获取个人桩枪口实时数据 error", e);
response = new RestApiResponse<>(ReturnCodeEnum.CODE_GET_PERSONAL_PILE_CONNECTOR_INFO_ERROR);
}
logger.info("获取个人桩枪口实时数据 result:{}", response);
return response;
}
/**
* 获取某枪口某段时间内累计信息
*
* http://localhost:8080/uniapp/personalPile/getAccumulativeInfo
*
* @param dto
* @return
*/
@RequestMapping("/getAccumulativeInfo")
public RestApiResponse> getAccumulativeInfo(HttpServletRequest request, @RequestBody QueryPersonPileDTO dto) {
logger.info("获取某枪口某段时间内累计信息 params:{}", JSON.toJSONString(dto));
RestApiResponse> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
PersonPileConnectorSumInfoVO accumulativeInfo = pileService.getAccumulativeInfo(dto);
response = new RestApiResponse<>(accumulativeInfo);
} catch (BusinessException e) {
logger.error("获取某枪口某段时间内累计信息 error", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("获取某枪口某段时间内累计信息 error", e);
response = new RestApiResponse<>(e);
}
logger.info("获取某枪口某段时间内累计信息 result:{}", response);
return response;
}
/**
* 获取充电记录
*
* http://localhost:8080/uniapp/personalPile/getChargingRecord
*
* @param request
* @param dto
* @return
*/
@RequestMapping("/getChargingRecord")
public RestApiResponse> getChargingRecord(HttpServletRequest request, @RequestBody QueryPersonPileDTO dto) {
logger.info("获取个人桩充电记录 params:{}", JSON.toJSONString(dto));
RestApiResponse> response = null;
try {
String memberId = getMemberIdByAuthorization(request);
dto.setMemberId(memberId);
PageResponse chargingRecord = pileService.getChargingRecord(dto);
response = new RestApiResponse<>(chargingRecord);
} catch (BusinessException e) {
logger.error("获取个人桩充电记录 error", e);
response = new RestApiResponse<>(e.getCode(), e.getMessage());
} catch (Exception e) {
logger.error("获取个人桩充电记录 error", e);
response = new RestApiResponse<>(e);
}
logger.info("获取个人桩充电记录 result:{}", response);
return response;
}
/**
* 个人桩启动充电
*/
}