diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomGiftInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomGiftInfoService.java index 2c8c272..91a1d7a 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomGiftInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/service/IPlayCustomGiftInfoService.java @@ -15,6 +15,14 @@ import java.util.List; public interface IPlayCustomGiftInfoService extends IService { + /** + * 根据顾客ID和礼物ID,查询当前礼物活点亮情况 + * @param giftId 礼物ID + * @param customId 顾客ID + * @return 物活点亮情况 + */ + PlayCustomGiftInfoEntity selectByGiftIdAndCustomId(String giftId,String customId); + /** * 查询顾客已点亮礼物 * diff --git a/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomGiftInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomGiftInfoServiceImpl.java index 3ce0b12..21b8dbd 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomGiftInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/custom/service/impl/PlayCustomGiftInfoServiceImpl.java @@ -27,6 +27,14 @@ public class PlayCustomGiftInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PlayCustomGiftInfoEntity::getCustomId, customId); + lambdaQueryWrapper.eq(PlayCustomGiftInfoEntity::getGiffId, giftId); + return this.baseMapper.selectOne(lambdaQueryWrapper); + } + /** * 根据店员ID查询店员活动礼物列表 * diff --git a/play-admin/src/main/java/com/starry/admin/modules/gift/module/entity/PlayClerkGiftInfoEntity.java b/play-admin/src/main/java/com/starry/admin/modules/gift/module/entity/PlayClerkGiftInfoEntity.java index 4ef9756..8c8fc9d 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/gift/module/entity/PlayClerkGiftInfoEntity.java +++ b/play-admin/src/main/java/com/starry/admin/modules/gift/module/entity/PlayClerkGiftInfoEntity.java @@ -40,7 +40,7 @@ public class PlayClerkGiftInfoEntity extends BaseEntity /** * 礼物数量 */ - private String giffNumber; + private Long giffNumber; } diff --git a/play-admin/src/main/java/com/starry/admin/modules/gift/service/IPlayClerkGiftInfoService.java b/play-admin/src/main/java/com/starry/admin/modules/gift/service/IPlayClerkGiftInfoService.java index a4a7818..82371ad 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/gift/service/IPlayClerkGiftInfoService.java +++ b/play-admin/src/main/java/com/starry/admin/modules/gift/service/IPlayClerkGiftInfoService.java @@ -2,6 +2,7 @@ package com.starry.admin.modules.gift.service; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.service.IService; +import com.starry.admin.modules.custom.module.entity.PlayCustomGiftInfoEntity; import com.starry.admin.modules.gift.module.entity.PlayClerkGiftInfoEntity; import java.util.List; @@ -14,6 +15,15 @@ import java.util.List; */ public interface IPlayClerkGiftInfoService extends IService { + + /** + * 根据顾客ID和礼物ID,查询当前礼物活点亮情况 + * @param giftId 礼物ID + * @param clerkId 店员ID + * @return 物活点亮情况 + */ + PlayClerkGiftInfoEntity selectByGiftIdAndClerkId(String giftId, String clerkId); + /** * 根据店员ID查询店员活动礼物列表 * @param clerkId 店员ID diff --git a/play-admin/src/main/java/com/starry/admin/modules/gift/service/impl/PlayClerkGiftInfoServiceImpl.java b/play-admin/src/main/java/com/starry/admin/modules/gift/service/impl/PlayClerkGiftInfoServiceImpl.java index 283a50a..8cfdf68 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/gift/service/impl/PlayClerkGiftInfoServiceImpl.java +++ b/play-admin/src/main/java/com/starry/admin/modules/gift/service/impl/PlayClerkGiftInfoServiceImpl.java @@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; 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.starry.admin.modules.custom.module.entity.PlayCustomGiftInfoEntity; import com.starry.admin.modules.gift.mapper.PlayClerkGiftInfoMapper; import com.starry.admin.modules.gift.module.entity.PlayClerkGiftInfoEntity; import com.starry.admin.modules.gift.service.IPlayClerkGiftInfoService; @@ -27,6 +28,14 @@ public class PlayClerkGiftInfoServiceImpl extends ServiceImpl lambdaQueryWrapper = new LambdaQueryWrapper<>(); + lambdaQueryWrapper.eq(PlayClerkGiftInfoEntity::getClerkId, clerkId); + lambdaQueryWrapper.eq(PlayClerkGiftInfoEntity::getGiffId, giftId); + return this.baseMapper.selectOne(lambdaQueryWrapper); + } + /** * 根据店员ID查询店员活动礼物列表 * diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxClerkController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxClerkController.java index ca1f36a..3b3dd84 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxClerkController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxClerkController.java @@ -15,6 +15,7 @@ import com.starry.admin.modules.clerk.module.vo.PlayClerkCommodityQueryVo; import com.starry.admin.modules.clerk.service.*; import com.starry.admin.modules.clerk.service.impl.PlayClerkUserInfoServiceImpl; import com.starry.admin.modules.clerk.service.impl.PlayClerkUserReviewInfoServiceImpl; +import com.starry.admin.modules.gift.module.entity.PlayGiftInfoEntity; import com.starry.admin.modules.gift.service.IPlayGiftInfoService; import com.starry.admin.modules.order.module.vo.PlayOrderEvaluateQueryVo; import com.starry.admin.modules.order.module.vo.PlayOrderStateEditVo; @@ -40,7 +41,9 @@ import org.springframework.web.bind.annotation.*; import javax.annotation.Resource; import java.time.LocalDateTime; import java.util.ArrayList; +import java.util.HashMap; import java.util.List; +import java.util.Map; import java.util.concurrent.TimeUnit; /** @@ -295,8 +298,26 @@ public class WxClerkController { if (entity == null) { throw new CustomException("用户不存在"); } - List list = giftInfoService.clerkListByAll(id, "1"); - return R.ok(list); + //获取所有礼物列表 + List giftInfoEntities = giftInfoService.listByAll(); + //获取已点亮礼物 + List clerkListByAll = giftInfoService.clerkListByAll(id, "1"); + //组装数据 + List result = new ArrayList<>(); + for (PlayGiftInfoEntity giftInfoEntity : giftInfoEntities) { + PlayClerkGiftReturnVo item = ConvertUtil.entityToVo(giftInfoEntity, PlayClerkGiftReturnVo.class); + for (PlayClerkGiftReturnVo playClerkGiftReturnVo : clerkListByAll) { + if (giftInfoEntity.getId().equals(playClerkGiftReturnVo.getId())) { + item.setGiffNumber(playClerkGiftReturnVo.getGiffNumber()); + } + } + result.add(item); + } + Map resuleMap = new HashMap<>(); + resuleMap.put("list", result); + resuleMap.put("obtainedGift", clerkListByAll.size()); + resuleMap.put("totalGift", giftInfoEntities.size()); + return R.ok(resuleMap); } diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java index 1468a7e..378843a 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/controller/WxCustomController.java @@ -9,12 +9,16 @@ import com.starry.admin.common.exception.CustomException; import com.starry.admin.modules.clerk.module.entity.PlayClerkUserInfoEntity; import com.starry.admin.modules.clerk.service.IPlayClerkCommodityService; import com.starry.admin.modules.clerk.service.IPlayClerkUserInfoService; +import com.starry.admin.modules.custom.module.entity.PlayCustomGiftInfoEntity; import com.starry.admin.modules.custom.module.entity.PlayCustomLeaveMsgEntity; import com.starry.admin.modules.custom.module.entity.PlayCustomUserInfoEntity; +import com.starry.admin.modules.custom.service.IPlayCustomGiftInfoService; import com.starry.admin.modules.custom.service.IPlayCustomLeaveMsgService; import com.starry.admin.modules.custom.service.IPlayCustomUserInfoService; import com.starry.admin.modules.follow.service.IPlayCustomFollowInfoService; +import com.starry.admin.modules.gift.module.entity.PlayClerkGiftInfoEntity; import com.starry.admin.modules.gift.module.entity.PlayGiftInfoEntity; +import com.starry.admin.modules.gift.service.IPlayClerkGiftInfoService; import com.starry.admin.modules.gift.service.IPlayGiftInfoService; import com.starry.admin.modules.order.module.entity.PlayOrderComplaintInfoEntity; import com.starry.admin.modules.order.module.entity.PlayOrderEvaluateInfoEntity; @@ -95,6 +99,12 @@ public class WxCustomController { @Resource private IPlayOrderRandomInfoService playOrderRandomInfoService; + @Resource + private IPlayCustomGiftInfoService playCustomGiftInfoService; + + @Resource + private IPlayClerkGiftInfoService playClerkGiftInfoService; + /** * 根据店员ID查询店员详细信息 @@ -218,6 +228,32 @@ public class WxCustomController { customUserInfoService.updateAccountBalanceById(customUserInfo.getId(), customUserInfo.getAccountBalance(), customUserInfo.getAccountBalance().subtract(money), "1", "赠送礼物", money, orderId); // 陪聊增加余额 // clerkUserInfoService.updateAccountBalanceById(clerkUserInfo.getId(), clerkUserInfo.getAccountBalance(), clerkUserInfo.getAccountBalance().add(money), "2", "赠送礼物", money, orderId); + // 修改顾客和礼物消息 + PlayCustomGiftInfoEntity customGiftInfoEntity = playCustomGiftInfoService.selectByGiftIdAndCustomId( vo.getGiftId(),userId); + if (customGiftInfoEntity == null) { + customGiftInfoEntity = new PlayCustomGiftInfoEntity(); + customGiftInfoEntity.setGiffId(vo.getGiftId()); + customGiftInfoEntity.setCustomId(userId); + customGiftInfoEntity.setGiffNumber(1L); + playCustomGiftInfoService.save(customGiftInfoEntity); + } else { + customGiftInfoEntity.setGiffNumber(customGiftInfoEntity.getGiffNumber() + vo.getGiftQuantity()); + playCustomGiftInfoService.update(customGiftInfoEntity); + } + + // 修改陪玩和礼物数据 + PlayClerkGiftInfoEntity clerkGiftInfoEntity = playClerkGiftInfoService.selectByGiftIdAndClerkId(vo.getGiftId(), vo.getClerkId()); + if (clerkGiftInfoEntity == null) { + clerkGiftInfoEntity = new PlayClerkGiftInfoEntity(); + clerkGiftInfoEntity.setGiffId(vo.getGiftId()); + clerkGiftInfoEntity.setClerkId(vo.getClerkId()); + clerkGiftInfoEntity.setGiffNumber(0L); + playClerkGiftInfoService.create(clerkGiftInfoEntity); + } else { + customGiftInfoEntity.setGiffNumber(customGiftInfoEntity.getGiffNumber() + vo.getGiftQuantity()); + playClerkGiftInfoService.update(clerkGiftInfoEntity); + } + return R.ok("成功"); } diff --git a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/gift/PlayClerkGiftReturnVo.java b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/gift/PlayClerkGiftReturnVo.java index 78b77bb..36c53c0 100644 --- a/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/gift/PlayClerkGiftReturnVo.java +++ b/play-admin/src/main/java/com/starry/admin/modules/weichat/entity/gift/PlayClerkGiftReturnVo.java @@ -49,4 +49,10 @@ public class PlayClerkGiftReturnVo { * 礼物数量 */ private long giffNumber; + + + /** + * 礼物状态(0:正常,1:已下架) + */ + private String state; }