后台积分操作同步数云

master
382696293@qq.com 2 years ago
parent 9b1b06deab
commit d1f863ec37

@ -11,7 +11,6 @@ import com.flossom.common.core.domain.req.*;
import com.flossom.common.core.domain.ret.WxUserMemberRet;
import com.flossom.common.core.enums.IntegralChangeTypeEnum;
import com.flossom.common.core.exception.ServiceException;
import com.flossom.common.core.utils.StringUtils;
import com.flossom.common.core.utils.poi.ExcelUtil;
import com.flossom.common.core.web.controller.BaseController;
import com.flossom.common.core.web.domain.AjaxResult;
@ -25,10 +24,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.lang.reflect.Array;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
@ -235,7 +231,9 @@ public class WxUserMemberController extends BaseController {
logger.error("积分操作类型选择有误");
throw new ServiceException("积分操作类型选择有误");
}
wxUserMemberService.batchChangIntegral(wxUserIntegralVm, userIdList);
for (Long userId : userIdList) {
wxUserMemberService.changIntegral(wxUserIntegralVm, userId);
}
return R.ok();
}
@ -250,8 +248,9 @@ public class WxUserMemberController extends BaseController {
}
List<WxUserMember> list = wxUserMemberService.selectWxUserMemberList(operateReq.getWxUserMemberVm());
if (list != null && list.size() > 0) {
List<Long> collect = list.stream().map(wxUserMember -> wxUserMember.getId()).collect(Collectors.toList());
wxUserMemberService.batchChangIntegral(operateReq.getWxUserIntegralVm(), collect);
for (WxUserMember wxUserMember : list) {
wxUserMemberService.changIntegral(operateReq.getWxUserIntegralVm(), wxUserMember.getId());
}
}
return R.ok();
}

@ -104,4 +104,6 @@ IWxUserMemberService
List<WxUserMemberRet> selectWxUserMemberRetList(WxUserMemberVm wxUserMemberVm);
List<WxUserMemberRet> selectWxUserMemberByIdList(List<Integer> userIdList);
void changIntegral(WxUserIntegralVm wxUserIntegralVm, Long userId);
}

