diff --git a/nxhs-service/src/main/java/cc/yunxi/controller/EnterpriseController.java b/nxhs-service/src/main/java/cc/yunxi/controller/EnterpriseController.java
index 397bfda..8b3003a 100644
--- a/nxhs-service/src/main/java/cc/yunxi/controller/EnterpriseController.java
+++ b/nxhs-service/src/main/java/cc/yunxi/controller/EnterpriseController.java
@@ -1,9 +1,27 @@
package cc.yunxi.controller;
-import org.springframework.web.bind.annotation.RequestMapping;
+import cc.yunxi.aspect.UserTypeAnnotation;
+import cc.yunxi.common.domain.CommonResult;
+import cc.yunxi.common.domain.PageDTO;
+import cc.yunxi.domain.dto.UserDTO;
+import cc.yunxi.domain.po.Client;
+import cc.yunxi.domain.po.EnterpriseWallet;
+import cc.yunxi.domain.query.ClientQuery;
+import cc.yunxi.domain.query.WalletQuery;
+import cc.yunxi.domain.vo.client.ClientRespVO;
+import cc.yunxi.domain.vo.enterprise.WalletVO;
+import cc.yunxi.enums.UserTypeEnum;
+import cc.yunxi.service.IClientService;
+import cc.yunxi.service.IEnterpriseService;
+import cc.yunxi.service.IEnterpriseWalletService;
+import cc.yunxi.utils.UserContext;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
-import org.springframework.web.bind.annotation.RestController;
/**
*
@@ -13,8 +31,42 @@ import org.springframework.web.bind.annotation.RestController;
* @author ccongli
* @since 2024-03-10 09:04:53
*/
+@Api(tags = "机构用户接口")
@RestController
@RequestMapping("/enterprise")
+@RequiredArgsConstructor
+@UserTypeAnnotation(UserTypeEnum.RECYCLER)
public class EnterpriseController {
+ private final IEnterpriseWalletService enterpriseWalletService;
+
+
+ @ApiOperation("是否是商户用户,是则返回y,否则返回n")
+ @PostMapping("/is-org-user")
+ public CommonResult isOrgUser(@RequestParam("phone") String phone) {
+
+ String result = enterpriseWalletService.isOrgUser(phone);
+
+ return CommonResult.success(result);
+ }
+
+ @ApiOperation("商户充值")
+ @PostMapping("/add-wallet")
+ public CommonResult addWallet(@RequestBody WalletVO walletVO) {
+ UserDTO userDTO = UserContext.getUser();
+ String result = enterpriseWalletService.addWallet(walletVO);
+
+ return CommonResult.success(true);
+ }
+
+ @ApiOperation("商户充值列表")
+ @PostMapping("/list-wallet")
+ public CommonResult> getWallets(@RequestBody WalletQuery walletQuery) {
+ // 1.分页查询
+ Page result = enterpriseWalletService.queryWalletByPage(walletQuery);
+ // 2.封装并返回
+ PageDTO walletPageVO = PageDTO.of(result, WalletVO.class);
+
+ return CommonResult.success(walletPageVO);
+ }
}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/po/EnterpriseWallet.java b/nxhs-service/src/main/java/cc/yunxi/domain/po/EnterpriseWallet.java
new file mode 100644
index 0000000..4665f2e
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/po/EnterpriseWallet.java
@@ -0,0 +1,99 @@
+package cc.yunxi.domain.po;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+/**
+ *
+ * 企业(商户)信息
+ *
+ *
+ * @author ccongli
+ * @since 2024-03-10 09:04:53
+ */
+@Data
+@TableName("base_wallet")
+@ApiModel(value = "Enterprise钱包流水对象", description = "钱包流水对象")
+public class EnterpriseWallet {
+
+ @ApiModelProperty("流水id")
+ @TableId(value = "id", type = IdType.ASSIGN_ID)
+ private String id;
+
+ @ApiModelProperty("商户pid")
+ @TableField(value = "buiness_id")
+ private String buinessId;
+
+ @ApiModelProperty("流水编号")
+ @TableField("code")
+ private String code;
+
+ @ApiModelProperty("订单编号")
+ @TableField("order_code")
+ private String orderCode;
+
+ @ApiModelProperty("类型(1:充值订单 2:提款订单)")
+ @TableField("wallet_type")
+ private String walletType;
+
+ @ApiModelProperty("申请时间")
+ @TableField("apply_time")
+ private LocalDateTime applyTime;
+
+ @ApiModelProperty("备注")
+ @TableField("description")
+ private String description;
+
+ @ApiModelProperty("费用项目(1:预存款)")
+ @TableField("expense_type")
+ private String expenseType;
+
+ @ApiModelProperty("单据状态(1:未入账 2:已出账)")
+ @TableField("order_status")
+ private String orderStatus;
+
+ @ApiModelProperty("充值状态(1:未充值 2:已充值)")
+ @TableField("recharge_status")
+ private String rechargeStatus;
+
+ @ApiModelProperty("金额")
+ @TableField("price_star")
+ private BigDecimal price_star;
+
+ @ApiModelProperty("上传凭证图片")
+ @TableField("photo")
+ private String photo;
+
+ @ApiModelProperty("上传附件")
+ @TableField("file")
+ private String file;
+
+ @ApiModelProperty("公司id")
+ @TableField("company_id")
+ private String companyId;
+
+ @ApiModelProperty("组织id")
+ @TableField("organize_json_id")
+ private String organizeJsonId;
+
+
+
+ @ApiModelProperty("创建时间")
+ @TableField("f_creator_time")
+ private LocalDateTime creatorTime;
+
+ @ApiModelProperty("修改时间")
+ @TableField("f_last_modify_time")
+ private Date fLastModifyTime;
+
+
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/query/WalletQuery.java b/nxhs-service/src/main/java/cc/yunxi/domain/query/WalletQuery.java
new file mode 100644
index 0000000..a18031e
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/query/WalletQuery.java
@@ -0,0 +1,19 @@
+package cc.yunxi.domain.query;
+
+import cc.yunxi.common.domain.PageQuery;
+import cc.yunxi.domain.po.Client;
+import cc.yunxi.domain.po.EnterpriseWallet;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+@ApiModel(value = "WalletQuery", description = "充值查询条件")
+public class WalletQuery extends PageQuery {
+
+ @ApiModelProperty("联系电话")
+ private String mobilePhone;
+
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/domain/vo/enterprise/WalletVO.java b/nxhs-service/src/main/java/cc/yunxi/domain/vo/enterprise/WalletVO.java
new file mode 100644
index 0000000..c815f9e
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/domain/vo/enterprise/WalletVO.java
@@ -0,0 +1,65 @@
+package cc.yunxi.domain.vo.enterprise;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import io.swagger.annotations.ApiModel;
+import io.swagger.annotations.ApiModelProperty;
+import lombok.Data;
+
+import javax.validation.constraints.Max;
+import javax.validation.constraints.Min;
+import javax.validation.constraints.NotBlank;
+import javax.validation.constraints.NotNull;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+
+@ApiModel(description = "商户余额充值 Request VO")
+@Data
+public class WalletVO {
+
+ @ApiModelProperty("流水id")
+ private String id;
+
+ @ApiModelProperty("商户pid")
+ private String buinessId;
+
+ @ApiModelProperty("流水编号")
+ private String code;
+
+ @ApiModelProperty("订单编号")
+ private String orderCode;
+
+ @ApiModelProperty("类型(1:充值订单 2:提款订单)")
+ private String walletType;
+
+ @ApiModelProperty("申请时间")
+ private LocalDateTime applyTime;
+
+ @ApiModelProperty("备注")
+ private String description;
+
+ @ApiModelProperty("费用项目(1:预存款)")
+ private String expenseType;
+
+ @ApiModelProperty("单据状态(1:未入账 2:已出账)")
+ private String orderStatus;
+
+ @ApiModelProperty("充值状态(1:未充值 2:已充值)")
+ private String rechargeStatus;
+
+ @ApiModelProperty("金额")
+ private BigDecimal price_star;
+
+ @ApiModelProperty("上传凭证图片")
+ private String photo;
+
+ @ApiModelProperty("上传附件")
+ private String file;
+
+ @ApiModelProperty("公司id")
+ private String companyId;
+
+ @ApiModelProperty("组织id")
+ private String organizeJsonId;
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/mapper/WalletMapper.java b/nxhs-service/src/main/java/cc/yunxi/mapper/WalletMapper.java
new file mode 100644
index 0000000..1297ce2
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/mapper/WalletMapper.java
@@ -0,0 +1,21 @@
+package cc.yunxi.mapper;
+
+import cc.yunxi.domain.po.Enterprise;
+import cc.yunxi.domain.po.EnterpriseWallet;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ *
+ * 钱包流水(商户)信息 Mapper 接口
+ *
+ *
+ * @author ccongli
+ * @since 2024-03-10 09:04:53
+ */
+@Mapper
+public interface WalletMapper extends BaseMapper {
+
+ String queryOrgUserByPhone(String Phone);
+
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseService.java b/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseService.java
index 61acbec..4818323 100644
--- a/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseService.java
+++ b/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseService.java
@@ -1,6 +1,10 @@
package cc.yunxi.service;
import cc.yunxi.domain.po.Enterprise;
+import cc.yunxi.domain.po.EnterpriseWallet;
+import cc.yunxi.domain.query.WalletQuery;
+import cc.yunxi.domain.vo.enterprise.WalletVO;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
/**
@@ -34,4 +38,7 @@ public interface IEnterpriseService extends IService {
* @param amount
*/
void rechargeBalance(String merchantId, Integer amount);
+
+
+
}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseWalletService.java b/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseWalletService.java
new file mode 100644
index 0000000..e5bcdcb
--- /dev/null
+++ b/nxhs-service/src/main/java/cc/yunxi/service/IEnterpriseWalletService.java
@@ -0,0 +1,28 @@
+package cc.yunxi.service;
+
+import cc.yunxi.domain.po.Enterprise;
+import cc.yunxi.domain.po.EnterpriseWallet;
+import cc.yunxi.domain.query.WalletQuery;
+import cc.yunxi.domain.vo.enterprise.WalletVO;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ *
+ * 企业(商户)钱包信息 服务类
+ *
+ *
+ * @author ccongli
+ * @since 2024-03-10 09:04:53
+ */
+public interface IEnterpriseWalletService extends IService {
+
+
+ String isOrgUser(String phone);
+
+ String addWallet(WalletVO walletVO);
+
+ Page queryWalletByPage(WalletQuery walletQuery);
+
+
+}
diff --git a/nxhs-service/src/main/java/cc/yunxi/service/impl/EnterpriseServiceImpl.java b/nxhs-service/src/main/java/cc/yunxi/service/impl/EnterpriseServiceImpl.java
index 8de573d..1164dc7 100644
--- a/nxhs-service/src/main/java/cc/yunxi/service/impl/EnterpriseServiceImpl.java
+++ b/nxhs-service/src/main/java/cc/yunxi/service/impl/EnterpriseServiceImpl.java
@@ -1,23 +1,29 @@
package cc.yunxi.service.impl;
+import cc.yunxi.common.domain.LambdaQueryWrapperX;
import cc.yunxi.common.exception.BizIllegalException;
+import cc.yunxi.common.utils.BeanUtils;
import cc.yunxi.common.utils.CommonUtil;
-import cc.yunxi.domain.po.Enterprise;
-import cc.yunxi.domain.po.EnterpriseAccountBill;
-import cc.yunxi.domain.po.RecycleStation;
+import cc.yunxi.domain.po.*;
+import cc.yunxi.domain.query.WalletQuery;
+import cc.yunxi.domain.vo.client.ClientRespVO;
+import cc.yunxi.domain.vo.enterprise.WalletVO;
import cc.yunxi.enums.BusinessCodeEnum;
import cc.yunxi.enums.GlobalStatusEnum;
import cc.yunxi.mapper.EnterpriseAccountBillMapper;
import cc.yunxi.mapper.EnterpriseMapper;
+import cc.yunxi.mapper.WalletMapper;
import cc.yunxi.service.IEnterpriseService;
import cc.yunxi.service.IRecycleStationService;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
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 org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import org.springframework.util.StringUtils;
import javax.annotation.Resource;
import java.math.BigDecimal;
@@ -41,6 +47,8 @@ public class EnterpriseServiceImpl extends ServiceImpl
+ * 企业(商户)信息 服务实现类
+ *
+ *
+ * @author ccongli
+ * @since 2024-03-10 09:04:53
+ */
+@Service
+public class EnterpriseWalletServiceImpl extends ServiceImpl implements IEnterpriseWalletService {
+
+ @Autowired
+ private WalletMapper walletMapper;
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public String isOrgUser(String phone) {
+
+ // 返回内容
+ String result= "n";
+ String orgUserId = walletMapper.queryOrgUserByPhone(phone);
+
+ // 根据移动电话查找商户用户信息,有则返回y,无则返回n
+ if(orgUserId != null){
+ result= "y";
+ }
+
+ return result;
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public String addWallet(WalletVO walletVO) {
+ EnterpriseWallet enterpriseWallet = BeanUtils.copyBean(walletVO, EnterpriseWallet.class);
+ // 返回内容
+
+ walletMapper.insert(enterpriseWallet);
+
+ return enterpriseWallet.getId();
+ }
+
+ @Override
+ @Transactional(rollbackFor = Exception.class)
+ public Page queryWalletByPage(WalletQuery walletQuery){
+
+ LambdaQueryWrapperX wrapperX = new LambdaQueryWrapperX<>();
+ wrapperX.eqIfPresent(EnterpriseWallet::getPhoto, walletQuery.getMobilePhone());
+
+ Page pageDO = walletQuery.buildPage();
+ return this.page(pageDO, wrapperX);
+
+ }
+
+}
diff --git a/nxhs-service/src/main/resources/mapper/WalletMapper.xml b/nxhs-service/src/main/resources/mapper/WalletMapper.xml
new file mode 100644
index 0000000..b6c2814
--- /dev/null
+++ b/nxhs-service/src/main/resources/mapper/WalletMapper.xml
@@ -0,0 +1,11 @@
+
+
+
+
+
+
+
+
+