浏览代码

Merge branch 'master' of http://git.kdan.cc:8865/Server_Service/pdf_office_back_end

wangPH 2 年之前
父节点
当前提交
86d6b9f505
共有 18 个文件被更改,包括 480 次插入21 次删除
  1. 49 4
      pdf-office-account/src/main/java/cn/kdan/cloud/pdf/office/account/controller/UserController.java
  2. 8 1
      pdf-office-account/src/main/java/cn/kdan/cloud/pdf/office/account/mapper/ext/ExtUserMapper.java
  3. 44 2
      pdf-office-account/src/main/java/cn/kdan/cloud/pdf/office/account/service/UserService.java
  4. 61 13
      pdf-office-account/src/main/java/cn/kdan/cloud/pdf/office/account/service/impl/UserServiceImpl.java
  5. 6 0
      pdf-office-account/src/main/resources/sqlmap/ext/ExtUserMapper.xml
  6. 31 0
      pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/dto/PermissionGiftDTO.java
  7. 16 0
      pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/dto/PermissionTransferDTO.java
  8. 21 0
      pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/dto/UpdateUserForPaySuccessDTO.java
  9. 21 0
      pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/dto/UpdateUserForRefundDTO.java
  10. 19 1
      pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/feign/UserApi.java
  11. 12 0
      pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/feign/hystrix/UserHystrix.java
  12. 28 0
      pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/AccountTypeEnum.java
  13. 31 0
      pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/MemberTypeEnum.java
  14. 25 0
      pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/PDFOfficeUserStatusEnum.java
  15. 39 0
      pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/PaidTypeEnum.java
  16. 27 0
      pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/PlatformTypeEnum.java
  17. 19 0
      pdf-office-payment/src/main/java/cn/kdan/cloud/pdf/office/payment/service/ProductService.java
  18. 23 0
      pdf-office-payment/src/main/java/cn/kdan/cloud/pdf/office/payment/service/impl/ProductServiceImpl.java

+ 49 - 4
pdf-office-account/src/main/java/cn/kdan/cloud/pdf/office/account/controller/UserController.java

@@ -2,6 +2,10 @@ package cn.kdan.cloud.pdf.office.account.controller;
 
 import cn.kdan.cloud.pdf.office.account.vo.UserDetailVO;
 import cn.kdan.cloud.pdf.office.account.vo.UserPageVO;
+import cn.kdan.cloud.pdf.office.api.account.dto.PermissionGiftDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.PermissionTransferDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForPaySuccessDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForRefundDTO;
 import cn.kdan.cloud.pdf.office.common.constant.CommonConstant;
 import cn.kdan.cloud.pdf.office.common.dto.UserRegisterDTO;
 import cn.kdan.cloud.pdf.office.common.pojo.ResultMap;
@@ -25,10 +29,6 @@ public class UserController {
     private UserService userService;
 
 
-    @GetMapping("getByAccount")
-    public ResultMap<UserInfoVO> getByAccount(@RequestParam String account) {
-        return new ResultMap<>(CommonConstant.SUCCESS, UserConstant.USER_QUERY_SUCCESS, userService.getByAccount(account));
-    }
 
     /**
      * 获取指定产品的账号
@@ -102,9 +102,54 @@ public class UserController {
      * @param userId 用户id
      * @return ResultMap
      */
+    @GetMapping("/detail")
     public ResultMap<UserDetailVO> detail(@RequestParam String userId) {
         return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS,userService.detail(userId));
     }
 
