连续签到积分无法正常获取问题。

This commit is contained in:
Chopper 2021-09-23 11:42:03 +08:00
parent e0e5106eed
commit ff24c95d02
3 changed files with 23 additions and 27 deletions

View File

@ -66,11 +66,6 @@ public class MemberAddressBuyerController {
@ApiOperation(value = "修改会员收件地址")
@PutMapping
public ResultMessage<MemberAddress> editShippingAddress(@Valid MemberAddress shippingAddress) {
//修改会员地址
shippingAddress.setMemberId(UserContext.getCurrentUser().getId());
if(shippingAddress.getIsDefault()==null){
shippingAddress.setIsDefault(false);
}
return ResultUtil.data(memberAddressService.updateMemberAddress(shippingAddress));
}

View File

@ -3,6 +3,7 @@ package cn.lili.modules.member.serviceimpl;
import cn.lili.common.enums.ResultCode;
import cn.lili.common.exception.ServiceException;
import cn.lili.modules.member.entity.enums.PointTypeEnum;
import cn.lili.modules.system.entity.dto.PointSettingItem;
import cn.lili.rocketmq.RocketmqSendCallbackBuilder;
import cn.lili.rocketmq.tags.MemberTagsEnum;
import cn.lili.common.security.AuthUser;
@ -118,24 +119,19 @@ public class MemberSignServiceImpl extends ServiceImpl<MemberSignMapper, MemberS
if (setting != null) {
PointSetting pointSetting = new Gson().fromJson(setting.getSettingValue(), PointSetting.class);
String content = "";
Long point = -1L;
//将对象转换成map 方便签到天数和签到积分数获取方便扩展
Map map = StringUtils.objectToMap(pointSetting);
for (int i = 1; i <= 4; i++) {
//连续签到数
Object dayObj = map.get("signIn" + i);
//连续签到赠送积分
Object pointObj = map.get("signIn" + i + "Point");
if (dayObj != null && pointObj != null) {
//如果当前连续赠送天数等于设置连续赠送天数 则记录赠送积分数
if (dayObj == day) {
point = Long.valueOf(map.get("signIn" + i + "Point").toString());
//赠送积分
Long point = null;
List<PointSettingItem> pointSettingItems = pointSetting.getPointSettingItems();
if (!pointSettingItems.isEmpty()) {
for (PointSettingItem item : pointSettingItems) {
if (item.getDay().equals(day)) {
point = item.getPoint().longValue();
content = "会员连续签到" + day + "天,赠送积分" + point + "";
}
}
}
//如果他不处于连续赠送阶段则只赠送签到积分数
if (point == -1 && pointSetting.getSignIn() != null) {
if (point == null && pointSetting.getSignIn() != null) {
point = Long.valueOf(pointSetting.getSignIn().toString());
content = "会员签到第" + day + "天,赠送积分" + point + "";
}

View File

@ -56,7 +56,7 @@ public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, M
@Override
public MemberAddress saveMemberAddress(MemberAddress memberAddress) {
//判断当前地址是否为默认地址如果为默认需要将其他的地址修改为非默认
updateDefaultShippingAddress(memberAddress);
removeDefaultAddress(memberAddress);
//添加会员地址
this.save(memberAddress);
@ -65,8 +65,18 @@ public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, M
@Override
public MemberAddress updateMemberAddress(MemberAddress memberAddress) {
//判断当前地址是否为默认地址如果为默认需要将其他的地址修改为非默认
updateDefaultShippingAddress(memberAddress);
MemberAddress originalMemberAddress = this.getMemberAddress(memberAddress.getId());
if (originalMemberAddress != null &&
originalMemberAddress.getMemberId().equals(UserContext.getCurrentUser().getId())) {
if (memberAddress.getIsDefault() == null) {
memberAddress.setIsDefault(false);
}
//判断当前地址是否为默认地址如果为默认需要将其他的地址修改为非默认
removeDefaultAddress(memberAddress);
this.saveOrUpdate(memberAddress);
}
return memberAddress;
}
@ -81,7 +91,7 @@ public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, M
*
* @param memberAddress 收件地址
*/
private void updateDefaultShippingAddress(MemberAddress memberAddress) {
private void removeDefaultAddress(MemberAddress memberAddress) {
//如果不是默认地址不需要处理
if (memberAddress.getIsDefault()) {
//将会员的地址修改为非默认地址
@ -89,11 +99,6 @@ public class MemberAddressServiceImpl extends ServiceImpl<MemberAddressMapper, M
lambdaUpdateWrapper.set(MemberAddress::getIsDefault, false);
lambdaUpdateWrapper.eq(MemberAddress::getMemberId, memberAddress.getMemberId());
this.update(lambdaUpdateWrapper);
//修改会员地址
this.update(memberAddress,
new QueryWrapper<MemberAddress>()
.eq("id", memberAddress.getId()));
}
}