|
|
@@ -7,18 +7,29 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.kxs.common.core.constant.CommonConstants;
|
|
|
+import com.kxs.common.core.constant.SecurityConstants;
|
|
|
+import com.kxs.common.core.constant.enums.ErrorTypeEnum;
|
|
|
import com.kxs.common.core.constant.enums.KindTypeEnum;
|
|
|
+import com.kxs.common.core.exception.GlobalCustomerException;
|
|
|
+import com.kxs.common.core.util.R;
|
|
|
+import com.kxs.common.core.util.RetOps;
|
|
|
import com.kxs.common.mybatis.handler.MonthTableNameHandler;
|
|
|
import com.kxs.common.security.util.SecurityUtils;
|
|
|
+import com.kxs.product.api.feign.RemoteKxsProductService;
|
|
|
+import com.kxs.product.api.model.KxsMachine;
|
|
|
+import com.kxs.product.api.vo.kxsapp.shop.ShopOrderDetailVO;
|
|
|
import com.kxs.user.api.dto.kxsapp.userAccount.UserAmountVariationListDTO;
|
|
|
import com.kxs.user.api.model.KxsChangeTypeKind;
|
|
|
-import com.kxs.user.api.vo.kxsapp.userAccount.AmountInExpendTotalVO;
|
|
|
-import com.kxs.user.api.vo.kxsapp.userAccount.UserAmountVariationListVO;
|
|
|
+import com.kxs.user.api.model.KxsLeaderAmountLog;
|
|
|
+import com.kxs.user.api.model.KxsUser;
|
|
|
+import com.kxs.user.api.vo.kxsapp.userAccount.*;
|
|
|
import com.kxs.common.core.constant.enums.VariationTypeEnum;
|
|
|
-import com.kxs.user.api.vo.kxsapp.userAccount.VariationTypeListVO;
|
|
|
import com.kxs.user.biz.mapper.KxsChangeTypeKindMapper;
|
|
|
+import com.kxs.user.biz.mapper.KxsLeaderAmountLogMapper;
|
|
|
import com.kxs.user.biz.mapper.KxsUserAmountLogMapper;
|
|
|
import com.kxs.user.api.model.KxsUserAmountLog;
|
|
|
+import com.kxs.user.biz.mapper.KxsUserMapper;
|
|
|
import com.kxs.user.biz.service.KxsUserAmountLogService;
|
|
|
import lombok.RequiredArgsConstructor;
|
|
|
import org.springframework.stereotype.Service;
|
|
|
@@ -38,15 +49,21 @@ import java.util.Map;
|
|
|
@Service("kxsUserAmountLogService")
|
|
|
@RequiredArgsConstructor
|
|
|
public class KxsUserAmountLogServiceImpl extends ServiceImpl<KxsUserAmountLogMapper, KxsUserAmountLog> implements KxsUserAmountLogService {
|
|
|
+
|
|
|
private final KxsChangeTypeKindMapper kxsChangeTypeKindMapper;
|
|
|
+
|
|
|
+ private final KxsLeaderAmountLogMapper kxsLeaderAmountLogMapper;
|
|
|
+
|
|
|
+ private final KxsUserMapper userMapper;
|
|
|
+ private final RemoteKxsProductService remoteKxsProductService;
|
|
|
+
|
|
|
@Override
|
|
|
public IPage<UserAmountVariationListVO> getByPage(Page<UserAmountVariationListVO> page, UserAmountVariationListDTO param) {
|
|
|
|
|
|
param.setUserId(SecurityUtils.getUser().getId());
|
|
|
//拼接表名
|
|
|
- String tableName = param.getTradeMonth();
|
|
|
- String[] split = tableName.split("-");
|
|
|
- tableName = "kxs_user_amount_log_" + split[0] + split[1];
|
|
|
+ String tableName = CommonConstants.KXS_USER_AMOUNT_LOG_PREFIX + param.getTradeMonth();
|
|
|
+
|
|
|
IPage<UserAmountVariationListVO> byPage = baseMapper.getByPage(page, param, tableName);
|
|
|
for (UserAmountVariationListVO record : byPage.getRecords()) {
|
|
|
KxsChangeTypeKind kxsChangeTypeKind = kxsChangeTypeKindMapper.selectById(record.getVariationType());
|
|
|
@@ -85,13 +102,34 @@ public class KxsUserAmountLogServiceImpl extends ServiceImpl<KxsUserAmountLogMap
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Object variationTypeList(String kind) {
|
|
|
+ public List<VariationTypeListVO> variationTypeList(String kind) {
|
|
|
return baseMapper.variationTypeList(kind);
|
|
|
}
|
|
|
|
|
|
@Override
|
|
|
- public Object variationList(String changeTypeId) {
|
|
|
+ public List<VariationListVO> variationList(String changeTypeId) {
|
|
|
return baseMapper.variationList(changeTypeId);
|
|
|
}
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public SourceUserVO sourceUser(Integer id, String tradeMonth) {
|
|
|
+
|
|
|
+ SourceUserVO.SourceUserVOBuilder builder = SourceUserVO.builder();
|
|
|
+ MonthTableNameHandler.setData(tradeMonth);
|
|
|
+ KxsUserAmountLog userAmountLog = baseMapper.selectById(id);
|
|
|
+ //删除线程,避免线程污染
|
|
|
+ MonthTableNameHandler.removeData();
|
|
|
+ if(userAmountLog.getVariationCause().isBlank() || "0".equals(userAmountLog.getVariationCause())){
|
|
|
+ return builder.build();
|
|
|
+ }
|
|
|
+ //来源ID
|
|
|
+ int sourceUserId = Integer.parseInt(userAmountLog.getVariationCause());
|
|
|
+
|
|
|
+ KxsUser user = userMapper.selectById(sourceUserId);
|
|
|
+ builder.userCode(user.getUserCode());
|
|
|
+
|
|
|
+
|
|
|
+ return builder.build();
|
|
|
+ }
|
|
|
}
|
|
|
|