query().lambda().eq(AppUser::getWxOpenid, openId));
+ if (ObjectUtil.isEmpty(user)) {
+ log.info("支付宝小程序openId:{},创建新的用户", openId);
+ String name = "支付宝游客-" + openId;
+ AppUser appUser = new AppUser();
+ appUser.setWxOpenid(openId);
+ appUser.setUsername(name);
+ appUser.setName(name);
+ appUser.setCreateBy(openId);
+ appUser.setUpdateBy(openId);
+ appUserService.saveOrUpdate(appUser);
+ AppUserInfo appUserDTO = new AppUserInfo();
+ appUserDTO.setAppUser(appUser);
+ return appUserDTO;
+ }
+ return appUserService.findUserInfo(user);
+ }
+
+ /**
+ * 绑定逻辑
+ */
+ @Override
+ public Boolean bind(AppUser user, String identify) {
+ user.setWxOpenid(identify);
+ appUserService.updateById(user);
+ return true;
+ }
+
+
+}
diff --git a/pjcloud-app-server/pjcloud-app-server-biz/src/main/java/com/bsd/pjcloud/app/handler/MiniAppLoginHandler.java b/pjcloud-app-server/pjcloud-app-server-biz/src/main/java/com/bsd/pjcloud/app/handler/MiniWechatLoginHandler.java
similarity index 96%
rename from pjcloud-app-server/pjcloud-app-server-biz/src/main/java/com/bsd/pjcloud/app/handler/MiniAppLoginHandler.java
rename to pjcloud-app-server/pjcloud-app-server-biz/src/main/java/com/bsd/pjcloud/app/handler/MiniWechatLoginHandler.java
index e3e7c242..e94fdfd2 100644
--- a/pjcloud-app-server/pjcloud-app-server-biz/src/main/java/com/bsd/pjcloud/app/handler/MiniAppLoginHandler.java
+++ b/pjcloud-app-server/pjcloud-app-server-biz/src/main/java/com/bsd/pjcloud/app/handler/MiniWechatLoginHandler.java
@@ -36,15 +36,12 @@ import org.springframework.stereotype.Component;
import java.util.Objects;
/**
- * @author pjcloud
- * @date 2019年11月02日
- *
* 微信小程序
*/
@Slf4j
-@Component("APP-MINI")
+@Component("MINI_WECHAT")
@AllArgsConstructor
-public class MiniAppLoginHandler extends AbstractLoginHandler {
+public class MiniWechatLoginHandler extends AbstractLoginHandler {
private final AppUserService appUserService;
diff --git a/pjcloud-app-server/pjcloud-app-server-biz/src/main/resources/application.yml b/pjcloud-app-server/pjcloud-app-server-biz/src/main/resources/application.yml
index db8f394a..645bbb4f 100644
--- a/pjcloud-app-server/pjcloud-app-server-biz/src/main/resources/application.yml
+++ b/pjcloud-app-server/pjcloud-app-server-biz/src/main/resources/application.yml
@@ -16,3 +16,11 @@ spring:
import:
- optional:nacos:application-@profiles.active@.yml
- optional:nacos:${spring.application.name}-@profiles.active@.yml
+
+mini-ali-pay:
+ app-id: 2021005197658445
+ private-key: MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQCTYHY0AW2cjbHoOinD8f4CKMKasDmbRw4CEMasG5IzckmeuTqut3GmxxRRls62zlXRVOCDYgnGhzEhD/nMYx0TMBX2mYo+fH9XUMtZMKY+p2rPTXTlPnGfbQ4edUYofR0tq1ug+wHOD5/jxuwO1zPfB7t8dX3gNa4M43fTPK2mPDeo/UiRB45DPjUWvbMX59ltYYMgmAW0TAbXmRAGKFxrmX3HddJK0jSwEpTcHaRV3C6FrYV48vWHEliviVBUsLRIpwv3T3FYZm0a19LcGQtybeThXaaCYrj7Lwoffk8v8DL2g28IAeiFtjjkWbPFKKMCsSe/LVkvdQTuhncuDayTAgMBAAECggEAJvreiMbP7RZ1Nc0cet0op/2L60otEmrqw5UYVzE7rCvQWRD4+nk+sDP7pdDTf/p3LFTcxSNLHp1nWy1UjsCwUgDn7j+SFxDqxXdzMXXyoqO5VndQMcogV2CK2Xd/RPpCm2+1XpDFW3E6gw58JTi6WYU8C6Ev1/uau4H2kYJ9E3h2W0P0PyY+Q9QNHEpG2hLQdiWLHz3xzmSNSDXiknEg/Whew7IMVKNgxg5VVEBTerwCH5Grvn56CKx6acb6JlU+VFsmW3J1tMYLgxVhJWVVAK6NltmxE5apIxTkG3wEOMuuBCZHQ1Lm0rrGKJh8WmYRs6ho5wSjHYG3hyKRm/0TEQKBgQDcDDPyOWw/o9ZqB3N7qxUi63V7wU7X8QL/CmQO4tu/ng/4Drm8QESjk+ib3O3pCC7xwcte/U1Otw3AmSSj1CWvT8a0yLJM9GVOJwZFVyzy6yVFPyn6l4ndRdargyFokM2lgVTgEHo4WSMbLQsA8/KTB3anqo6bYLjqjsBgY49fpQKBgQCrdLMh5ayJOUK9UeBHXr0c/OLDzwoSUVMyNLfX3pIBC21meFxigNMiy+UKpslM2QMH1yyfwsUKv/i7y1kRFj9Go7pYU0HxglfHecllqXPunWJYuSm38x8WWAG/oqcLPGSlJjHYhU6IAkDuHHaW5DKLxr0x2DkZ/c4TcyYal9Ol1wKBgD4Lls4S0On02W1WIoLZT4FkIOE/NWsAAxdEp8fmwY17FQedp1NkT7ZL60efeNm/O/Vg7mYfSCAMz2ziAYnMNMAE34N0H4pBUxtBN6xvkzX/hafL0ptdBTuGCKydsdrZEZM8L2FqY/vlbleoULT5FAnPDe7i0YkQMbO5gpbrG68dAoGAFv+tc7OSREn5CNotwoUTywqlBG0GRdTA2zA1JPDHFvrIbwFgKxpqt/UvwREEWZmWjXuwkbGXqsx7ef1Z8i/QxxH5UhXA97trOOe+OzPSyEQ2R/52eSVUmzOs8F7KF3i/a2PHNesT0Ky0tvv8cFsl6Jf9Eu2VI0ZnWTaN+u04x7sCgYEAlhpr3RSJk2EnLPR3BxKboTxSGsK/2U4xz/WqX96B+lQ5h7NSMJC35vZJ5dm2vHtLcucHaK49YNsJdq+nzhhwxDz+Dd/5rcIp7AcdHqDsVLHYIN7JWxa9QiC3gvrnWsij1DShydOLpGMYveFz0LyRIUDW4CTs55oDFsIR4HdwtM0=
+ public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAk2B2NAFtnI2x6Dopw/H+AijCmrA5m0cOAhDGrBuSM3JJnrk6rrdxpscUUZbOts5V0VTgg2IJxocxIQ/5zGMdEzAV9pmKPnx/V1DLWTCmPqdqz0105T5xn20OHnVGKH0dLatboPsBzg+f48bsDtcz3we7fHV94DWuDON30zytpjw3qP1IkQeOQz41Fr2zF+fZbWGDIJgFtEwG15kQBihca5l9x3XSStI0sBKU3B2kVdwuha2FePL1hxJYr4lQVLC0SKcL909xWGZtGtfS3BkLcm3k4V2mgmK4+y8KH35PL/Ay9oNvCAHohbY45FmzxSijArEnvy1ZL3UE7oZ3Lg2skwIDAQAB
+ alipay-public-key: MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAqnCB+N172m5gxf1Rolfx5LErSiVwQCh0XQdDrVy6aTuVF5EtdqahSHtADyEPsBWudMBhzCfqpoZvfnvH7a+PED6uZ3DoXt7ETh8TmNM5yc+WTnD8pSphQvuHDJ3zMks489KNxiX6sXag71k9H1MXklJGPOUaljHqy/QlRn2ZLT7pFgaFH9LEcVoQBPIOurUn95078h848RFD30jZFW3fakxUGAGVVZaHH62z5OEWOmcA+CwxsEDMa1XMt02RGXgAAq4WOj+BqOGiFmhM8rnrUMchTyvx4umOzGvbF2Y9irN3aBZ5lfg+bzYcJpIOMzlM/V00LnEWzCblJzXNyH4hJQIDAQAB
+ callback-url: https://rj4jv5rwqs.by.takin.cc/hard/hard-ali-pay/callback
+ # callback-url: https://stgl.pj.gov.cn/api/hard/hard-ali-pay/callback
diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/SecurityConstants.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/SecurityConstants.java
index 82e90bf5..dcf35048 100644
--- a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/SecurityConstants.java
+++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/SecurityConstants.java
@@ -250,6 +250,16 @@ public interface SecurityConstants {
*/
String APP = "mobile";
+ /**
+ * 游客登录(微信,小程序)
+ */
+ String VISITOR = "visitor";
+
+ /**
+ * 游客登录(微信,小程序) openId
+ */
+ String VISITOR_OPEN_ID = "openId";
+
/**
* 用户信息
*/
diff --git a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/UserTypeEnum.java b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/UserTypeEnum.java
index c1974af7..9eafdd09 100644
--- a/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/UserTypeEnum.java
+++ b/pjcloud-common/pjcloud-common-core/src/main/java/com/bsd/pjcloud/common/core/constant/enums/UserTypeEnum.java
@@ -1,22 +1,31 @@
package com.bsd.pjcloud.common.core.constant.enums;
+import cn.hutool.core.util.ObjectUtil;
import lombok.AllArgsConstructor;
import lombok.Getter;
+import java.util.Arrays;
+
@Getter
@AllArgsConstructor
public enum UserTypeEnum {
- TOB("0", "面向后台应用"), TOC("1", "面向小程序");
+ TOB("0", "面向后台应用"),
+ TOC("1", "面向小程序");
- /**
- * 类型
- */
- private final String status;
+ /**
+ * 类型
+ */
+ private final String status;
- /**
- * 描述
- */
- private final String description;
+ /**
+ * 描述
+ */
+ private final String description;
+
+ public static UserTypeEnum valueOfByStatus(String status) {
+ if (ObjectUtil.isEmpty(status)) return null;
+ return Arrays.stream(values()).filter(v -> ObjectUtil.equals(status, v.getStatus())).findFirst().orElse(null);
+ }
}
diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardAuthTypeEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardAuthTypeEnum.java
index 3b2ac1d8..f975002e 100644
--- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardAuthTypeEnum.java
+++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/HardAuthTypeEnum.java
@@ -15,6 +15,7 @@ import java.util.Arrays;
public enum HardAuthTypeEnum {
HARD_DDOR_AUTH("10", "智能柜授权"),
+ HARD_DDOR_TOC_AUTH("20", "TOC用户智能柜授权"),
;
private final String type;
private final String description;
diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderTypeEnum.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderTypeEnum.java
index 88b7c700..4f1e1fd2 100644
--- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderTypeEnum.java
+++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/constant/order/HardOrderTypeEnum.java
@@ -20,6 +20,7 @@ public enum HardOrderTypeEnum {
ZY("5", "正元公务餐"),
LB("6", "宁波银行(美好生活)"),
FARMER("7", "共富商城(助农)"),
+ TOC_VISITOR("8", "toc访客购买(不记名用户)"),
;
private final String type;
private final String description;
diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardAuthAppDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardAuthAppDto.java
index 4274a461..dba66ef4 100644
--- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardAuthAppDto.java
+++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardAuthAppDto.java
@@ -1,5 +1,6 @@
package com.bsd.pjcloud.hard.api.dto;
+import com.bsd.pjcloud.common.core.constant.enums.UserTypeEnum;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@@ -12,6 +13,11 @@ public class HardAuthAppDto {
*/
private Long userId;
+ /**
+ * 用户类型
+ */
+ private UserTypeEnum userType;
+
/**
* 授权id
*/
diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardGetAuthAppDto.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardGetAuthAppDto.java
index 15151229..91b650d2 100644
--- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardGetAuthAppDto.java
+++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/dto/HardGetAuthAppDto.java
@@ -1,5 +1,6 @@
package com.bsd.pjcloud.hard.api.dto;
+import com.bsd.pjcloud.common.core.constant.enums.UserTypeEnum;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import lombok.Data;
@@ -12,6 +13,11 @@ public class HardGetAuthAppDto {
*/
private Long userId;
+ /**
+ * 用户类型
+ */
+ private UserTypeEnum userType;
+
/**
* 智能柜设备id
*/
diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/HardDoorFlowEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/HardDoorFlowEntity.java
index 8e10716c..c1b02c35 100644
--- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/HardDoorFlowEntity.java
+++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/HardDoorFlowEntity.java
@@ -37,6 +37,12 @@ public class HardDoorFlowEntity extends Model {
@Schema(description = "用户编号")
private Long userId;
+ /**
+ * 用户类型
+ */
+ @Schema(description = "用户类型")
+ private String userType;
+
/**
* 业务类型
*/
diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/manager/HardDoorCabinetEntity.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/manager/HardDoorCabinetEntity.java
index 56044907..087d074f 100644
--- a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/manager/HardDoorCabinetEntity.java
+++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/entity/manager/HardDoorCabinetEntity.java
@@ -78,6 +78,18 @@ public class HardDoorCabinetEntity extends Model {
@Schema(description = "url二维码")
private String urlQrCode;
+ /**
+ * 支付宝小程序二维码
+ */
+ @Schema(description = "支付宝小程序二维码")
+ private String urlAlipayQrCode;
+
+ /**
+ * 微信小程序二维码
+ */
+ @Schema(description = "微信小程序二维码")
+ private String urlWechatQrCode;
+
/**
* 创建人
*/
diff --git a/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardAppCreateThirdDoorOrderVo.java b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardAppCreateThirdDoorOrderVo.java
new file mode 100644
index 00000000..bb082654
--- /dev/null
+++ b/pjcloud-hardware/pjcloud-hardware-api/src/main/java/com/bsd/pjcloud/hard/api/vo/order/HardAppCreateThirdDoorOrderVo.java
@@ -0,0 +1,14 @@
+package com.bsd.pjcloud.hard.api.vo.order;
+
+import lombok.Data;
+
+@Data
+public class HardAppCreateThirdDoorOrderVo {
+
+ private Long authId;
+
+ /**
+ * 支付宝订单号
+ */
+ private String alipayOrderStr;
+}
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/config/MiniAlipayConf.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/config/MiniAlipayConf.java
new file mode 100644
index 00000000..09aa1ae3
--- /dev/null
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/config/MiniAlipayConf.java
@@ -0,0 +1,50 @@
+package com.bsd.pjcloud.hard.config;
+
+import lombok.Data;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.stereotype.Component;
+
+/**
+ * 支付宝支付配置
+ */
+@Component
+@ConfigurationProperties(prefix = "mini-ali-pay")
+@Data
+public class MiniAlipayConf {
+
+ /**
+ * 应用ID
+ */
+ private String appId;
+
+ /**
+ * 商户号
+ */
+ private String merchantId;
+
+ /**
+ * 商户账号
+ */
+ private String merchantAccount;
+
+ /**
+ * 冻结金额
+ */
+ private String freezeAmount;
+
+ /**
+ * 私钥
+ */
+ private String privateKey;
+
+ /**
+ * 公钥
+ */
+ private String publicKey;
+
+ /**
+ * 支付宝公钥
+ */
+ private String alipayPublicKey;
+
+}
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardAuthController.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardAuthController.java
index 05b7fbe0..be8b9139 100644
--- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardAuthController.java
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/controller/HardAuthController.java
@@ -4,6 +4,7 @@ import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.collection.CollUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.bsd.pjcloud.common.core.constant.enums.UserTypeEnum;
import com.bsd.pjcloud.common.core.util.R;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.common.idempotent.annotation.Idempotent;
@@ -14,6 +15,7 @@ import com.bsd.pjcloud.hard.api.dto.*;
import com.bsd.pjcloud.hard.api.entity.HardAuthEntity;
import com.bsd.pjcloud.hard.api.vo.HardAuthVo;
import com.bsd.pjcloud.hard.api.vo.HardGetAuthAppVo;
+import com.bsd.pjcloud.hard.api.vo.order.HardAppCreateThirdDoorOrderVo;
import com.bsd.pjcloud.hard.service.HardAuthService;
import jakarta.validation.Valid;
import org.springframework.security.access.prepost.PreAuthorize;
@@ -48,17 +50,28 @@ public class HardAuthController {
public R appGetAuthHardDoor(@Valid @RequestBody HardGetAuthAppDto dto) {
PjcloudUser user = SecurityUtils.getUser();
dto.setUserId(user.getId());
+ dto.setUserType(UserTypeEnum.valueOfByStatus(user.getUserType()));
return R.ok(hardAuthService.appGetAuthHardDoor(dto));
}
@Operation(summary = "app智能柜授权", description = "app智能柜授权")
@PostMapping("/app/auth-hard-door")
- public R appAuthHardDoor(@Valid @RequestBody HardAuthAppDto dto) {
+ public R appAuthHardDoor(@Valid @RequestBody HardAuthAppDto dto) {
PjcloudUser user = SecurityUtils.getUser();
dto.setUserId(user.getId());
+ dto.setUserType(UserTypeEnum.valueOfByStatus(user.getUserType()));
return R.ok(hardAuthService.appAuthHardDoor(dto));
}
+ @Operation(summary = "app创建第三方免密支付", description = "app创建第三方免密支付")
+ @PostMapping("/app/auth-create-third-door-order")
+ public R appCreateThirdDoorOrder(@Valid @RequestBody HardAuthAppDto dto) {
+ PjcloudUser user = SecurityUtils.getUser();
+ dto.setUserId(user.getId());
+ dto.setUserType(UserTypeEnum.valueOfByStatus(user.getUserType()));
+ return R.ok(hardAuthService.appCreateThirdDoorOrder(dto));
+ }
+
/* ************************************* end app end ************************************* */
@Operation(summary = "流程错误手动处理", description = "流程错误手动处理")
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAuthService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAuthService.java
index bd5b661e..e1ec1aaa 100644
--- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAuthService.java
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardAuthService.java
@@ -10,6 +10,7 @@ import com.bsd.pjcloud.hard.api.dto.HardGetAuthAppDto;
import com.bsd.pjcloud.hard.api.entity.HardAuthEntity;
import com.bsd.pjcloud.hard.api.vo.HardAuthVo;
import com.bsd.pjcloud.hard.api.vo.HardGetAuthAppVo;
+import com.bsd.pjcloud.hard.api.vo.order.HardAppCreateThirdDoorOrderVo;
import jakarta.validation.Valid;
public interface HardAuthService extends IService {
@@ -26,6 +27,11 @@ public interface HardAuthService extends IService {
*/
Long appAuthHardDoor(HardAuthAppDto dto);
+ /**
+ * app创建第三方免密支付
+ */
+ HardAppCreateThirdDoorOrderVo appCreateThirdDoorOrder(@Valid HardAuthAppDto dto);
+
/**
* 判断当前用户信誉
*/
@@ -35,4 +41,5 @@ public interface HardAuthService extends IService {
* 流程错误手动处理
*/
void errorChange(HardAuthErrorChangeDto dto, Long userId);
+
}
\ No newline at end of file
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorFlowService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorFlowService.java
index 001fff8b..c8458ae6 100644
--- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorFlowService.java
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardDoorFlowService.java
@@ -2,6 +2,7 @@ package com.bsd.pjcloud.hard.service;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
+import com.bsd.pjcloud.common.core.constant.enums.UserTypeEnum;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.hard.api.dto.HardDoorFlowDto;
import com.bsd.pjcloud.hard.api.dto.HardDoorFlowOpenDto;
@@ -40,7 +41,7 @@ public interface HardDoorFlowService extends IService {
/**
* 购买开门
*/
- void openDoorPay(HardDoorFlowOpenDto dto, HardDoorManagerVo hardDoorDetail);
+ void openDoorPay(HardDoorFlowOpenDto dto, HardDoorManagerVo hardDoorDetail, UserTypeEnum userType);
/**
* 上架开门
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java
index e80c4836..63985dbd 100644
--- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/HardOrderService.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import com.bsd.pjcloud.admin.api.dto.UserInfo;
import com.bsd.pjcloud.admin.api.entity.SysUser;
+import com.bsd.pjcloud.common.core.constant.enums.UserTypeEnum;
import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum;
import com.bsd.pjcloud.common.data.datascope.DataScope;
import com.bsd.pjcloud.common.security.service.PjcloudUser;
@@ -90,7 +91,7 @@ public interface HardOrderService extends IService {
/**
* 创建智能柜订单
*/
- Long createHardDoorOrder(Long userId, Long hardId);
+ Long createHardDoorOrder(Long userId, UserTypeEnum userType, Long hardId);
/**
* 结算智能柜订单
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/MiniAlipayService.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/MiniAlipayService.java
new file mode 100644
index 00000000..aca1dcea
--- /dev/null
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/MiniAlipayService.java
@@ -0,0 +1,17 @@
+package com.bsd.pjcloud.hard.service;
+
+
+import com.alipay.api.response.AlipayFundAuthOrderAppFreezeResponse;
+
+public interface MiniAlipayService {
+
+ /**
+ * 获取智能柜小程序二维码
+ */
+ String getDoorMiniQrCode(String hardDoorId, String cabinetNo);
+
+ /**
+ * 支付宝冻结金额
+ */
+ AlipayFundAuthOrderAppFreezeResponse freezeAmount(Long authId);
+}
diff --git a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java
index c53ad472..3ab15098 100644
--- a/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java
+++ b/pjcloud-hardware/pjcloud-hardware-biz/src/main/java/com/bsd/pjcloud/hard/service/impl/HardAuthServiceImpl.java
@@ -1,12 +1,14 @@
package com.bsd.pjcloud.hard.service.impl;
import cn.hutool.core.util.ObjectUtil;
+import com.alipay.api.response.AlipayFundAuthOrderAppFreezeResponse;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.bsd.pjcloud.admin.api.feign.RemoteUserService;
import com.bsd.pjcloud.admin.api.utils.DataUtil;
import com.bsd.pjcloud.admin.api.vo.UserVO;
+import com.bsd.pjcloud.common.core.constant.enums.UserTypeEnum;
import com.bsd.pjcloud.common.core.constant.enums.YesNoEnum;
import com.bsd.pjcloud.common.core.util.CollectionUtils;
import com.bsd.pjcloud.common.core.util.R;
@@ -23,12 +25,11 @@ import com.bsd.pjcloud.hard.api.utils.HardUtil;
import com.bsd.pjcloud.hard.api.vo.HardAuthVo;
import com.bsd.pjcloud.hard.api.vo.HardGetAuthAppVo;
import com.bsd.pjcloud.hard.api.vo.manager.HardDoorManagerVo;
+import com.bsd.pjcloud.hard.api.vo.order.HardAppCreateThirdDoorOrderVo;
import com.bsd.pjcloud.hard.mapper.HardAuthMapper;
import com.bsd.pjcloud.hard.mapper.manager.HardManagerMapper;
-import com.bsd.pjcloud.hard.service.HardAuthService;
-import com.bsd.pjcloud.hard.service.HardDoorFlowService;
-import com.bsd.pjcloud.hard.service.HardDoorManagerService;
-import com.bsd.pjcloud.hard.service.HardOrderService;
+import com.bsd.pjcloud.hard.service.*;
+import com.bsd.pjcloud.hard.service.impl.ali.MiniAlipayServiceImpl;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
@@ -51,6 +52,7 @@ public class HardAuthServiceImpl extends ServiceImpl spuList = hardSpuJoinService.getSpuList(hardDoorDetail.getId(), dto.getCabinetNo());
if (ObjectUtil.isEmpty(spuList) || spuList.isEmpty()) throw new RuntimeException("货柜商品信息为空,请上架");
- getSelf().openDoor(dto, hardDoorDetail);
+ getSelf().openDoor(dto, hardDoorDetail, userType);
}
/**
@@ -223,7 +226,7 @@ public class HardDoorFlowServiceImpl extends ServiceImpl ObjectUtil.equals(type, v.getType())).findFirst().get();
+ }
+
+}
diff --git a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java
index b9d39667..4beac831 100644
--- a/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java
+++ b/pjcloud-wallet/pjcloud-wallet-biz/src/main/java/com/bsd/pjcloud/wallet/service/impl/WalletManageServiceImpl.java
@@ -545,6 +545,9 @@ public class WalletManageServiceImpl extends ServiceImpl= 100 * 100) {
return null;
}
diff --git a/pom.xml b/pom.xml
index 32f11c84..19e0d7d7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -16,7 +16,9 @@
~ this software without specific prior written permission.
~ Author: pjcloud
~
- -->
+ -->
+
4.0.0
com.bsd
@@ -116,16 +118,16 @@
pjcloud-common
pjcloud-flow
pjcloud-visual
-
+ pjcloud-app-server
pjcloud-thirdparty
pjcloud-canteen
pjcloud-integrated
pjcloud-wallet
pjcloud-supermarket
pjcloud-hardware
- pjcloud-mqtt
- pjcloud-pass
-
+ pjcloud-mqtt
+ pjcloud-pass
+