+    /**
+     * 权限赠送
+     *
+     * @param permissionGiftDTO permissionGiftDTO
+     * @return Boolean
+     */
+    @PostMapping("/permissionGift")
+    public ResultMap<Boolean> permissionGift(@RequestBody PermissionGiftDTO permissionGiftDTO) {
+        userService.permissionGift(permissionGiftDTO);
+        return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS,Boolean.TRUE);
+    }
+
+    /**
+     * 权限转移
+     *
+     * @param permissionTransferDTO permissionTransferDTO
+     * @return Boolean
+     */
+    @PostMapping("/permissionTransfer")
+    public ResultMap<Boolean> permissionTransfer(@RequestBody PermissionTransferDTO permissionTransferDTO) {
+        userService.permissionTransfer(permissionTransferDTO);
+        return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS,Boolean.TRUE);
+    }
+
+    /**
+     * 支付成功之后修改用户状态
+     *
+     * @param updateUserForPaySuccessDTO dto
+     */
+    @PostMapping("/updateUserForPaySuccess")
+    public ResultMap<Boolean> updateUserForPaySuccess(@RequestBody UpdateUserForPaySuccessDTO updateUserForPaySuccessDTO) {
+        userService.updateUserForPaySuccess(updateUserForPaySuccessDTO);
+        return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS,Boolean.TRUE);
+    }
+    /**
+     * 退款成功之后修改用户状态
+     *
+     * @param updateUserForRefundDTO dto
+     */
+    @PostMapping("/updateUserForRefund")
+    public ResultMap<Boolean> updateUserForRefund(@RequestBody UpdateUserForRefundDTO updateUserForRefundDTO) {
+        userService.updateUserForRefund(updateUserForRefundDTO);
+        return new ResultMap<>(CommonConstant.SUCCESS, CommonConstant.RESULT_SUCCESS,Boolean.TRUE);
+    }
 
 }

+ 8 - 1
pdf-office-account/src/main/java/cn/kdan/cloud/pdf/office/account/mapper/ext/ExtUserMapper.java

@@ -15,7 +15,7 @@ public interface ExtUserMapper  extends UserMapper {
      * @param account account
      * @return User
      */
-    List<User> getByAccount(@Param("account") String account,@Param("appId") String appId,@Param("platformType") String platformType);
+    List<User> getByAccount(@Param("account") String account,@Param("appId") String appId,@Param("platformType") Integer platformType);
 
     /**
      * 分页查询
@@ -43,4 +43,11 @@ public interface ExtUserMapper  extends UserMapper {
                                    @Param("endTime") Date endTime,
                                    @Param("queryString") List<String> queryString);
 
+    /**
+     * 获取用户(用户权限转移)
+     *
+     * @param userId 用户id
+     * @return UserPageVO
+     */
+    UserPageVO getUserByIdWithApp( @Param("userId") String userId);
 }

+ 44 - 2
pdf-office-account/src/main/java/cn/kdan/cloud/pdf/office/account/service/UserService.java

@@ -2,6 +2,10 @@ package cn.kdan.cloud.pdf.office.account.service;
 
 import cn.kdan.cloud.pdf.office.account.vo.UserDetailVO;
 import cn.kdan.cloud.pdf.office.account.vo.UserPageVO;
+import cn.kdan.cloud.pdf.office.api.account.dto.PermissionGiftDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.PermissionTransferDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForPaySuccessDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForRefundDTO;
 import cn.kdan.cloud.pdf.office.common.dto.UserRegisterDTO;
 import cn.kdan.cloud.pdf.office.common.utils.BeanConverter;
 import cn.kdan.cloud.pdf.office.common.vo.UserInfoVO;
