ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/poji/member/MemberGiftRecord.java
File was renamed from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/member/MemberGiftRecord.java @@ -1,7 +1,6 @@ package com.ruoyi.member.domain.pojo.member; package com.ruoyi.system.api.domain.poji.member; import com.baomidou.mybatisplus.activerecord.Model; import com.baomidou.mybatisplus.annotation.IdType; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableId; import com.baomidou.mybatisplus.annotation.TableName; @@ -29,8 +28,8 @@ private static final long serialVersionUID = 1L; @TableId(value = "id", type = IdType.AUTO) private Long id; @TableId(value = "prize_id") private String prizeId; /** * 删除标记 */ @@ -121,10 +120,16 @@ @TableField("gift_year") private String giftYear; /** * 核销状态1未核销2已核销 */ @TableField("verify_status") private Integer verifyStatus; @Override protected Serializable pkVal() { return this.id; return this.prizeId; } } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/factory/RemoteMemberFallbackFactory.java
@@ -2,6 +2,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.service.RemoteMemberService; import com.ruoyi.system.api.domain.poji.member.Member; @@ -122,6 +123,11 @@ return null; } @Override public R<MemberGiftRecord> getVerifyPrize(String verifyPrize) { return R.fail("获取核销奖品信息失败:" + throwable.getMessage()); } }; } ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java
@@ -4,6 +4,7 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.factory.RemoteMemberFallbackFactory; import com.ruoyi.system.api.model.AppMiniLoginDto; @@ -181,4 +182,15 @@ */ @PostMapping("/getUnReplaySuggestVo") public R<Integer> getUnReplaySuggestVo(); /** * @description 获取核销奖品 * @author jqs * @date 2023/7/8 17:43 * @param verifyPrize * @return R<MemberGiftRecord> */ @PostMapping("/getVerifyPrize") public R<MemberGiftRecord> getVerifyPrize(@RequestBody String verifyPrize); } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityGoodsListVo.java
@@ -18,6 +18,9 @@ @ApiModelProperty(value = "商品id") private String goodsId; @ApiModelProperty(value = "商品编码") private String goodsNo; @ApiModelProperty(value = "商品名称") private String goodsName; ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityGoodsMapper.xml
@@ -85,6 +85,7 @@ SELECT tag.goods_id goodsId, tg.goods_name goodsName, tg.goods_no goodsNo, CASE tg.goods_type WHEN 1 THEN "周期" WHEN 2 THEN "服务" ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java
@@ -2,11 +2,13 @@ import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.member.service.member.MemberGiftRecordService; import com.ruoyi.member.service.member.MemberService; import com.ruoyi.member.service.member.MemberSuggestService; import com.ruoyi.member.service.member.MemberTotalService; import com.ruoyi.system.api.domain.dto.*; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; import com.ruoyi.system.api.domain.vo.*; import com.ruoyi.system.api.model.AppMiniLoginDto; import com.ruoyi.system.api.model.AppMiniLoginVo; @@ -31,6 +33,9 @@ @Resource private MemberTotalService memberTotalService; @Resource private MemberGiftRecordService memberGiftRecordService; /** * @description: getMember @@ -279,4 +284,17 @@ return R.ok(count); } /** * @description 获取核销奖品 * @author jqs * @date 2023/7/8 17:43 * @param verifyPrize * @return R<MemberGiftRecord> */ @PostMapping("/getVerifyPrize") public R<MemberGiftRecord> getVerifyPrize(@RequestBody String verifyPrize) { MemberGiftRecord memberGiftRecord = memberGiftRecordService.getById(verifyPrize); return R.ok(memberGiftRecord); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/MemberGiftRecordMapper.java
@@ -1,7 +1,7 @@ package com.ruoyi.member.mapper.member; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.ruoyi.member.domain.pojo.member.MemberGiftRecord; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; /** * <p> ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberGiftRecordServiceImpl.java
@@ -1,7 +1,7 @@ package com.ruoyi.member.service.impl; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.ruoyi.member.domain.pojo.member.MemberGiftRecord; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; import com.ruoyi.member.mapper.member.MemberGiftRecordMapper; import com.ruoyi.member.service.member.MemberGiftRecordService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/birthday/BirthdayCardServiceImpl.java
@@ -3,13 +3,14 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.ruoyi.common.core.utils.bean.BeanUtils; import com.ruoyi.common.core.utils.uuid.IdUtils; import com.ruoyi.member.domain.dto.MerBirthdayEditDto; import com.ruoyi.member.domain.dto.MgtBirthdayEditDto; import com.ruoyi.member.domain.dto.MgtBirthdayGetDto; import com.ruoyi.member.domain.dto.MgtBirthdayGiftDto; import com.ruoyi.member.domain.pojo.birthday.BirthdayCard; import com.ruoyi.member.domain.pojo.birthday.BirthdayGift; import com.ruoyi.member.domain.pojo.member.MemberGiftRecord; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; import com.ruoyi.member.domain.vo.*; import com.ruoyi.member.mapper.birthday.BirthdayCardMapper; import com.ruoyi.member.service.birthday.BirthdayCardService; @@ -482,6 +483,7 @@ BigDecimal winningProbability; BigDecimal randomProbability; BirthdayGiftSendDto birthdayGiftSendDto; String prizeId; String currentYear = String.valueOf(LocalDate.now().getYear()); // 获取平台生日卡信息 BirthdayCard plBirthdayCard = birthdayCardMapper.getPlatformBirthdayCard(shopId); @@ -499,6 +501,10 @@ memberGiftRecord = new MemberGiftRecord(); birthdayGiftSendDto = new BirthdayGiftSendDto(); BeanUtils.copyProperties(birthdayGift, memberGiftRecord); prizeId = IdUtils.simpleUUID(); memberGiftRecord.setPrizeId(prizeId); memberGiftRecord.setDelFlag(0); memberGiftRecord.setVerifyStatus(1); memberGiftRecord.setGiftFrom(1); memberGiftRecord.setGiftYear(currentYear); memberGiftRecord.setCreateTime(new Date()); @@ -564,6 +570,10 @@ memberGiftRecord = new MemberGiftRecord(); birthdayGiftSendDto = new BirthdayGiftSendDto(); BeanUtils.copyProperties(birthdayGift, memberGiftRecord); prizeId = IdUtils.simpleUUID(); memberGiftRecord.setPrizeId(prizeId); memberGiftRecord.setDelFlag(0); memberGiftRecord.setVerifyStatus(1); memberGiftRecord.setGiftFrom(2); memberGiftRecord.setShopId(shopId); memberGiftRecord.setGiftYear(currentYear); ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberGiftRecordService.java
@@ -1,7 +1,7 @@ package com.ruoyi.member.service.member; import com.baomidou.mybatisplus.extension.service.IService; import com.ruoyi.member.domain.pojo.member.MemberGiftRecord; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; import java.util.List; ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
@@ -58,7 +58,7 @@ merVerifyCodeVo.setMerVerifyCouponVo(merVerifyCouponVo); break; case 3: MerVerifyAwardVo merVerifyAwardVo = null; MerVerifyAwardVo merVerifyAwardVo = orderService.verifyPrize(verifyCode,merVerifyCodeDto.getShopId()); merVerifyCodeVo.setMerVerifyAwardVo(merVerifyAwardVo); break; default: ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyAwardVo.java
@@ -1,6 +1,10 @@ package com.ruoyi.order.domain.vo; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.util.Date; /** * @author jqs34 @@ -11,4 +15,29 @@ */ @Data public class MerVerifyAwardVo { @ApiModelProperty(value = "用户姓名") private String userName; @ApiModelProperty(value = "用户电话") private String userMobile; @ApiModelProperty(value = "奖品来源") private String giftFrom; @ApiModelProperty(value = "礼物类型1优惠券2商品3现金4实物") private Integer giftType; @ApiModelProperty(value = "奖品名称") private String giftName; @ApiModelProperty(value = "奖品数量") private Double giftNumber; @ApiModelProperty(value = "奖品备注") private String giftRemark; @ApiModelProperty(value = "获奖时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/vo/MerVerifyCouponVo.java
@@ -28,7 +28,7 @@ @ApiModelProperty(value = "优惠券来源") private String couponFrom; @ApiModelProperty(value = "优惠券来源") @ApiModelProperty(value = "优惠券商品列表") private List<MerCouponGoodsListVo> goodsList; } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -28,6 +28,7 @@ import com.ruoyi.system.api.domain.poji.goods.ShopGoods; import com.ruoyi.system.api.domain.poji.member.Member; import com.ruoyi.system.api.domain.poji.member.MemberCoupon; import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; import com.ruoyi.system.api.domain.poji.shop.Shop; import com.ruoyi.system.api.domain.poji.sys.SysUser; import com.ruoyi.system.api.domain.vo.*; @@ -2328,6 +2329,58 @@ } /** * @description 获取核销奖品 * @author jqs * @date 2023/7/8 17:46 * @param verifyCode * @param shopId * @return MerVerifyAwardVo */ @Override public MerVerifyAwardVo verifyPrize(String verifyCode,Long shopId){ MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo(); MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrize(verifyCode).getData(); if(memberGiftRecord==null||memberGiftRecord.getVerifyStatus()!=1){ throw new ServiceException(AppErrorConstant.COUPON_USED); } if(memberGiftRecord.getGiftFrom()==2&&!memberGiftRecord.getShopId().equals(shopId)){ throw new ServiceException(AppErrorConstant.VERIFY_SHOP_ERROR); } Member member = remoteMemberService.getMember(memberGiftRecord.getUserId()).getData(); merVerifyAwardVo.setUserName(member.getNickName()); merVerifyAwardVo.setUserMobile(member.getMobile()); if(memberGiftRecord.getGiftFrom()==1){ merVerifyAwardVo.setGiftFrom("平台生日卡"); }else{ merVerifyAwardVo.setGiftFrom("商户生日卡"); } merVerifyAwardVo.setGiftType(memberGiftRecord.getGiftType()); switch(memberGiftRecord.getGiftType()){ case 1: merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber())); break; case 2: merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber())); break; case 3: merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber())); break; case 4: merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber())); break; default: break; } merVerifyAwardVo.setCreateTime(memberGiftRecord.getCreateTime()); return merVerifyAwardVo; } /** * @param merBaseDto * @return BigDecimal * @description 获取用户未支付金额 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java
@@ -308,6 +308,16 @@ MerVerifyCouponVo verifyCoupon(String verifyCode,Long shopId); /** * @description 获取核销奖品 * @author jqs * @date 2023/7/8 17:46 * @param verifyCode * @param shopId * @return MerVerifyAwardVo */ MerVerifyAwardVo verifyPrize(String verifyCode,Long shopId); /** * @description 获取用户未支付金额 * @author jqs * @date 2023/6/29 18:00 ruoyi-modules/ruoyi-shop/src/main/java/com/ruoyi/shop/service/impl/shop/ShopProportionServiceImpl.java
@@ -32,10 +32,12 @@ public void editMgtShopProportion(MgtShopProportionEditDto mgtShopProportionEditDto){ //删除旧分成 ShopProportion shopProportionOld = this.getById(mgtShopProportionEditDto.getProportionId()); shopProportionOld.setDelFlag(1); shopProportionOld.setUpdateUserId(mgtShopProportionEditDto.getUserId()); shopProportionOld.setUpdateTime(new Date()); this.saveOrUpdate(shopProportionOld); if(shopProportionOld!=null){ shopProportionOld.setDelFlag(1); shopProportionOld.setUpdateUserId(mgtShopProportionEditDto.getUserId()); shopProportionOld.setUpdateTime(new Date()); this.saveOrUpdate(shopProportionOld); } //创建新分成 ShopProportion shopProportionNew = new ShopProportion(); shopProportionNew.setDelFlag(0); ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/config/CustomConfigServiceImpl.java
@@ -320,23 +320,44 @@ switch (key) { case "SHOP_EMERGENCY_DEGREE": newValue = mgtShopConfigEditDto.getShopEmergencyDegree(); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); if(oldValue!=null&&!oldValue.isEmpty()){ handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } break; case "SHOP_FOLLOW_TYPE": newValue = mgtShopConfigEditDto.getShopFollowType(); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); if(oldValue!=null&&!oldValue.isEmpty()){ handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } break; case "SHOP_CUSTOM_STATUS": newValue = mgtShopConfigEditDto.getShopCustomStatus(); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); if(oldValue!=null&&!oldValue.isEmpty()){ handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } break; case "SHOP_SOURCE_CHANNEL": newValue = mgtShopConfigEditDto.getShopSourceChannel(); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); if(oldValue!=null&&!oldValue.isEmpty()){ handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } break; default: break; } customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } this.saveOrUpdateBatch(updatedCustomConfigs); } else { @@ -377,26 +398,52 @@ switch (key) { case "MEMBER_SOURCE_CHANNEL": newValue = mgtMemberConfigEditDto.getMemberSourceChannel(); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); if(oldValue!=null&&!oldValue.isEmpty()){ handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } break; case "MEMBER_CHARACTER": newValue = mgtMemberConfigEditDto.getMemberCharacter(); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); if(oldValue!=null&&!oldValue.isEmpty()){ handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } break; case "MEMBER_LEVEL": newValue = mgtMemberConfigEditDto.getMemberLevel(); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); if(oldValue!=null&&!oldValue.isEmpty()){ handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } break; case "MEMBER_TYPE": newValue = mgtMemberConfigEditDto.getMemberType(); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); if(oldValue!=null&&!oldValue.isEmpty()){ handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } break; case "NURSE_PROBLEM": newValue = mgtMemberConfigEditDto.getNurseProblem(); customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); if(oldValue!=null&&!oldValue.isEmpty()){ handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } break; default: break; } customConfig.setConfigValue(newValue); customConfig.setUpdateTime(updateTime); handleChangeConfig(oldValue, newValue, key); updatedCustomConfigs.add(customConfig); } this.saveOrUpdateBatch(updatedCustomConfigs); } else { ruoyi-modules/ruoyi-system/src/main/resources/mapper/config/RecommendCooperationMapper.xml
@@ -22,14 +22,14 @@ trc.id id, trc.recommended_name recommendedName, trc.recommended_phone recommendedPhone, su.nike_name recommendUserName, su.nick_name recommendUserName, trc.member_source memberSource, trc.create_time createTime FROM t_recommend_cooperation trc LEFT JOIN sys_user su ON su.user_id = trc.recommend_user_id WHERE su.del_flag = '0' <if test="param.keyword != null and param.keyword != ''"> AND (trc.recommended_name LIKE CONCAT('%',#{param.keyword},'%') OR trc.recommended_phone LIKE CONCAT('%',#{param.keyword},'%') OR su.nike_name LIKE CONCAT('%',#{param.keyword},'%')) AND (trc.recommended_name LIKE CONCAT('%',#{param.keyword},'%') OR trc.recommended_phone LIKE CONCAT('%',#{param.keyword},'%') OR su.nick_name LIKE CONCAT('%',#{param.keyword},'%')) </if> <if test="param.memberSource != null and param.memberSource != ''"> AND FIND_IN_SET(#{param.memberSource},trc.member_source) > 0