@ -1,25 +1,30 @@
package com.flossom.system.service.impl;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
import java.util.stream.Collectors;
import com.flossom.common.core.constant.IntegralChangTextConstants;
import com.flossom.common.core.domain.entity.*;
import com.flossom.common.core.domain.req.WxUserIntegralVm;
import com.flossom.common.core.domain.req.WxUserMemberReq;
import com.flossom.common.core.domain.req.WxUserMemberVm;
import com.flossom.common.core.domain.ret.WxUserMemberRet;
import com.flossom.common.core.domain.shuyun.ShuYunPointChange;
import com.flossom.common.core.domain.vo.WxUserMemberVo;
import com.flossom.common.core.enums.BindingStatusEnums;
import com.flossom.common.core.enums.IntegralChangeTypeEnum;
import com.flossom.common.core.enums.Status;
import com.flossom.common.core.enums.TagTypeStatusEnum;
import com.flossom.common.core.enums.*;
import com.flossom.common.core.exception.ServiceException;
import com.flossom.common.core.mapper.*;
import com.flossom.common.core.utils.DateUtils;
import com.flossom.common.core.utils.StringUtils;
import com.flossom.common.core.utils.uuid.IdUtils;
import com.flossom.common.security.utils.SecurityUtils;
import com.flossom.system.service.ISysUserService;
import com.flossom.system.utils.shuyun.ShuYunApiUtils;
import com.flossom.system.utils.shuyun.ShuYunConfig;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -73,6 +78,9 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
@Autowired
private WxInstrumentMapper wxInstrumentMapper;
@Autowired
private ShuYunConfig shuYunConfig;
/**
*
*
@ -371,7 +379,58 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
changeUserMember.setUpdateBy(SecurityUtils.getUsername());
wxUserMemberMapper.updateWxUserMember(changeUserMember);
}
// TODO: 对接数赢:批量积分操作
}
/**
* /
*
* @param wxUserIntegralVm
* @param userId
*/
@Transactional
@Override
public void changIntegral(WxUserIntegralVm wxUserIntegralVm, Long userId) {
// 1、记录积分操作日志
WxUserMember wxUserMember = wxUserMemberMapper.selectWxUserMemberById(userId);
if (wxUserMember != null) {
WxUserIntegralLog wxUserIntegralLog = new WxUserIntegralLog();
wxUserIntegralLog.setUserId(userId);
wxUserIntegralLog.setUserName(wxUserMember.getNickname());
wxUserIntegralLog.setUserPhone(wxUserMember.getMobile());
BeanUtils.copyProperties(wxUserIntegralVm, wxUserIntegralLog);
wxUserIntegralLog.setCreateTime(DateUtils.getNowDate());
wxUserIntegralLog.setCreateBy(SecurityUtils.getUsername());
wxUserIntegralLogMapper.insertWxUserIntegralLog(wxUserIntegralLog);
}
// 2、变更总积分
WxUserMember changeUserMember = new WxUserMember();
if (wxUserIntegralVm.getSource().equals(IntegralChangeTypeEnum.INCREASE.getCode())) {
changeUserMember.setCredit(wxUserMember.getCredit() + wxUserIntegralVm.getFloatScore().intValue());
} else if (wxUserIntegralVm.getSource().equals(IntegralChangeTypeEnum.REDUCE.getCode())) {
if (wxUserMember.getCredit() >= wxUserIntegralVm.getFloatScore().intValue()) {
changeUserMember.setCredit(wxUserMember.getCredit() - wxUserIntegralVm.getFloatScore().intValue());
} else {
changeUserMember.setCredit(0);
}
}
changeUserMember.setId(wxUserMember.getId());
changeUserMember.setUpdateTime(DateUtils.getNowDate());
changeUserMember.setUpdateBy(SecurityUtils.getUsername());
wxUserMemberMapper.updateWxUserMember(changeUserMember);
/**
* TODO
*/
Integer credit;
if (StringUtils.equals(IntegralChangeTypeEnum.INCREASE.getCode(), wxUserIntegralVm.getSource())) {
credit = wxUserIntegralVm.getFloatScore().intValue();
} else {
credit = -wxUserIntegralVm.getFloatScore().intValue();
}
ShuYunPointChange shuYunPointChange = new ShuYunPointChange(wxUserMember.getUnionid(), shuYunConfig.getPlatCode(), shuYunConfig.getShopId(),
IdUtils.generateSequence(), ShuYunPointSourceEnum.OTHER.getSource(), credit,
LocalDateTime.now().format(DateTimeFormatter.ofPattern(DateUtils.YYYY_MM_DD_HH_MM_SS)), IntegralChangTextConstants.DAILY_CLOCK);
ShuYunApiUtils.pointChange(shuYunPointChange);
}
@Override
@ -428,10 +487,10 @@ public class WxUserMemberServiceImpl implements IWxUserMemberService {
wxUserInstrument.setBindingStatus(BindingStatusEnums.BINDED.getCode());
wxUserInstrument.setStatus(Status.OK.getCode().longValue());
List<WxUserInstrument> userInstrumentList = wxUserInstrumentMapper.selectWxUserInstrumentList(wxUserInstrument);
if(userInstrumentList != null && userInstrumentList.size() > 0) {
if (userInstrumentList != null && userInstrumentList.size() > 0) {
userInstrumentList.forEach(ui -> {
WxInstrument wxInstrument = wxInstrumentMapper.selectWxInstrumentById(ui.getInstrumentId());
if(wxInstrument != null) {
if (wxInstrument != null) {
ui.setInstrumentName(wxInstrument.getName());
}
});

Loading…
Cancel
Save