@@ -20,6 +24,8 @@ public interface UserService {
 
     UserInfoVO getById(String userId);
 
+    User getUser(String userId);
+
     /**
      * 分页查询
      *
@@ -47,7 +53,8 @@ public interface UserService {
                               Date endTime,
                               List<String> queryString);
 
-    UserInfoVO getByAccount(String account);
+
+    User getByAccount(String account, String appId, String platformType);
 
     /**
      * 登录时查询
@@ -59,6 +66,13 @@ public interface UserService {
     UserInfoVO getByAppAccount(String account, String appId, String platformType);
 
 
+    /**
+     * 获取用户(用于用户权限转移)
+     * @param userId 用户id
+     * @return UserPageVO
+     */
+    UserPageVO getUserForTransfer(String userId);
+
     /**
      * 运营后台获取账号详情
      *
@@ -67,10 +81,38 @@ public interface UserService {
      */
     UserDetailVO detail(String userId);
 
+    /**
+     * 支付成功之后修改用户状态
+     *
+     * @param updateUserForPaySuccessDTO dto
+     */
+    void updateUserForPaySuccess(UpdateUserForPaySuccessDTO updateUserForPaySuccessDTO);
+
+    /**
+     * 退款成功之后修改用户状态
+     *
+     * @param updateUserForRefundDTO dto
+     */
+    void updateUserForRefund(UpdateUserForRefundDTO updateUserForRefundDTO);
+
     /**
      * 注册用户
      *
-     * @param userRegisterDTO
+     * @param userRegisterDTO userRegisterDTO
      */
     void register(UserRegisterDTO userRegisterDTO);
+
+    /**
+     * 权限赠送
+     *
+     * @param permissionGiftDTO permissionGiftDTO
+     */
+    void permissionGift(PermissionGiftDTO permissionGiftDTO);
+
+    /**
+     * 权限转移
+     *
+     * @param permissionTransferDTO permissionGiftDTO
+     */
+    void permissionTransfer(PermissionTransferDTO permissionTransferDTO);
 }

+ 61 - 13
pdf-office-account/src/main/java/cn/kdan/cloud/pdf/office/account/service/impl/UserServiceImpl.java

@@ -6,12 +6,16 @@ import cn.kdan.cloud.pdf.office.account.service.CompanyService;
 import cn.kdan.cloud.pdf.office.account.service.UserService;
 import cn.kdan.cloud.pdf.office.account.vo.UserDetailVO;
 import cn.kdan.cloud.pdf.office.account.vo.UserPageVO;
+import cn.kdan.cloud.pdf.office.api.account.dto.PermissionGiftDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.PermissionTransferDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForPaySuccessDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForRefundDTO;
 import cn.kdan.cloud.pdf.office.common.constant.CommonConstant;
 import cn.kdan.cloud.pdf.office.common.dto.UserRegisterDTO;
 import cn.kdan.cloud.pdf.office.common.enums.EmailCodeTypeEnum;
 import cn.kdan.cloud.pdf.office.common.enums.ValidStatusEnum;
 import cn.kdan.cloud.pdf.office.common.enums.account.AccountTypeEnum;
-import cn.kdan.cloud.pdf.office.common.enums.account.PDFOfficeUserStatusEnum;
+import cn.kdan.cloud.pdf.office.common.enums.account.PlatformTypeEnum;
 import cn.kdan.cloud.pdf.office.common.exception.BackendRuntimeException;
 import cn.kdan.cloud.pdf.office.common.utils.CommonUtils;
 import cn.kdan.cloud.pdf.office.common.utils.RedisUtils;
@@ -46,6 +50,11 @@ public class UserServiceImpl implements UserService {
         return convert(userMapper.selectByPrimaryKey(userId));
     }
 
