SettingServiceImpl.java 5.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. package com.fuint.common.service.impl;
  2. import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
  3. import com.fuint.common.dto.ParamDto;
  4. import com.fuint.common.enums.PayTypeEnum;
  5. import com.fuint.common.enums.PlatformTypeEnum;
  6. import com.fuint.framework.annoation.OperationServiceLog;
  7. import com.fuint.repository.mapper.MtSettingMapper;
  8. import com.fuint.repository.model.MtSetting;
  9. import com.fuint.common.enums.StatusEnum;
  10. import com.fuint.common.service.SettingService;
  11. import com.fuint.framework.exception.BusinessCheckException;
  12. import com.fuint.utils.StringUtil;
  13. import lombok.AllArgsConstructor;
  14. import org.springframework.core.env.Environment;
  15. import org.springframework.stereotype.Service;
  16. import org.springframework.transaction.annotation.Transactional;
  17. import java.util.ArrayList;
  18. import java.util.Date;
  19. import java.util.List;
  20. /**
  21. * 配置业务接口实现类
  22. *
  23. * Created by FSQ
  24. * CopyRight https://www.fuint.cn
  25. */
  26. @Service
  27. @AllArgsConstructor
  28. public class SettingServiceImpl extends ServiceImpl<MtSettingMapper, MtSetting> implements SettingService {
  29. /**
  30. * 系统环境变量
  31. * */
  32. private Environment env;
  33. private MtSettingMapper mtSettingMapper;
  34. /**
  35. * 删除配置
  36. *
  37. * @param merchantId 商户ID
  38. * @param name 配置名称
  39. * @throws BusinessCheckException
  40. * @return
  41. */
  42. @Override
  43. @OperationServiceLog(description = "删除配置信息")
  44. public void removeSetting(Integer merchantId, String name) {
  45. MtSetting info = querySettingByName(merchantId, name);
  46. if (info != null) {
  47. mtSettingMapper.deleteById(info.getId());
  48. }
  49. return;
  50. }
  51. /**
  52. * 保存配置
  53. *
  54. * @param mtSetting
  55. * @throws BusinessCheckException
  56. * @return
  57. */
  58. @Override
  59. @Transactional(rollbackFor = Exception.class)
  60. @OperationServiceLog(description = "保存配置信息")
  61. public MtSetting saveSetting(MtSetting mtSetting) {
  62. MtSetting info = querySettingByName(mtSetting.getMerchantId(), mtSetting.getName());
  63. if (null != info) {
  64. if (mtSetting.getValue() != null) {
  65. info.setValue(mtSetting.getValue());
  66. }
  67. if (mtSetting.getDescription() != null) {
  68. info.setDescription(mtSetting.getDescription());
  69. }
  70. if (StringUtil.isNotEmpty(mtSetting.getOperator())) {
  71. info.setOperator(mtSetting.getOperator());
  72. }
  73. if (mtSetting.getUpdateTime() != null) {
  74. info.setUpdateTime(mtSetting.getUpdateTime());
  75. }
  76. if (mtSetting.getStatus() != null) {
  77. info.setStatus(mtSetting.getStatus());
  78. }
  79. if (mtSetting.getType() != null) {
  80. info.setType(mtSetting.getType());
  81. }
  82. mtSettingMapper.updateById(info);
  83. } else {
  84. // 创建配置
  85. mtSetting.setCreateTime(new Date());
  86. mtSetting.setStatus(StatusEnum.ENABLED.getKey());
  87. mtSettingMapper.insert(mtSetting);
  88. }
  89. return mtSetting;
  90. }
  91. /**
  92. * 获取配置列表
  93. *
  94. * @param merchantId 商户ID
  95. * @param type 配置类型
  96. * @throws BusinessCheckException
  97. * @return
  98. */
  99. @Override
  100. public List<MtSetting> getSettingList(Integer merchantId, String type) {
  101. List<MtSetting> dataList = mtSettingMapper.querySettingByType(merchantId, type);
  102. return dataList;
  103. }
  104. /**
  105. * 根据ID获取配置信息
  106. *
  107. * @param merchantId 商户ID
  108. * @param name 配置名称
  109. * @throws BusinessCheckException
  110. * @return
  111. */
  112. @Override
  113. public MtSetting querySettingByName(Integer merchantId, String name) {
  114. return mtSettingMapper.querySettingByName(merchantId, name);
  115. }
  116. /**
  117. * 获取系统上传的根路径
  118. *
  119. * @return
  120. * */
  121. @Override
  122. public String getUploadBasePath() {
  123. String basePath = env.getProperty("images.upload.url");
  124. String mode = env.getProperty("aliyun.oss.mode");
  125. if (mode == null) {
  126. return basePath;
  127. } else {
  128. if (mode.equals("1")) {
  129. String domain = env.getProperty("aliyun.oss.domain");
  130. if (StringUtil.isNotEmpty(domain)) {
  131. basePath = domain;
  132. }
  133. }
  134. }
  135. return basePath;
  136. }
  137. /**
  138. * 获取支付方式列表
  139. *
  140. * @param platform 平台
  141. * @return
  142. * */
  143. @Override
  144. public List<ParamDto> getPayTypeList(String platform) {
  145. List<ParamDto> payTypeList = new ArrayList<>();
  146. // 微信jsapi
  147. ParamDto jsApi = new ParamDto();
  148. jsApi.setKey(PayTypeEnum.JSAPI.getKey());
  149. jsApi.setValue(PayTypeEnum.JSAPI.getKey());
  150. jsApi.setName(PayTypeEnum.JSAPI.getValue());
  151. // 余额支付
  152. ParamDto balance = new ParamDto();
  153. balance.setKey(PayTypeEnum.BALANCE.getKey());
  154. balance.setValue(PayTypeEnum.BALANCE.getKey());
  155. balance.setName(PayTypeEnum.BALANCE.getValue());
  156. payTypeList.add(balance);
  157. // 扫码支付
  158. ParamDto micro = new ParamDto();
  159. micro.setKey(PayTypeEnum.MICROPAY.getKey());
  160. micro.setValue(PayTypeEnum.MICROPAY.getKey());
  161. micro.setValue(PayTypeEnum.MICROPAY.getValue());
  162. // 微信公众号号
  163. if (platform.equals(PlatformTypeEnum.MP_WEIXIN.getCode())) {
  164. payTypeList.add(jsApi);
  165. }
  166. return payTypeList;
  167. }
  168. }