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

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

View File

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