SysUserCashAccountService.java 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. package com.ym.mec.biz.service;
  2. import com.ym.mec.biz.dal.entity.SysUserCashAccount;
  3. import com.ym.mec.biz.dal.enums.PlatformCashAccountDetailTypeEnum;
  4. import com.ym.mec.common.service.BaseService;
  5. import java.math.BigDecimal;
  6. public interface SysUserCashAccountService extends BaseService<Integer, SysUserCashAccount> {
  7. /**
  8. * 更新指定用户的账户余额
  9. * @param userId 用户编号
  10. * @param decimal 交易金额(支持负数)
  11. * @return
  12. */
  13. boolean updateBalance(Integer userId, BigDecimal decimal);
  14. /**
  15. * 更新指定用户的账户余额
  16. * @param userId 用户编号
  17. * @param decimal 交易金额(支持负数)
  18. * @param type 交易类型
  19. * @param memo 备注
  20. * @return
  21. */
  22. boolean updateBalance(Integer userId, BigDecimal decimal, PlatformCashAccountDetailTypeEnum type, String memo);
  23. /**
  24. * 更新指定用户的账户余额
  25. * @param userId 用户编号
  26. * @param decimal 交易金额(支持负数)
  27. * @param type 交易类型
  28. * @param memo 备注
  29. * @param transNo 订单流水编号
  30. * @return
  31. */
  32. boolean updateBalance(Integer userId, BigDecimal decimal, PlatformCashAccountDetailTypeEnum type, String memo,String transNo);
  33. /**
  34. * 更新指定用户的账户课程余额
  35. * @param userId 用户编号
  36. * @param decimal 交易金额(支持负数)
  37. * @return
  38. */
  39. boolean updateCourseBalance(Integer userId, BigDecimal decimal, PlatformCashAccountDetailTypeEnum type, BigDecimal amount, String description);
  40. /**
  41. * 更新指定用户的账户课程余额
  42. * @param userId 用户编号
  43. * @param decimal 交易金额(支持负数)
  44. * @return
  45. */
  46. boolean appendCourseBalance(Integer userId, BigDecimal decimal, PlatformCashAccountDetailTypeEnum type, String description);
  47. /**
  48. * @describe 从账户金额与课程金额中扣减指定金额
  49. * 优先课程金额,不够再扣减账户金额
  50. * @author Joburgess
  51. * @date 2021/1/20 0020
  52. * @param userId:
  53. * @param decimal:
  54. * @param type:
  55. * @param description:
  56. * @return void
  57. */
  58. void subtractFromCourseBalanceAndBalance(Integer userId, BigDecimal decimal, PlatformCashAccountDetailTypeEnum type, String description);
  59. /**
  60. * 将课程余额转入到可用余额
  61. * @param userId
  62. * @return
  63. */
  64. boolean transferCourseBalanceToBalance(Integer userId,BigDecimal money);
  65. /**
  66. * 获取行级锁
  67. * @param userId
  68. * @return
  69. */
  70. SysUserCashAccount getLocked(Integer userId);
  71. }