+    @Override
+    public User getUser(String userId) {
+        return userMapper.selectByPrimaryKey(userId);
+    }
+
     @Override
     public PageInfo<UserPageVO> page(Integer page, Integer pageSize,
                                      String selectType,
@@ -66,17 +75,18 @@ public class UserServiceImpl implements UserService {
 
 
     @Override
-    public UserInfoVO getByAccount(String account) {
-        List<User> list = userMapper.getByAccount(account,null,null);
-        return CollectionUtils.isEmpty(list) ? null : convert(list.get(0));
+    public User getByAccount(String account, String appId, String platformType) {
+        List<User> list = userMapper.getByAccount(account,appId,Integer.parseInt(platformType));
+        return CollectionUtils.isEmpty(list) ? null : list.get(0);
     }
 
     @Override
     public UserInfoVO getByAppAccount(String account,String appId,String platformType) {
-        List<User> list = userMapper.getByAccount(account,appId,platformType);
+        List<User> list = userMapper.getByAccount(account,appId,Integer.parseInt(platformType));
         return CollectionUtils.isEmpty(list) ? null : convert(list.get(0));
     }
 
+
     public UserInfoVO convert(User user) {
         if(user == null){
             return new UserInfoVO();
@@ -86,6 +96,11 @@ public class UserServiceImpl implements UserService {
         return userInfoVO;
     }
 
+    @Override
+    public UserPageVO getUserForTransfer(String userId) {
+       return userMapper.getUserByIdWithApp(userId);
+    }
+
     @Override
     public UserDetailVO detail(String userId) {
         UserDetailVO detailVO = new UserDetailVO();
@@ -100,16 +115,17 @@ public class UserServiceImpl implements UserService {
         return detailVO;
     }
 
-
-    public void updateUserForPaySuccess(String userId,String payTpe,String memberType) {
+    @Override
+    public void updateUserForPaySuccess(UpdateUserForPaySuccessDTO updateUserForPaySuccessDTO) {
         //支付成功之后修改用户状态
-        User user = userMapper.selectByPrimaryKey(userId);
+        User user = userMapper.selectByPrimaryKey(updateUserForPaySuccessDTO.getUserId());
         //通过用户可以查到对应的app
         user.setUpdatedAt(new Date());
         //账号类型 付费账号1 免费账号0 AccountTypeEnum
         user.setAccountType(AccountTypeEnum.PAID_ACCOUNT.value());
         //付费类型 0 试用 1单次购买 2订阅 3单次购买+订阅 4买断 PaidTypeEnum
         user.setPayType(null);
+        user.setMemberType(updateUserForPaySuccessDTO.getMemberType());
         //0已注销(1订阅中2订阅过期3试用中4试用过期)PDFOfficeUserStatusEnum
         //用户如果在订阅中 然后给用户赠送了试用,那么状态还是订阅中(根据付费类型和当前状态来判断)
 
@@ -117,9 +133,10 @@ public class UserServiceImpl implements UserService {
         userMapper.updateByPrimaryKey(user);
     }
 
-    public void updateUserForRefund(String userId,String paidType,String userStatus,String MemberType) {
+    @Override
+    public void updateUserForRefund(UpdateUserForRefundDTO updateUserForRefundDTO) {
         //退单之后修改用户状态
-        User user = userMapper.selectByPrimaryKey(userId);
+        User user = userMapper.selectByPrimaryKey(updateUserForRefundDTO.getUserId());
         user.setUpdatedAt(new Date());
         // 推线账号类型 付费账号1 免费账号0 AccountTypeEnum
         // user.setAccountType(AccountTypeEnum.PAID_ACCOUNT.value());
@@ -134,14 +151,43 @@ public class UserServiceImpl implements UserService {
     public void register(UserRegisterDTO userRegisterDTO) {
         //参数校验
         validRegisterParam(userRegisterDTO);
+        User user = initUser(userRegisterDTO.getAppId(),userRegisterDTO.getUsername());
+        //todo 发邮件
+    }
+
+    private User initUser(String appId, String email) {
         User user = new User();
         user.setId(CommonUtils.generateId());
-        user.setAppId(userRegisterDTO.getAppId());
-        user.setEmail(userRegisterDTO.getUsername());
+        user.setAppId(appId);
+        user.setEmail(email);
         user.setCreatedAt(new Date());
+        user.setAccountType(AccountTypeEnum.FREE_ACCOUNT.value());
+        user.setPlatformType(PlatformTypeEnum.WEBSITE.value());
         user.setValidFlag(ValidStatusEnum.VALID.value());
         userMapper.insert(user);
-        //todo 发邮件
+        return user;
+    }
+
+    @Override
+    public void permissionGift(PermissionGiftDTO permissionGiftDTO) {
+        String userId = "";
+        User user = getByAccount(permissionGiftDTO.getAppId(),permissionGiftDTO.getEmail(), PlatformTypeEnum.WEBSITE.value().toString());
+        //如果用户不存在
+        if (ObjectUtils.isEmpty(getByAppAccount(permissionGiftDTO.getAppId(),permissionGiftDTO.getEmail(), PlatformTypeEnum.WEBSITE.value().toString()))) {
+            user = initUser(permissionGiftDTO.getAppId(),permissionGiftDTO.getEmail());
+        }
+        //todo 给指定用户用户创建一个订单
+    }
+
+    @Override
+    public void permissionTransfer(PermissionTransferDTO permissionTransferDTO) {
+        //修改用户的email
+        User user = getUser(permissionTransferDTO.getOldUserId());
+        user.setEmail(permissionTransferDTO.getNewEmail());
+        user.setUpdatedAt(new Date());
+        userMapper.updateByPrimaryKey(user);
+        //todo 修改用户的订阅(填充remark)
+
     }
 
     private void validRegisterParam(UserRegisterDTO param) {
@@ -158,6 +204,8 @@ public class UserServiceImpl implements UserService {
         checkEmailCodeValid(EmailCodeTypeEnum.USER_REGISTER, param.getUsername(), param.getVerifyCode());
     }
 
+
+
     private void checkEmailCodeValid(EmailCodeTypeEnum type, String account, String code) {
         //获取用户存在redis中的登录邮箱验证码
         String captchaCode = redisUtils.hget(CommonConstant.EMAIL_VERIFY_CODE_KEY + type.value(), account);

+ 6 - 0
pdf-office-account/src/main/resources/sqlmap/ext/ExtUserMapper.xml

@@ -151,4 +151,10 @@
     </if>
   </select>
 
+
+  <select id="getUserByIdWithApp" resultMap="BaseResultMap">
+    select u.id,u.email,a.app_name from user u
+    left join app a on u.app_id = a.id
+    where u.id =  #{userId}
+  </select>
 </mapper>

+ 31 - 0
pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/dto/PermissionGiftDTO.java

@@ -0,0 +1,31 @@
+package cn.kdan.cloud.pdf.office.api.account.dto;
+
+import lombok.Data;
+
+import java.util.Date;
+
+/**
+ * @author tangxiangan
+ */
+@Data
+public class PermissionGiftDTO {
+
+    private String email;
+
+    private String productId;
+
+    private String appId;
+
+    private String reason;
+
+    /**
+     * 订阅类型 1试用 2正式
+     */
+    private String subscriptionType;
+
+    /**
+     * 天数
+     */
+    private Integer daysNum;
+
+}

+ 16 - 0
pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/dto/PermissionTransferDTO.java

@@ -0,0 +1,16 @@
+package cn.kdan.cloud.pdf.office.api.account.dto;
+
+import lombok.Data;
+
+/**
+ * @author tangxiangan
+ */
+@Data
+public class PermissionTransferDTO {
+
+    private String oldUserId;
+
+    private String newEmail;
+
+    private String remark;
+}

+ 21 - 0
pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/dto/UpdateUserForPaySuccessDTO.java

@@ -0,0 +1,21 @@
+package cn.kdan.cloud.pdf.office.api.account.dto;
+
+import lombok.Data;
+
+/**
+ * @author tangxiangan
+ */
+@Data
+public class UpdateUserForPaySuccessDTO {
+
+    private String userId;
+    /**
+     * 付费类型 0 试用 1单次购买 2订阅 3单次购买+订阅 4买断 PaidTypeEnum
+     */
+    private Integer payTpe;
+    /**
+     * MemberTypeEnum  mac会员 1 windows会员 2 mac+window会员3
+     */
+    private Integer memberType;
+
+}

+ 21 - 0
pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/dto/UpdateUserForRefundDTO.java

@@ -0,0 +1,21 @@
+package cn.kdan.cloud.pdf.office.api.account.dto;
+
+import lombok.Data;
+
+/**
+ * @author tangxiangan
+ */
+@Data
+public class UpdateUserForRefundDTO {
+
+    private String userId;
+    /**
+     * 0已注销(1订阅中2订阅过期3试用中4试用过期)PDFOfficeUserStatusEnum
+     */
+    private Integer userStatus;
+    /**
+     * MemberTypeEnum  mac会员 1 windows会员 2 mac+window会员3
+     */
+    private Integer memberType;
+
+}

+ 19 - 1
pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/feign/UserApi.java

@@ -1,5 +1,9 @@
 package cn.kdan.cloud.pdf.office.api.account.feign;
 
+import cn.kdan.cloud.pdf.office.api.account.dto.PermissionGiftDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.PermissionTransferDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForPaySuccessDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForRefundDTO;
 import cn.kdan.cloud.pdf.office.api.account.feign.hystrix.UserHystrix;
 import cn.kdan.cloud.pdf.office.common.constant.CommonConstant;
 import cn.kdan.cloud.pdf.office.common.dto.UserRegisterDTO;
@@ -31,5 +35,19 @@ public interface UserApi {
     @PostMapping(value = "register")
     ResultMap<Boolean> register(@RequestBody UserRegisterDTO userRegisterDTO);
 
-
+    /**
+     * 支付成功之后修改用户状态
+     *
+     * @param updateUserForPaySuccessDTO dto
+     */
+    @PostMapping(value = "updateUserForPaySuccess")
+    ResultMap<Boolean> updateUserForPaySuccess(@RequestBody UpdateUserForPaySuccessDTO updateUserForPaySuccessDTO);
+
+    /**
+     * 退款成功之后修改用户状态
+     *
+     * @param updateUserForRefundDTO dto
+     */
+    @PostMapping(value = "updateUserForRefund")
+    ResultMap<Boolean> updateUserForRefund(@RequestBody UpdateUserForRefundDTO updateUserForRefundDTO);
 }

+ 12 - 0
pdf-office-api/pdf-office-api-account/src/main/java/cn/kdan/cloud/pdf/office/api/account/feign/hystrix/UserHystrix.java

@@ -1,6 +1,8 @@
 package cn.kdan.cloud.pdf.office.api.account.feign.hystrix;
 
 
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForPaySuccessDTO;
+import cn.kdan.cloud.pdf.office.api.account.dto.UpdateUserForRefundDTO;
 import cn.kdan.cloud.pdf.office.api.account.feign.UserApi;
 import cn.kdan.cloud.pdf.office.common.constant.CommonConstant;
 import cn.kdan.cloud.pdf.office.common.dto.UserRegisterDTO;
@@ -30,4 +32,14 @@ public class UserHystrix implements UserApi {
         return new ResultMap<>(CommonConstant.ERROR, CommonConstant.RESULT_ERROR_SERVICE_NOT_AVAILABLE);
     }
 
+    @Override
+    public ResultMap<Boolean> updateUserForPaySuccess(UpdateUserForPaySuccessDTO updateUserForPaySuccessDTO) {
+        return new ResultMap<>(CommonConstant.ERROR, CommonConstant.RESULT_ERROR_SERVICE_NOT_AVAILABLE);
+    }
+
+    @Override
+    public ResultMap<Boolean> updateUserForRefund(UpdateUserForRefundDTO updateUserForRefundDTO) {
+        return new ResultMap<>(CommonConstant.ERROR, CommonConstant.RESULT_ERROR_SERVICE_NOT_AVAILABLE);
+    }
+
 }

+ 28 - 0
pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/AccountTypeEnum.java

@@ -0,0 +1,28 @@
+package cn.kdan.cloud.pdf.office.common.enums.account;
+
+/**
+ * 用户类型
+ *
+ * @author tangxiangan
+ */
+public enum AccountTypeEnum {
+
+    /**
+     * 免费用户
+     */
+    FREE_ACCOUNT(0),
+    /**
+     *  付费用户
+     */
+    PAID_ACCOUNT(1);
+
+    private final Integer value;
+
+    AccountTypeEnum(Integer value) {
+        this.value = value;
+    }
+
+    public Integer value() {
+        return value;
+    }
+}

+ 31 - 0
pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/MemberTypeEnum.java

@@ -0,0 +1,31 @@
+package cn.kdan.cloud.pdf.office.common.enums.account;
+
+/**
+ * PDF OFFICE会员类型
+ *
+ */
+public enum MemberTypeEnum {
+
+    /**
+     * mac会员 1 windows会员 2 mac+window会员3
+     */
+    MAC_MEMBER(1),
+    /**
+     * windows会员
+     */
+    WINDOWS_MEMBER(2),
+    /**
+     * mac+window会员
+     */
+    MAC_WINDOWS_MEMBER(3);
+
+    private final Integer value;
+
+    MemberTypeEnum(Integer value){
+        this.value = value;
+    }
+
+    public Integer value() {
+        return value;
+    }
+}

+ 25 - 0
pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/PDFOfficeUserStatusEnum.java

@@ -0,0 +1,25 @@
+package cn.kdan.cloud.pdf.office.common.enums.account;
+
+/**
+ * 用户状态
+ * CD502000
+ */
+public enum PDFOfficeUserStatusEnum {
+    //0已注销(1订阅中2订阅过期3试用中4试用过期)
+
+    LOGGED_OUT("0"),
+    SUBSCRIPTION_IN_PROGRESS("1"),
+    SUBSCRIPTION_EXPIRED("2"),
+    TRIAL("3"),
+    TRIAL_EXPIRED("4");
+
+    private final String value;
+
+    PDFOfficeUserStatusEnum(String value){
+        this.value = value;
+    }
+
+    public String value() {
+        return value;
+    }
+}

+ 39 - 0
pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/PaidTypeEnum.java

@@ -0,0 +1,39 @@
+package cn.kdan.cloud.pdf.office.common.enums.account;
+
+/**
+ * 付费类型
+ *
+ * @author tangxiangan
+ */
+public enum PaidTypeEnum {
+
+    /**
+     * 试用
+     */
+    ON_TRIAL(0),
+    /**
+     * 单次购买
+     */
+    SINGLE_BUY(1),
+    /**
+     * 订阅
+     */
+    SUBSCRIBE(2),
+    /**
+     * 单次购买+订阅
+     */
+    SINGLE_BUY_AND_SUBSCRIBE(3),
+    /**
+     * 买断
+     */
+    BUYOUT(4);
+    private final Integer value;
+
+    PaidTypeEnum(Integer value) {
+        this.value = value;
+    }
+
+    public Integer value() {
+        return value;
+    }
+}

+ 27 - 0
pdf-office-common/src/main/java/cn/kdan/cloud/pdf/office/common/enums/account/PlatformTypeEnum.java

@@ -0,0 +1,27 @@
+package cn.kdan.cloud.pdf.office.common.enums.account;
+
+/**
+ * 平台类型
+ *
+ * @author tangxiangan
+ */
+public enum PlatformTypeEnum {
+
+    /**
+     * 官网
+     */
+    WEBSITE(0),
+    /**
+     * 后台
+     */
+    BACKEND(1);
+    private final Integer value;
+
+    PlatformTypeEnum(Integer value) {
+        this.value = value;
+    }
+
+    public Integer value() {
+        return value;
+    }
+}

+ 19 - 0
pdf-office-payment/src/main/java/cn/kdan/cloud/pdf/office/payment/service/ProductService.java

@@ -0,0 +1,19 @@
+package cn.kdan.cloud.pdf.office.payment.service;
+
+import cn.kdan.cloud.pdf.office.payment.entity.Product;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+
+/**
+ * @author ComPDFKit-WPH 2023-01-28
+ */
+public interface ProductService extends IService<Product> {
+
+    /**
+     * 列表查询
+     * @param query 查询参数
+     * @return 列表数据
+     */
+    IPage<Product> page(Product query);
+
+}

+ 23 - 0
pdf-office-payment/src/main/java/cn/kdan/cloud/pdf/office/payment/service/impl/ProductServiceImpl.java

@@ -0,0 +1,23 @@
+package cn.kdan.cloud.pdf.office.payment.service.impl;
+
+import cn.kdan.cloud.pdf.office.payment.entity.Product;
+import cn.kdan.cloud.pdf.office.payment.mapper.ProductMapper;
+import cn.kdan.cloud.pdf.office.payment.service.ProductService;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.Wrappers;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * @author ComPDFKit-WPH 2023-01-28
+ */
+@Service
+public class ProductServiceImpl extends ServiceImpl<ProductMapper, Product> implements ProductService {
+
+    @Override
+    public IPage<Product> page(Product query) {
+        return this.page(new Page<>(query.getPage(), query.getSize()), Wrappers.query(query));
+    }
+
+}