feat(订单): 添加支付状态查询条件排除未支付订单
docs(数据库): 新增用户余额表结构 feat(微信用户): 添加绑定微信小程序用户到汇邦云功能
This commit is contained in:
parent
e41c7c27f5
commit
419cab9048
|
|
@ -1,10 +1,14 @@
|
||||||
package com.agileboot.admin.controller.shop;
|
package com.agileboot.admin.controller.shop;
|
||||||
|
|
||||||
|
import cn.hutool.json.JSONUtil;
|
||||||
import com.agileboot.admin.customize.aop.accessLog.AccessLog;
|
import com.agileboot.admin.customize.aop.accessLog.AccessLog;
|
||||||
import com.agileboot.common.core.base.BaseController;
|
import com.agileboot.common.core.base.BaseController;
|
||||||
import com.agileboot.common.core.dto.ResponseDTO;
|
import com.agileboot.common.core.dto.ResponseDTO;
|
||||||
import com.agileboot.common.core.page.PageDTO;
|
import com.agileboot.common.core.page.PageDTO;
|
||||||
import com.agileboot.common.enums.common.BusinessTypeEnum;
|
import com.agileboot.common.enums.common.BusinessTypeEnum;
|
||||||
|
import com.agileboot.common.exception.ApiException;
|
||||||
|
import com.agileboot.common.exception.error.ErrorCode;
|
||||||
|
import com.agileboot.domain.ab98.user.command.BindWxMpUserCommand;
|
||||||
import com.agileboot.domain.common.command.BulkOperationCommand;
|
import com.agileboot.domain.common.command.BulkOperationCommand;
|
||||||
import com.agileboot.domain.shop.wxuser.WxUserInfoApplicationService;
|
import com.agileboot.domain.shop.wxuser.WxUserInfoApplicationService;
|
||||||
import com.agileboot.domain.shop.wxuser.command.AddWxUserInfoCommand;
|
import com.agileboot.domain.shop.wxuser.command.AddWxUserInfoCommand;
|
||||||
|
|
@ -12,10 +16,14 @@ import com.agileboot.domain.shop.wxuser.command.UpdateWxUserInfoCommand;
|
||||||
import com.agileboot.domain.shop.wxuser.db.WxUserInfoEntity;
|
import com.agileboot.domain.shop.wxuser.db.WxUserInfoEntity;
|
||||||
import com.agileboot.domain.shop.wxuser.dto.WxUserInfoDTO;
|
import com.agileboot.domain.shop.wxuser.dto.WxUserInfoDTO;
|
||||||
import com.agileboot.domain.shop.wxuser.query.SearchWxUserInfoQuery;
|
import com.agileboot.domain.shop.wxuser.query.SearchWxUserInfoQuery;
|
||||||
|
import com.agileboot.domain.wx.user.WxUserApplicationService;
|
||||||
|
import io.swagger.annotations.ApiOperation;
|
||||||
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.Operation;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import javax.validation.constraints.NotNull;
|
import javax.validation.constraints.NotNull;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
import org.apache.commons.lang3.StringUtils;
|
||||||
import org.springframework.validation.annotation.Validated;
|
import org.springframework.validation.annotation.Validated;
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
import org.springframework.web.bind.annotation.DeleteMapping;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.GetMapping;
|
||||||
|
|
@ -30,9 +38,11 @@ import org.springframework.web.bind.annotation.RestController;
|
||||||
@RequestMapping("/shop/wxuser")
|
@RequestMapping("/shop/wxuser")
|
||||||
@RequiredArgsConstructor
|
@RequiredArgsConstructor
|
||||||
@Validated
|
@Validated
|
||||||
|
@Slf4j
|
||||||
public class WxUserInfoController extends BaseController {
|
public class WxUserInfoController extends BaseController {
|
||||||
|
|
||||||
private final WxUserInfoApplicationService applicationService;
|
private final WxUserInfoApplicationService applicationService;
|
||||||
|
private final WxUserApplicationService wxUserApplicationService;
|
||||||
|
|
||||||
@Operation(summary = "微信用户列表")
|
@Operation(summary = "微信用户列表")
|
||||||
@GetMapping
|
@GetMapping
|
||||||
|
|
@ -65,4 +75,26 @@ public class WxUserInfoController extends BaseController {
|
||||||
applicationService.deleteWxUser(new BulkOperationCommand<>(ids));
|
applicationService.deleteWxUser(new BulkOperationCommand<>(ids));
|
||||||
return ResponseDTO.ok();
|
return ResponseDTO.ok();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@PostMapping("/bindWxMpUser")
|
||||||
|
@ApiOperation(value = "绑定微信小程序用户到汇邦云", notes = "通过动态码、姓名、身份证绑定微信小程序用户到汇邦云")
|
||||||
|
public ResponseDTO<String> bindWxMpUser(@RequestBody BindWxMpUserCommand command) {
|
||||||
|
if (command == null || StringUtils.isBlank(command.getDynamicCode()) || StringUtils.isBlank(command.getName()) || StringUtils.isBlank(command.getIdNum())) {
|
||||||
|
log.error("绑定微信小程序用户到汇邦云参数错误: {}", JSONUtil.toJsonStr(command));
|
||||||
|
return ResponseDTO.fail(new ApiException(ErrorCode.Client.COMMON_REQUEST_PARAMETERS_INVALID, "参数错误"));
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
boolean success = wxUserApplicationService.bindWxMpUser(command);
|
||||||
|
if (success) {
|
||||||
|
return ResponseDTO.ok("绑定成功");
|
||||||
|
} else {
|
||||||
|
return ResponseDTO.fail(new ApiException(ErrorCode.Internal.INTERNAL_ERROR, "绑定失败"));
|
||||||
|
}
|
||||||
|
} catch (Exception e) {
|
||||||
|
log.error("绑定微信小程序用户到汇邦云失败: ", e);
|
||||||
|
return ResponseDTO.fail(new ApiException(ErrorCode.Internal.INTERNAL_ERROR, "绑定失败: " + e.getMessage()));
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -456,6 +456,7 @@ public class OrderApplicationService {
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
// 根据查询条件获取订单列表
|
// 根据查询条件获取订单列表
|
||||||
|
// 添加支付状态为已支付的查询条件,排除未支付订单
|
||||||
orderQueryWrapper.eq("pay_status", 2);
|
orderQueryWrapper.eq("pay_status", 2);
|
||||||
List<ShopOrderEntity> orderList = orderService.list(orderQueryWrapper);
|
List<ShopOrderEntity> orderList = orderService.list(orderQueryWrapper);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,19 @@
|
||||||
|
CREATE TABLE `user_balance` (
|
||||||
|
`user_balance_id` bigint NOT NULL AUTO_INCREMENT COMMENT '主键ID',
|
||||||
|
`corpid` varchar(50) NOT NULL COMMENT '企业微信id',
|
||||||
|
`openid` varchar(32) DEFAULT NULL COMMENT 'openid',
|
||||||
|
`ab98_user_id` bigint NOT NULL COMMENT '汇邦云用户ID',
|
||||||
|
`qy_user_id` bigint DEFAULT NULL COMMENT '企业用户id',
|
||||||
|
`balance` bigint NOT NULL DEFAULT 0 COMMENT '用户余额(单位:分)',
|
||||||
|
`use_balance` bigint NOT NULL DEFAULT 0 COMMENT '用户余额(单位:分)',
|
||||||
|
`balance_limit` bigint NOT NULL DEFAULT 0 COMMENT '用户余额(单位:分)',
|
||||||
|
`creator_id` bigint NULL DEFAULT 0 COMMENT '创建者ID',
|
||||||
|
`create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
|
||||||
|
`updater_id` bigint NULL DEFAULT 0 COMMENT '更新者ID',
|
||||||
|
`update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
|
||||||
|
PRIMARY KEY (`user_balance_id`),
|
||||||
|
KEY `idx_openid` (`openid`),
|
||||||
|
KEY `idx_ab98_user_id` (`ab98_user_id`),
|
||||||
|
KEY `idx_corpid` (`corpid`),
|
||||||
|
UNIQUE KEY `uk_corpid_user` (`corpid`, `ab98_user_id`)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='用户余额表';
|
||||||
Loading…
Reference in New Issue