SysChannelGroupService.java 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131
  1. package com.ydtech.modules.admin.service;
  2. import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
  3. import com.ydtech.extension.BaseIService;
  4. import com.ydtech.modules.admin.constants.EnabledEnum;
  5. import com.ydtech.modules.admin.model.SysUser;
  6. import com.ydtech.modules.admin.model.po.SysChannelGroup;
  7. import com.ydtech.modules.admin.model.vo.AddSysChannelGroupVo;
  8. import com.ydtech.modules.admin.model.vo.CostSysChannelGroupVo;
  9. import com.ydtech.modules.admin.model.vo.SysChannelGroupPageVo;
  10. import com.ydtech.modules.admin.model.vo.SysChannelGroupVo;
  11. import com.ydtech.modules.order.entity.InsAreaCompany;
  12. import com.ydtech.modules.order.entity.InsOrders;
  13. import com.ydtech.modules.protocol.entity.po.PtlAgreement;
  14. import com.ydtech.modules.protocols.entity.po.InsFeeOrderNew;
  15. import com.ydtech.modules.protocols.entity.po.PtlAgreementProductCostsNew;
  16. import javax.validation.Valid;
  17. import java.util.List;
  18. /**
  19. * @author dongxin
  20. * @description 针对表【sys_channel_group(渠道分组)】的数据库操作Service
  21. * @createDate 2024-09-09 18:55:22
  22. */
  23. public interface SysChannelGroupService extends BaseIService<SysChannelGroup> {
  24. /**
  25. * 分页查询
  26. * @param page
  27. * @param sysChannelGroupVo
  28. * @return
  29. */
  30. Page<SysChannelGroup> queryPage(Page page, SysChannelGroupVo sysChannelGroupVo);
  31. /**
  32. * 渠道分组名称唯一校验
  33. * @param sysChannelGroup
  34. * @return
  35. */
  36. String checkNameUnique(Long id, AddSysChannelGroupVo sysChannelGroup);
  37. /**
  38. * 新增渠道分组
  39. * @param userName
  40. * @param addChannelGroupVo
  41. */
  42. void insert(String userName, @Valid AddSysChannelGroupVo addChannelGroupVo);
  43. /**
  44. * 修改渠道分组
  45. *
  46. * @param id
  47. * @param userName
  48. * @param addChannelGroupVo
  49. */
  50. void edit(Long id, String userName, AddSysChannelGroupVo addChannelGroupVo);
  51. /**
  52. * 分组删除
  53. * @param id
  54. */
  55. void delete(Long id);
  56. /**
  57. * 渠道分组费用设置
  58. * @param costSysChannelGroupVo
  59. */
  60. void costSet(@Valid CostSysChannelGroupVo costSysChannelGroupVo);
  61. /**
  62. * 费用计算
  63. *
  64. * @param insFeeOrderNew
  65. * @param ptlAgreement
  66. * @param ptlAgreementProductCostsNew
  67. * @param sysUser
  68. * @param insAreaCompany
  69. * @param insOrders
  70. */
  71. void costCompute(InsFeeOrderNew insFeeOrderNew,
  72. PtlAgreement ptlAgreement,
  73. PtlAgreementProductCostsNew ptlAgreementProductCostsNew,
  74. SysUser sysUser,
  75. InsAreaCompany insAreaCompany,
  76. InsOrders insOrders);
  77. /**
  78. * 分组单个查询
  79. * @return
  80. */
  81. SysChannelGroup queryById(Long id);
  82. /**
  83. * 停止/开启
  84. * @param id
  85. */
  86. void openOne(Long id);
  87. /**
  88. * 把修改改为关闭
  89. *
  90. * @param enabled 开启关闭状态
  91. */
  92. default boolean updateEnabled(int enabled) {
  93. List<SysChannelGroup> list = lambdaQuery().eq(SysChannelGroup::getEnabled, EnabledEnum.EE_1.getCode()).list();
  94. if (list.isEmpty()) {
  95. return true;
  96. }
  97. if (EnabledEnum.EE_1.getCode() == enabled) {
  98. return lambdaUpdate()
  99. .set(SysChannelGroup::getEnabled, EnabledEnum.EE_0.getCode())
  100. .eq(SysChannelGroup::getEnabled, EnabledEnum.EE_1.getCode())
  101. .update();
  102. }
  103. return true;
  104. }
  105. /**
  106. * 费用选中列表
  107. * @param costsNewList
  108. * @param sysChannelGroupPageVo
  109. */
  110. void queryCostList(List<PtlAgreementProductCostsNew> costsNewList, @Valid SysChannelGroupPageVo sysChannelGroupPageVo);
  111. /**
  112. * 获取所有选中费用
  113. * @param id
  114. * @return
  115. */
  116. List<SysChannelGroup> getProductList(Long id);
  117. }