From 2539e64ffce314b5f2e28b99aa6b6313be3358d8 Mon Sep 17 00:00:00 2001 From: siontion Date: Mon, 29 Apr 2024 15:44:20 +0800 Subject: [PATCH] =?UTF-8?q?=E5=95=86=E6=88=B7=E6=B5=81=E6=B0=B4=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 商户流水接口 --- .../yunxi/controller/EntranceController.java | 48 ++++++++++++++++++- .../java/cc/yunxi/mapper/WalletMapper.java | 2 + .../service/IEnterpriseWalletService.java | 2 + .../impl/EnterpriseWalletServiceImpl.java | 35 +++++++++++++- .../main/resources/mapper/WalletMapper.xml | 4 ++ 5 files changed, 88 insertions(+), 3 deletions(-) diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/EntranceController.java b/nxhs-service/src/main/java/cc/yunxi/controller/EntranceController.java index d321ae3..6ef635c 100644 --- a/nxhs-service/src/main/java/cc/yunxi/controller/EntranceController.java +++ b/nxhs-service/src/main/java/cc/yunxi/controller/EntranceController.java @@ -5,6 +5,7 @@ import cc.yunxi.aspect.UserTypeAnnotation; import cc.yunxi.common.domain.CommonResult; import cc.yunxi.common.domain.PageDTO; import cc.yunxi.common.utils.BeanUtils; +import cc.yunxi.common.utils.WebUtils; import cc.yunxi.domain.dto.UserDTO; import cc.yunxi.domain.dto.WxLoginDTO; import cc.yunxi.domain.dto.ZSGLoginDTO; @@ -15,18 +16,27 @@ import cc.yunxi.domain.query.ClientQuery; import cc.yunxi.domain.vo.client.ClientAccountRespVO; import cc.yunxi.domain.vo.client.ClientRespVO; import cc.yunxi.domain.vo.client.ClientUpdateVO; +import cc.yunxi.domain.vo.device.RecycleDeviceOpenDoorReqVO; +import cc.yunxi.domain.vo.device.RecycleDeviceRespVO; import cc.yunxi.enums.UserTypeEnum; import cc.yunxi.service.IClientService; +import cc.yunxi.service.IRecycleDeviceService; import cc.yunxi.service.impl.CommonService; import cc.yunxi.utils.UserContext; +import cn.hutool.core.util.StrUtil; +import cn.hutool.json.JSONArray; +import cn.hutool.json.JSONUtil; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import lombok.RequiredArgsConstructor; +import lombok.SneakyThrows; import lombok.extern.slf4j.Slf4j; import org.springframework.http.HttpHeaders; import org.springframework.web.bind.annotation.*; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; import java.util.LinkedHashMap; import java.util.List; import java.util.Map; @@ -45,7 +55,20 @@ import java.util.Map; @Slf4j public class EntranceController { - private final CommonService commonService; + private static final String OPEN_API_URL = "https://dev-api.zsgai.com/open_api/open_door_for_devsn"; + + @Resource + private CommonService commonService; + + @Resource + private IRecycleDeviceService deviceService; + + @ApiOperation("回收柜二维码请求设备信息接口") + @RequestMapping("/dev_qr_code/wx9e638ba024ed7868") + public CommonResult ZSG_QrCode_DeviceInfo(@RequestParam(name="devsn",required = true) String devSn) { + + return CommonResult.success(devSn); + } @ApiOperation("小智系统请求用户登录接口") @RequestMapping("/login_name") @@ -55,4 +78,27 @@ public class EntranceController { return CommonResult.success(zsgLoginDTO,"请求成功"); } + @ApiOperation("回收柜设备状态上报") + @RequestMapping("/device_state") + public CommonResult ZSG_DeviceState(HttpServletRequest request) throws Exception { + // 1. 参数解析处理 + Map dataMap = WebUtils.parseQueryString(request); + String listDoor = dataMap.remove("listDoor"); + RecycleDeviceRespVO recycleDeviceRespVO = BeanUtils.copyBean(dataMap, RecycleDeviceRespVO.class); + if(StrUtil.isNotEmpty(listDoor)) { + JSONArray jsonArray = JSONUtil.parseArray(listDoor); + List deviceDoorVOList = BeanUtils.copyList(jsonArray, RecycleDeviceRespVO.RecycleDeviceDoorVO.class); + recycleDeviceRespVO.setListDoor(deviceDoorVOList); + } + log.info("recycleDeviceRespVO = {}", recycleDeviceRespVO); + deviceService.saveDeviceInfo(recycleDeviceRespVO); + return CommonResult.success("ok"); + } + @SneakyThrows + @ApiOperation("开门") + @GetMapping("/open_door_for_devsn") + public CommonResult ZSG_OpenDoor(@RequestBody RecycleDeviceOpenDoorReqVO recycleDeviceOpenDoorReqVO) { +// devUserId + return CommonResult.success("ok"); + } } diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/WalletMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/WalletMapper.java index 5e61f86..2252863 100644 --- a/nxhs-service/src/main/java/cc/yunxi/mapper/WalletMapper.java +++ b/nxhs-service/src/main/java/cc/yunxi/mapper/WalletMapper.java @@ -28,6 +28,8 @@ import org.apache.ibatis.annotations.Param; public interface WalletMapper extends BaseMapper { Page queryPageByPhone(@Param("phone") String phone); + String queryCompanyParentId(String companyId); + } diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseWalletService.java b/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseWalletService.java index 82a2230..d0a330c 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseWalletService.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseWalletService.java @@ -23,5 +23,7 @@ public interface IEnterpriseWalletService extends IService { Page queryWalletByPage(WalletQuery walletQuery); + String queryCompanyParentId(String companyId); + } diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/EnterpriseWalletServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/EnterpriseWalletServiceImpl.java index 87b2c66..b2b5830 100644 --- a/nxhs-service/src/main/java/cc/yunxi/service/impl/EnterpriseWalletServiceImpl.java +++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/EnterpriseWalletServiceImpl.java @@ -31,6 +31,7 @@ import java.math.BigDecimal; import java.math.RoundingMode; import java.text.SimpleDateFormat; import java.time.LocalDateTime; +import java.util.Arrays; import java.util.Date; /** @@ -50,12 +51,22 @@ public class EnterpriseWalletServiceImpl extends ServiceImpl wrapper = new LambdaQueryWrapper<>(); @@ -113,6 +125,25 @@ public class EnterpriseWalletServiceImpl extends ServiceImpl + +