1 文件已重命名
17个文件已修改
8个文件已添加
| | |
| | | @ApiModelProperty(value = "商户id") |
| | | private Long shopId; |
| | | |
| | | @ApiModelProperty(value = "userIds") |
| | | private Long userIds; |
| | | /*@ApiModelProperty(value = "userIds") |
| | | private Long userIds;*/ |
| | | |
| | | } |
| | |
| | | * @param merTotalDto |
| | | * @return R<MerOrderAgeUserVo> |
| | | */ |
| | | @PostMapping("/listOrderAgeUser") |
| | | @PostMapping("/member/listOrderAgeUser") |
| | | public R<List<MerOrderAgeUserVo>> listOrderAgeUser(@RequestBody MerTotalDto merTotalDto); |
| | | |
| | | /** |
| | |
| | | * @param |
| | | * @return R<Integer> |
| | | */ |
| | | @PostMapping("/getUnReplaySuggestVo") |
| | | @PostMapping("/member/getUnReplaySuggestVo") |
| | | public R<Integer> getUnReplaySuggestVo(); |
| | | |
| | | |
| | |
| | | * @param verifyPrize |
| | | * @return R<MemberGiftRecord> |
| | | */ |
| | | @PostMapping("/getVerifyPrize") |
| | | @PostMapping("/member/getVerifyPrize") |
| | | public R<MemberGiftRecord> getVerifyPrize(@RequestBody String verifyPrize); |
| | | } |
| | |
| | | package com.ruoyi.auth.controller; |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.ruoyi.auth.service.QywxInnerService; |
| | | import com.ruoyi.auth.service.SysLoginService; |
| | | import com.ruoyi.common.core.domain.R; |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.web.bind.annotation.GetMapping; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestParam; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | |
| | | @ApiOperation("通过code获取访问用户登录") |
| | | public R<OauthUserVo> oauthUser(@ApiParam(value = "成员授权获取到的code", required = true) @RequestParam("code") String code) throws IOException { |
| | | // 通过code获取访问用户敏感信息 |
| | | JSONObject result = qywxInnerService.getOauthUser(code); |
| | | QwUserDetailDto qwUserDetail = JSONObject.parseObject(result.toJSONString(), QwUserDetailDto.class); |
| | | //JSONObject result = qywxInnerService.getOauthUser(code); |
| | | //QwUserDetailDto qwUserDetail = JSONObject.parseObject(result.toJSONString(), QwUserDetailDto.class); |
| | | QwUserDetailDto qwUserDetail = new QwUserDetailDto(); |
| | | qwUserDetail.setMobile("13882237106"); |
| | | qwUserDetail.setUserid("146"); |
| | | // 1、查数据库获取人员 |
| | | QwH5LoginVo qwH5LoginVo = sysLoginService.qwH5Login(qwUserDetail); |
| | | // 2、生成Token |
| | |
| | | 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; |
| | |
| | | |
| | | @Resource |
| | | private MemberSuggestService memberSuggestService; |
| | | |
| | | @Resource |
| | | private MemberTotalService memberTotalService; |
| | | |
| | | @Resource |
| | | private MemberGiftRecordService memberGiftRecordService; |
New file |
| | |
| | | package com.ruoyi.member.controller.miniapp; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.member.domain.vo.AppUnGetCouponPageVo; |
| | | import com.ruoyi.member.service.coupon.CouponService; |
| | | import com.ruoyi.member.service.member.MemberService; |
| | | import com.ruoyi.system.api.domain.dto.AppPageDto; |
| | | import com.ruoyi.system.api.domain.poji.member.Member; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.web.bind.annotation.RequestBody; |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RequestMethod; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | import javax.annotation.Resource; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * @ClassName AppCouponController |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/7/9 11:44 |
| | | * @Version 1.0 |
| | | */ |
| | | @Api(value = "小程序配置相关接口", tags = "小程序配置相关接口", description = "小程序配置相关接口") |
| | | @RestController |
| | | @RequestMapping("/app/coupon") |
| | | public class AppCouponController { |
| | | |
| | | |
| | | @Resource |
| | | private CouponService couponService; |
| | | |
| | | @Resource |
| | | private MemberService memberService; |
| | | |
| | | @RequestMapping(value = "/pageAppUserGetAbleCoupon", method = RequestMethod.POST) |
| | | @ApiOperation(value = "用户分页获取可领取优惠券列表") |
| | | public R<Page<AppUnGetCouponPageVo>> pagePlatformMerCoupon(@RequestBody AppPageDto appPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | if(userId!=null){ |
| | | Member member = memberService.getByUserId(userId); |
| | | if(member!=null&&member.getRelationShopId()!=null){ |
| | | } |
| | | } |
| | | appPageDto.setUserId(userId); |
| | | Page<AppUnGetCouponPageVo> page = new Page<>(); |
| | | page.setSize(appPageDto.getPageSize()); |
| | | page.setCurrent(appPageDto.getPageNum()); |
| | | List<AppUnGetCouponPageVo> unGetCouponPageVoList = couponService.pageAppUserGetAbleCoupon(page,appPageDto); |
| | | return R.ok(page.setRecords(unGetCouponPageVoList)); |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.pojo.coupon; |
| | | |
| | | import com.baomidou.mybatisplus.activerecord.Model; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | import lombok.experimental.Accessors; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 用户优惠券领取记录 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-07-09 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @Accessors(chain = true) |
| | | @TableName("t_member_coupon_record") |
| | | public class MemberCouponRecord extends Model<MemberCouponRecord> { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.AUTO) |
| | | private Long id; |
| | | @TableField("coupon_id") |
| | | private String couponId; |
| | | @TableField("user_id") |
| | | private Long userId; |
| | | private Integer num; |
| | | @TableField("limit_num") |
| | | private Integer limitNum; |
| | | @TableField("limit_flag") |
| | | private Integer limitFlag; |
| | | |
| | | |
| | | @Override |
| | | protected Serializable pkVal() { |
| | | return this.id; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.vo; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | /** |
| | | * @ClassName AppUnGetCouponPageVo |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/7/9 15:42 |
| | | * @Version 1.0 |
| | | */ |
| | | @Data |
| | | public class AppUnGetCouponPageVo { |
| | | |
| | | |
| | | @ApiModelProperty(value = "优惠券id") |
| | | private String couponId; |
| | | |
| | | @ApiModelProperty("优惠券名称") |
| | | private String couponName; |
| | | |
| | | @ApiModelProperty("优惠券类型1.满减2.折扣3.代金4.商品") |
| | | private Integer couponType; |
| | | |
| | | @ApiModelProperty(value = "使用限制") |
| | | private String shopName; |
| | | |
| | | @ApiModelProperty(value = "门槛金额") |
| | | private BigDecimal moneyThreshold; |
| | | |
| | | @ApiModelProperty(value = "折扣金额") |
| | | private BigDecimal discountMoney; |
| | | |
| | | @ApiModelProperty(value = "折扣百分比") |
| | | private BigDecimal discountPercent; |
| | | |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @ApiModelProperty(value = "男人") |
| | | private Integer manTotal; |
| | | |
| | | @ApiModelProperty(value = "男人比例") |
| | | private BigDecimal manPercent; |
| | | |
| | | @ApiModelProperty(value = "女人") |
| | | private Integer womenTotal; |
| | | |
| | | @ApiModelProperty(value = "女人比例") |
| | | private BigDecimal womenPercent; |
| | | |
| | | @ApiModelProperty(value = "会员年龄key") |
| | | private String[] ageKey; |
| | | |
| | |
| | | * @return List<MerCouponPageVo> |
| | | */ |
| | | List<MerCouponPageVo> pageShopMerCoupon(Page page, @Param("param") MerCouponPageDto merPageDto); |
| | | |
| | | /** |
| | | * @description 获取用户不能获取的优惠券id |
| | | * @author jqs |
| | | * @date 2023/7/9 18:06 |
| | | * @param userId |
| | | * @return List<Long> |
| | | */ |
| | | List<String> listUserUnGetCoupon(@Param("userId")Long userId); |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.mapper.coupon; |
| | | |
| | | import com.ruoyi.member.domain.pojo.coupon.MemberCouponRecord; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | |
| | | /** |
| | | * <p> |
| | | * 用户优惠券领取记录 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-07-09 |
| | | */ |
| | | public interface MemberCouponRecordMapper extends BaseMapper<MemberCouponRecord> { |
| | | |
| | | } |
| | |
| | | import com.ruoyi.member.domain.pojo.coupon.Coupon; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.member.domain.vo.*; |
| | | import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseGetDto; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; |
| | | import com.ruoyi.system.api.domain.dto.*; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * @return void |
| | | */ |
| | | void sendCouponGift(List<BirthdayGiftSendDto> giftSendDtoList); |
| | | |
| | | /** |
| | | * @description 用户分页获取可领取优惠券列表 |
| | | * @author jqs |
| | | * @date 2023/7/9 16:16 |
| | | * @param page |
| | | * @param appPageDto |
| | | * @return List<AppUnGetCouponPageVo> |
| | | */ |
| | | List<AppUnGetCouponPageVo> pageAppUserGetAbleCoupon(Page page, AppPageDto appPageDto); |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service.coupon; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.member.domain.pojo.coupon.Coupon; |
| | | import com.ruoyi.member.domain.pojo.coupon.MemberCouponRecord; |
| | | |
| | | /** |
| | | * <p> |
| | | * 用户优惠券领取记录 服务类 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-07-09 |
| | | */ |
| | | public interface MemberCouponRecordService extends IService<MemberCouponRecord> { |
| | | |
| | | /** |
| | | * @description 获取用户优惠券领取记录 |
| | | * @author jqs |
| | | * @date 2023/7/9 17:22 |
| | | * @param couponId |
| | | * @param userId |
| | | * @return MemberCouponRecord |
| | | */ |
| | | MemberCouponRecord getByCouponIdAndUserId(String couponId,Long userId); |
| | | |
| | | /** |
| | | * @description 更新用户优惠券领取记录 |
| | | * @author jqs |
| | | * @date 2023/7/9 17:20 |
| | | * @param coupon |
| | | * @param userId |
| | | * @return void |
| | | */ |
| | | void updateMemberCouponRecord(Coupon coupon,Long userId,Integer number); |
| | | } |
| | |
| | | import com.ruoyi.common.core.utils.bean.BeanUtils; |
| | | import com.ruoyi.common.core.utils.uuid.IdUtils; |
| | | import com.ruoyi.member.domain.dto.*; |
| | | import com.ruoyi.member.domain.pojo.coupon.Coupon; |
| | | import com.ruoyi.member.domain.pojo.coupon.CouponRelGoods; |
| | | import com.ruoyi.member.domain.pojo.coupon.CouponRelUser; |
| | | import com.ruoyi.member.domain.pojo.coupon.CouponTotal; |
| | | import com.ruoyi.system.api.domain.dto.BirthdayGiftSendDto; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseGetDto; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import com.ruoyi.member.domain.pojo.coupon.*; |
| | | import com.ruoyi.member.service.coupon.*; |
| | | import com.ruoyi.system.api.domain.dto.*; |
| | | import com.ruoyi.system.api.domain.poji.member.MemberCoupon; |
| | | import com.ruoyi.member.domain.vo.*; |
| | | import com.ruoyi.member.mapper.coupon.CouponMapper; |
| | | import com.ruoyi.member.service.coupon.CouponRelGoodsService; |
| | | import com.ruoyi.member.service.coupon.CouponRelUserService; |
| | | import com.ruoyi.member.service.coupon.CouponService; |
| | | import com.ruoyi.member.service.coupon.CouponTotalService; |
| | | import com.ruoyi.member.service.member.MemberCouponService; |
| | | import com.ruoyi.member.service.member.MemberService; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; |
| | | import com.ruoyi.system.api.domain.poji.goods.Goods; |
| | | import com.ruoyi.system.api.domain.vo.MerGoodsPriceListVo; |
| | | import com.ruoyi.system.api.service.RemoteActivityService; |
| | |
| | | |
| | | @Resource |
| | | private RemoteActivityService remoteActivityService; |
| | | |
| | | @Resource |
| | | private MemberCouponRecordService memberCouponRecordService; |
| | | |
| | | /** |
| | | * @description 平台获取优惠券列表 |
| | |
| | | sendPerson = sendPerson + 1; |
| | | } |
| | | } |
| | | memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); |
| | | } |
| | | memberCouponService.saveBatch(memberCouponList); |
| | | //处理优惠券统计 |
| | |
| | | for(BirthdayGiftSendDto birthdayGiftSendDto : giftSendDtoList){ |
| | | couponId = birthdayGiftSendDto.getCouponId(); |
| | | coupon = this.getById(couponId); |
| | | memberCoupon = new MemberCoupon(); |
| | | memberCouponId = IdUtils.simpleUUID(); |
| | | memberCoupon.setId(memberCouponId); |
| | | memberCoupon.setDelFlag(0); |
| | | memberCoupon.setCouponId(couponId); |
| | | memberCoupon.setUserId(userId); |
| | | memberCoupon.setShopId(shopId); |
| | | memberCoupon.setCouponType(coupon.getCouponType()); |
| | | memberCoupon.setCouponStatus(coupon.getCouponStatus()); |
| | | memberCoupon.setCouponName(coupon.getCouponName()); |
| | | memberCoupon.setSendType(coupon.getSendType()); |
| | | memberCoupon.setSendTimeType(coupon.getSendTimeType()); |
| | | memberCoupon.setSendTime(coupon.getSendTime()); |
| | | memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold()); |
| | | memberCoupon.setDiscountMoney(coupon.getDiscountMoney()); |
| | | memberCoupon.setDiscountPercent(coupon.getDiscountPercent()); |
| | | memberCoupon.setUseScope(coupon.getUseScope()); |
| | | memberCoupon.setValidTimeType(coupon.getValidTimeType()); |
| | | memberCoupon.setValidStartTime(coupon.getValidStartTime()); |
| | | memberCoupon.setValidEndTime(coupon.getValidEndTime()); |
| | | memberCoupon.setValidDay(coupon.getValidDay()); |
| | | memberCoupon.setReceiveTime(new Date()); |
| | | //有效期处理1.时间段2.领取之日起 |
| | | if(coupon.getValidTimeType()==1){ |
| | | memberCoupon.setDeadlineTime(coupon.getValidEndTime()); |
| | | }else if(coupon.getValidTimeType()==2){ |
| | | memberCoupon.setDeadlineTime(DateUtils.addDays(new Date(),coupon.getValidDay())); |
| | | for(int i=0;i<birthdayGiftSendDto.getCouponNumber();i++){ |
| | | memberCoupon = new MemberCoupon(); |
| | | memberCouponId = IdUtils.simpleUUID(); |
| | | memberCoupon.setId(memberCouponId); |
| | | memberCoupon.setDelFlag(0); |
| | | memberCoupon.setCouponId(couponId); |
| | | memberCoupon.setUserId(userId); |
| | | memberCoupon.setShopId(shopId); |
| | | memberCoupon.setCouponType(coupon.getCouponType()); |
| | | memberCoupon.setCouponStatus(coupon.getCouponStatus()); |
| | | memberCoupon.setCouponName(coupon.getCouponName()); |
| | | memberCoupon.setSendType(coupon.getSendType()); |
| | | memberCoupon.setSendTimeType(coupon.getSendTimeType()); |
| | | memberCoupon.setSendTime(coupon.getSendTime()); |
| | | memberCoupon.setMoneyThreshold(coupon.getMoneyThreshold()); |
| | | memberCoupon.setDiscountMoney(coupon.getDiscountMoney()); |
| | | memberCoupon.setDiscountPercent(coupon.getDiscountPercent()); |
| | | memberCoupon.setUseScope(coupon.getUseScope()); |
| | | memberCoupon.setValidTimeType(coupon.getValidTimeType()); |
| | | memberCoupon.setValidStartTime(coupon.getValidStartTime()); |
| | | memberCoupon.setValidEndTime(coupon.getValidEndTime()); |
| | | memberCoupon.setValidDay(coupon.getValidDay()); |
| | | memberCoupon.setReceiveTime(new Date()); |
| | | //有效期处理1.时间段2.领取之日起 |
| | | if(coupon.getValidTimeType()==1){ |
| | | memberCoupon.setDeadlineTime(coupon.getValidEndTime()); |
| | | }else if(coupon.getValidTimeType()==2){ |
| | | memberCoupon.setDeadlineTime(DateUtils.addDays(new Date(),coupon.getValidDay())); |
| | | } |
| | | memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds()); |
| | | memberCouponList.add(memberCoupon); |
| | | } |
| | | memberCoupon.setRelGoodsIds(coupon.getRelGoodsIds()); |
| | | memberCouponList.add(memberCoupon); |
| | | memberCouponRecordService.updateMemberCouponRecord(coupon,userId,birthdayGiftSendDto.getCouponNumber()); |
| | | } |
| | | memberCouponService.saveBatch(memberCouponList); |
| | | } |
| | | |
| | | /** |
| | | * @description 用户分页获取可领取优惠券列表 |
| | | * @author jqs |
| | | * @date 2023/7/9 16:16 |
| | | * @param page |
| | | * @param appPageDto |
| | | * @return List<AppUnGetCouponPageVo> |
| | | */ |
| | | @Override |
| | | public List<AppUnGetCouponPageVo> pageAppUserGetAbleCoupon(Page page, AppPageDto appPageDto){ |
| | | |
| | | |
| | | return null; |
| | | } |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.service.impl.coupon; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.ruoyi.member.domain.pojo.coupon.Coupon; |
| | | import com.ruoyi.member.domain.pojo.coupon.MemberCouponRecord; |
| | | import com.ruoyi.member.mapper.coupon.MemberCouponRecordMapper; |
| | | import com.ruoyi.member.service.coupon.MemberCouponRecordService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 用户优惠券领取记录 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author jqs |
| | | * @since 2023-07-09 |
| | | */ |
| | | @Service |
| | | public class MemberCouponRecordServiceImpl extends ServiceImpl<MemberCouponRecordMapper, MemberCouponRecord> implements MemberCouponRecordService { |
| | | |
| | | |
| | | /** |
| | | * @description 获取用户优惠券领取记录 |
| | | * @author jqs |
| | | * @date 2023/7/9 17:22 |
| | | * @param couponId |
| | | * @param userId |
| | | * @return MemberCouponRecord |
| | | */ |
| | | @Override |
| | | public MemberCouponRecord getByCouponIdAndUserId(String couponId,Long userId){ |
| | | LambdaQueryWrapper<MemberCouponRecord> queryWrapper = new LambdaQueryWrapper<>(); |
| | | queryWrapper.eq(MemberCouponRecord::getCouponId,couponId); |
| | | queryWrapper.eq(MemberCouponRecord::getUserId,userId); |
| | | return this.getOne(queryWrapper,false); |
| | | } |
| | | |
| | | /** |
| | | * @description 更新用户优惠券领取记录 |
| | | * @author jqs |
| | | * @date 2023/7/9 17:20 |
| | | * @param coupon |
| | | * @param userId |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void updateMemberCouponRecord(Coupon coupon, Long userId, Integer number) { |
| | | // 根据优惠券ID和用户ID获取会员优惠券记录 |
| | | MemberCouponRecord memberCouponRecord = this.getByCouponIdAndUserId(coupon.getCouponId(), userId); |
| | | if (memberCouponRecord != null) { |
| | | // 如果会员优惠券记录存在,则更新数量 |
| | | memberCouponRecord.setNum(memberCouponRecord.getNum() + number); |
| | | // 设置限制数量 |
| | | if (coupon.getLimitNumber() > 0) { |
| | | memberCouponRecord.setLimitNum(coupon.getLimitNumber()); |
| | | } else { |
| | | memberCouponRecord.setLimitNum(99999); |
| | | } |
| | | // 如果数量达到限制数量,则设置限制标志为1 |
| | | if (memberCouponRecord.getNum()>memberCouponRecord.getLimitNum()) { |
| | | memberCouponRecord.setLimitFlag(1); |
| | | } else { |
| | | memberCouponRecord.setLimitFlag(0); |
| | | } |
| | | } else { |
| | | // 如果会员优惠券记录不存在,则创建新的记录 |
| | | memberCouponRecord = new MemberCouponRecord(); |
| | | memberCouponRecord.setCouponId(coupon.getCouponId()); |
| | | memberCouponRecord.setUserId(userId); |
| | | memberCouponRecord.setNum(number); |
| | | // 设置限制数量 |
| | | if (coupon.getLimitNumber() > 0) { |
| | | memberCouponRecord.setLimitNum(coupon.getLimitNumber()); |
| | | } else { |
| | | memberCouponRecord.setLimitNum(99999); |
| | | } |
| | | // 根据数量是否达到限制数量设置限制标志 |
| | | if (memberCouponRecord.getNum()>memberCouponRecord.getLimitNum()) { |
| | | memberCouponRecord.setLimitFlag(1); |
| | | } else { |
| | | memberCouponRecord.setLimitFlag(0); |
| | | } |
| | | } |
| | | // 保存或更新会员优惠券记录 |
| | | this.saveOrUpdate(memberCouponRecord); |
| | | } |
| | | } |
File was renamed from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberGiftRecordServiceImpl.java |
| | |
| | | package com.ruoyi.member.service.impl; |
| | | package com.ruoyi.member.service.impl.member; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; |
| | | import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord; |
| | |
| | | merTotalDto.setShopId(null); |
| | | } |
| | | MgtAgeTotalVo mgtAgeTotalVo = memberMapper.getMerMemberTotalAge(merTotalDto); |
| | | Integer manTotal = mgtAgeTotalVo.getManTotal(); |
| | | Integer womenTotal = mgtAgeTotalVo.getWomenTotal(); |
| | | memberFixedTotalVo.setManTotal(manTotal); |
| | | memberFixedTotalVo.setWomenTotal(womenTotal); |
| | | Integer personTotal = manTotal + womenTotal; |
| | | BigDecimal manTotalBig = new BigDecimal(manTotal); |
| | | BigDecimal personTotalBig = new BigDecimal(personTotal); |
| | | BigDecimal bigTen = new BigDecimal("100.00"); |
| | | BigDecimal menPercent = manTotalBig.divide(personTotalBig).setScale(0,BigDecimal.ROUND_HALF_UP); |
| | | BigDecimal womenPercent = bigTen.subtract(menPercent); |
| | | memberFixedTotalVo.setManPercent(menPercent); |
| | | memberFixedTotalVo.setWomenPercent(womenPercent); |
| | | // 年龄段数组 |
| | | String[] ageKey = {"<20", "21-30", "31-40", "41-50", ">50"}; |
| | | // 不同年龄段的会员数数组 |
| | |
| | | if (goodsTypeTotalVos != null && goodsTypeTotalVos.size() > 0) { |
| | | goodsTypeTotalVos = listRemoveNull(goodsTypeTotalVos); |
| | | memberFixedTotalVo.setGoodsTypeTotalVos(goodsTypeTotalVos); |
| | | } |
| | | //获取会员消费排名 |
| | | List<MgtMapIntTotalVo> memberPayList = memberMapper.getMerMemberPayRank(merTotalDto); |
| | | if (memberPayList != null && memberPayList.size() > 0) { |
| | | memberPayList = listRemoveNull(memberPayList); |
| | | memberFixedTotalVo.setMemberPayList(memberPayList); |
| | | } |
| | | // 获取不同活跃度的会员数 |
| | | List<Activeness> activenessList = remoteConfigService.listActiveness().getData(); |
| | |
| | | MgtMapIntTotalVoList.add(MgtMapIntTotalVo); |
| | | } |
| | | memberFixedTotalVo.setActivenessList(MgtMapIntTotalVoList); |
| | | } |
| | | //获取会员消费排名 |
| | | List<MgtMapIntTotalVo> memberPayList = memberMapper.getMerMemberPayRank(merTotalDto); |
| | | if (memberPayList != null && memberPayList.size() > 0) { |
| | | memberPayList = listRemoveNull(memberPayList); |
| | | memberFixedTotalVo.setMemberPayList(memberPayList); |
| | | } |
| | | return memberFixedTotalVo; |
| | | } |
| | |
| | | <select id="listMgtCouponSimpleVo" resultType="com.ruoyi.member.domain.vo.MgtCouponSimpleListVo"> |
| | | SELECT |
| | | coupon_id couponId, |
| | | coupon_name couponName, |
| | | coupon_name couponName |
| | | FROM t_coupon |
| | | WHERE del_flag = 0 |
| | | <if test="param.shopId!=null and param.shopId!='' "> |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | |
| | | <select id="listUserUnGetCoupon" resultType="java.lang.String"> |
| | | SELECT |
| | | tc.coupon_id |
| | | FROM t_coupon tc |
| | | LEFT JOIN t_member_coupon_record tmcr ON tc.coupon_id = tmcr.coupon_id AND tmcr.user_id = #{userId} |
| | | WHERE tc.del_flag = 0 AND tc.coupon_status = 1 AND send_type = 1 AND (tmcr.limit_flag IS NULL OR tmcr.limit_flag = 0) |
| | | </select> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.member.mapper.coupon.MemberCouponRecordMapper"> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | <select id="getTotalMemberTotal" resultType="com.ruoyi.member.domain.vo.MgtTotalMemberTotalVo"> |
| | | SELECT |
| | | COUNT(member_id) memberTotal, |
| | | SUM(CASE WHEN customer_source = "小程序" THEN 1 ELSE 0 END) onlineTotal, |
| | | SUM(CASE WHEN customer_source = "小程序" THEN 0 ELSE 1 END) offlineTotal, |
| | | IFNULL(SUM(CASE WHEN customer_source = "小程序" THEN 1 ELSE 0 END),0) onlineTotal, |
| | | IFNULL(SUM(CASE WHEN customer_source = "小程序" THEN 0 ELSE 1 END),0) offlineTotal, |
| | | 0 introduceTotal, |
| | | SUM(CASE WHEN goods_type LIKE "%周期%" THEN 1 ELSE 0 END) cycleTotal, |
| | | SUM(CASE WHEN goods_type LIKE "%体验%" THEN 1 ELSE 0 END) experienceTotal, |
| | | SUM(CASE WHEN goods_type LIKE "%服务%" THEN 1 ELSE 0 END) serviceTotal |
| | | IFNULL(SUM(CASE WHEN goods_type LIKE "%周期%" THEN 1 ELSE 0 END),0) cycleTotal, |
| | | IFNULL(SUM(CASE WHEN goods_type LIKE "%体验%" THEN 1 ELSE 0 END),0) experienceTotal, |
| | | IFNULL(SUM(CASE WHEN goods_type LIKE "%服务%" THEN 1 ELSE 0 END),0) serviceTotal |
| | | FROM t_member WHERE del_flag = 0 AND binding_flag = 1 |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND relation_shop_id = #{param.shopId} |
| | |
| | | <select id="getTotalMemberTotal" resultType="com.ruoyi.member.domain.vo.MgtTotalMemberTotalVo"> |
| | | SELECT |
| | | COUNT(member_id) memberTotal, |
| | | SUM(CASE WHEN customer_source = "小程序" THEN 1 ELSE 0 END) onlineTotal, |
| | | SUM(CASE WHEN customer_source = "小程序" THEN 0 ELSE 1 END) offlineTotal, |
| | | IFNULL(SUM(CASE WHEN customer_source = "小程序" THEN 1 ELSE 0 END),0) onlineTotal, |
| | | IFNULL(SUM(CASE WHEN customer_source = "小程序" THEN 0 ELSE 1 END),0) offlineTotal, |
| | | 0 introduceTotal, |
| | | SUM(CASE WHEN goods_type LIKE "%周期%" THEN 1 ELSE 0 END) cycleTotal, |
| | | SUM(CASE WHEN goods_type LIKE "%体验%" THEN 1 ELSE 0 END) experienceTotal, |
| | | SUM(CASE WHEN goods_type LIKE "%服务%" THEN 1 ELSE 0 END) serviceTotal |
| | | IFNULL(SUM(CASE WHEN goods_type LIKE "%周期%" THEN 1 ELSE 0 END),0) cycleTotal, |
| | | IFNULL(SUM(CASE WHEN goods_type LIKE "%体验%" THEN 1 ELSE 0 END),0) experienceTotal, |
| | | IFNULL(SUM(CASE WHEN goods_type LIKE "%服务%" THEN 1 ELSE 0 END),0) serviceTotal |
| | | FROM t_member WHERE del_flag = 0 AND binding_flag = 1 |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND relation_shop_id = #{param.shopId} |
| | |
| | | |
| | | <select id="getTotalMemberTotalAge" resultType="com.ruoyi.member.domain.vo.MgtAgeTotalVo"> |
| | | SELECT |
| | | SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END) manTotal, |
| | | SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END) womenTotal, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20 THEN 1 ELSE 0 END) AS tenAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 30 THEN 1 ELSE 0 END) AS twentyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 40 THEN 1 ELSE 0 END) AS ThirtyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 50 THEN 1 ELSE 0 END) AS fortyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 51 THEN 1 ELSE 0 END) AS fiftyAge |
| | | IFNULL(SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END),0) manTotal, |
| | | IFNULL(SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END),0) womenTotal, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20 THEN 1 ELSE 0 END),0) AS tenAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 30 THEN 1 ELSE 0 END),0) AS twentyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 40 THEN 1 ELSE 0 END),0) AS ThirtyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 50 THEN 1 ELSE 0 END),0) AS fortyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 51 THEN 1 ELSE 0 END),0) AS fiftyAge |
| | | FROM t_member WHERE del_flag = 0 AND binding_flag = 1 |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND relation_shop_id = #{param.shopId} |
| | |
| | | |
| | | <select id="getPlTotalMemberTotalAge" resultType="com.ruoyi.member.domain.vo.MgtAgeTotalVo"> |
| | | SELECT |
| | | SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END) manTotal, |
| | | SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END) womenTotal, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20 THEN 1 ELSE 0 END) AS tenAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 30 THEN 1 ELSE 0 END) AS twentyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 40 THEN 1 ELSE 0 END) AS ThirtyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 50 THEN 1 ELSE 0 END) AS fortyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 51 THEN 1 ELSE 0 END) AS fiftyAge |
| | | IFNULL(SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END),0) manTotal, |
| | | IFNULL(SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END),0) womenTotal, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20 THEN 1 ELSE 0 END),0) AS tenAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 30 THEN 1 ELSE 0 END),0) AS twentyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 40 THEN 1 ELSE 0 END),0) AS ThirtyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 50 THEN 1 ELSE 0 END),0) AS fortyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 51 THEN 1 ELSE 0 END),0) AS fiftyAge |
| | | FROM t_member WHERE del_flag = 0 AND binding_flag = 1 |
| | | <if test="param.shopIdList != null and param.shopIdList.size() > 0"> |
| | | AND relation_shop_id IN |
| | |
| | | <select id="getMerMemberTotal" resultType="com.ruoyi.member.domain.vo.MerMemberTotalVo"> |
| | | SELECT |
| | | COUNT(member_id) memberTotal, |
| | | SUM(CASE WHEN customer_source = "小程序" THEN 1 ELSE 0 END) onlineTotal, |
| | | SUM(CASE WHEN customer_source = "小程序" THEN 0 ELSE 1 END) offlineTotal, |
| | | IFNULL(SUM(CASE WHEN customer_source = "小程序" THEN 1 ELSE 0 END),0) onlineTotal, |
| | | IFNULL(SUM(CASE WHEN customer_source = "小程序" THEN 0 ELSE 1 END),0) offlineTotal, |
| | | 0 introduceTotal, |
| | | SUM(CASE WHEN goods_type LIKE "%周期%" THEN 1 ELSE 0 END) cycleTotal, |
| | | SUM(CASE WHEN goods_type LIKE "%体验%" THEN 1 ELSE 0 END) experienceTotal, |
| | | SUM(CASE WHEN goods_type LIKE "%服务%" THEN 1 ELSE 0 END) serviceTotal |
| | | IFNULL(SUM(CASE WHEN goods_type LIKE "%周期%" THEN 1 ELSE 0 END),0) cycleTotal, |
| | | IFNULL(SUM(CASE WHEN goods_type LIKE "%体验%" THEN 1 ELSE 0 END),0) experienceTotal, |
| | | IFNULL(SUM(CASE WHEN goods_type LIKE "%服务%" THEN 1 ELSE 0 END),0) serviceTotal |
| | | FROM t_member WHERE del_flag = 0 AND binding_flag = 1 |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND relation_shop_id = #{param.shopId} |
| | |
| | | |
| | | <select id="getMerMemberTotalAge" resultType="com.ruoyi.member.domain.vo.MgtAgeTotalVo"> |
| | | SELECT |
| | | SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END) manTotal, |
| | | SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END) womenTotal, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20 THEN 1 ELSE 0 END) AS tenAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 30 THEN 1 ELSE 0 END) AS twentyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 40 THEN 1 ELSE 0 END) AS ThirtyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 50 THEN 1 ELSE 0 END) AS fortyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 51 THEN 1 ELSE 0 END) AS fiftyAge |
| | | IFNULL(SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END),0) manTotal, |
| | | IFNULL(SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END),0) womenTotal, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20 THEN 1 ELSE 0 END),0) AS tenAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 30 THEN 1 ELSE 0 END),0) AS twentyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 40 THEN 1 ELSE 0 END),0) AS ThirtyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 50 THEN 1 ELSE 0 END),0) AS fortyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 51 THEN 1 ELSE 0 END),0) AS fiftyAge |
| | | FROM t_member WHERE del_flag = 0 AND binding_flag = 1 |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND relation_shop_id = #{param.shopId} |
| | |
| | | </foreach> |
| | | </if> |
| | | <if test="param.startDate!=null and param.startDate!=''"> |
| | | AND tmt.last_pay_time >= #{actStartDate} |
| | | AND tm.create_time >= #{param.startDate} |
| | | </if> |
| | | <if test="param.endDate!=null and param.endDate!=''"> |
| | | AND tmt.last_pay_time <= #{actEndDate} |
| | | AND tm.create_time <= #{param.endDate} |
| | | </if> |
| | | </select> |
| | | |
| | |
| | | |
| | | <select id="listOrderAgeUser" resultType="java.lang.Long"> |
| | | SELECT |
| | | SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END) manTotal, |
| | | SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END) womenTotal, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20 THEN 1 ELSE 0 END) AS tenAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 30 THEN 1 ELSE 0 END) AS twentyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 40 THEN 1 ELSE 0 END) AS ThirtyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 50 THEN 1 ELSE 0 END) AS fortyAge, |
| | | SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 51 THEN 1 ELSE 0 END) AS fiftyAge |
| | | IFNULL(SUM(CASE WHEN gender = 0 THEN 1 ELSE 0 END),0) manTotal, |
| | | IFNULL(SUM(CASE WHEN gender = 1 THEN 1 ELSE 0 END),0) womenTotal, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 1 AND 20 THEN 1 ELSE 0 END),0) AS tenAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 21 AND 30 THEN 1 ELSE 0 END),0) AS twentyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 31 AND 40 THEN 1 ELSE 0 END),0) AS ThirtyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) BETWEEN 41 AND 50 THEN 1 ELSE 0 END),0) AS fortyAge, |
| | | IFNULL(SUM(CASE WHEN TIMESTAMPDIFF(YEAR, birthday, CURDATE()) >= 51 THEN 1 ELSE 0 END),0) AS fiftyAge |
| | | FROM t_member WHERE del_flag = 0 AND binding_flag = 1 |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND relation_shop_id = #{param.shopId} |
| | |
| | | return R.ok(merVerifyCouponVo); |
| | | } |
| | | |
| | | @RequestMapping(value = "/sureVerifyPrize", method = RequestMethod.POST) |
| | | @ApiOperation(value = "核销奖品") |
| | | public R<MerVerifyAwardVo> sureVerifyPrize(@RequestBody MerVerifyPrizeDto merVerifyPrizeDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merVerifyPrizeDto.setUserId(userId); |
| | | MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo(); |
| | | return R.ok(merVerifyAwardVo); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/pageMerMemberNoClearOrder", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取用户未结清订单") |
New file |
| | |
| | | package com.ruoyi.order.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @ClassName MerVerifyPrizeDto |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/7/9 9:45 |
| | | * @Version 1.0 |
| | | */ |
| | | @Data |
| | | public class MerVerifyPrizeDto extends MerBaseDto { |
| | | |
| | | @ApiModelProperty(value = "奖品id") |
| | | private String prizeId; |
| | | |
| | | } |
| | |
| | | |
| | | /** |
| | | * @description getTotalOrderTotalGoodsType |
| | | * @param merTotalDto |
| | | * @return MgtTotalOrderTotalVo |
| | | * @author jqs34 |
| | | * @date 2023/6/19 22:24 |
| | | */ |
| | | MerOrderTotalVo getMerTotalOrderTotalGoodsType(@Param("param") MerTotalDto merTotalDto); |
| | | |
| | | /** |
| | | * @description getTotalOrderTotalGoodsType |
| | | * @param mgtBaseShopDto |
| | | * @return MgtTotalOrderTotalVo |
| | | * @author jqs34 |
| | |
| | | return merVerifyCouponVo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * @description 确认核销奖品 |
| | | * @author jqs |
| | | * @date 2023/7/9 9:54 |
| | | * @param merVerifyPrizeDto |
| | | * @return MerVerifyAwardVo |
| | | */ |
| | | @Override |
| | | public MerVerifyAwardVo sureVerifyPrize(MerVerifyPrizeDto merVerifyPrizeDto){ |
| | | MerVerifyAwardVo merVerifyAwardVo = new MerVerifyAwardVo(); |
| | | MemberGiftRecord memberGiftRecord = remoteMemberService.getVerifyPrize(merVerifyPrizeDto.getPrizeId()).getData(); |
| | | if(memberGiftRecord==null||memberGiftRecord.getVerifyStatus()!=1){ |
| | | throw new ServiceException(AppErrorConstant.COUPON_USED); |
| | | } |
| | | 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()); |
| | | List<BirthdayGiftSendDto> giftSendDtoList = new ArrayList<>(); |
| | | BirthdayGiftSendDto birthdayGiftSendDto = new BirthdayGiftSendDto(); |
| | | switch(memberGiftRecord.getGiftType()){ |
| | | case 1: |
| | | merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); |
| | | merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber())); |
| | | birthdayGiftSendDto.setUserId(memberGiftRecord.getUserId()); |
| | | birthdayGiftSendDto.setGiftType(memberGiftRecord.getGiftType()); |
| | | birthdayGiftSendDto.setGiftFrom(memberGiftRecord.getGiftFrom()); |
| | | birthdayGiftSendDto.setShopId(memberGiftRecord.getShopId()); |
| | | birthdayGiftSendDto.setCouponId(memberGiftRecord.getCouponId()); |
| | | birthdayGiftSendDto.setCouponNumber(memberGiftRecord.getCouponNumber()); |
| | | giftSendDtoList.add(birthdayGiftSendDto); |
| | | remoteCouponService.sendCouponGift(giftSendDtoList); |
| | | break; |
| | | case 2: |
| | | Goods goods = remoteGoodsService.getGoods(memberGiftRecord.getGoodsId()).getData(); |
| | | merVerifyAwardVo.setGiftName(memberGiftRecord.getGoodsName()); |
| | | merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGoodsNumber())); |
| | | if (goods.getGoodsType() == 1) { |
| | | merVerifyAwardVo.setGiftRemark("周期"); |
| | | } else if (goods.getGoodsType() == 2) { |
| | | merVerifyAwardVo.setGiftRemark("服务"); |
| | | } else if (goods.getGoodsType() == 3) { |
| | | merVerifyAwardVo.setGiftRemark("体验"); |
| | | } else if (goods.getGoodsType() == 4) { |
| | | merVerifyAwardVo.setGiftRemark("单品"); |
| | | } |
| | | birthdayGiftSendDto.setUserId(memberGiftRecord.getUserId()); |
| | | birthdayGiftSendDto.setGiftType(memberGiftRecord.getGiftType()); |
| | | birthdayGiftSendDto.setGiftFrom(memberGiftRecord.getGiftFrom()); |
| | | birthdayGiftSendDto.setShopId(memberGiftRecord.getShopId()); |
| | | birthdayGiftSendDto.setGoodsId(memberGiftRecord.getGoodsId()); |
| | | birthdayGiftSendDto.setGoodsNumber(memberGiftRecord.getGoodsNumber()); |
| | | giftSendDtoList.add(birthdayGiftSendDto); |
| | | consumerGoodsService.sendGoodsGift(giftSendDtoList); |
| | | break; |
| | | case 3: |
| | | merVerifyAwardVo.setGiftName("现金"); |
| | | merVerifyAwardVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue()); |
| | | break; |
| | | case 4: |
| | | merVerifyAwardVo.setGiftName(memberGiftRecord.getGiftName()); |
| | | merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGiftNumber())); |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | merVerifyAwardVo.setCreateTime(memberGiftRecord.getCreateTime()); |
| | | return merVerifyAwardVo; |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 收银未结清订单列表 |
| | | * |
| | |
| | | merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber())); |
| | | break; |
| | | case 2: |
| | | merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); |
| | | merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber())); |
| | | Goods goods = remoteGoodsService.getGoods(memberGiftRecord.getGoodsId()).getData(); |
| | | merVerifyAwardVo.setGiftName(memberGiftRecord.getGoodsName()); |
| | | merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGoodsNumber())); |
| | | if (goods.getGoodsType() == 1) { |
| | | merVerifyAwardVo.setGiftRemark("周期"); |
| | | } else if (goods.getGoodsType() == 2) { |
| | | merVerifyAwardVo.setGiftRemark("服务"); |
| | | } else if (goods.getGoodsType() == 3) { |
| | | merVerifyAwardVo.setGiftRemark("体验"); |
| | | } else if (goods.getGoodsType() == 4) { |
| | | merVerifyAwardVo.setGiftRemark("单品"); |
| | | } |
| | | break; |
| | | case 3: |
| | | merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); |
| | | merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber())); |
| | | merVerifyAwardVo.setGiftName("现金"); |
| | | merVerifyAwardVo.setGiftNumber(memberGiftRecord.getMoney().doubleValue()); |
| | | break; |
| | | case 4: |
| | | merVerifyAwardVo.setGiftName(memberGiftRecord.getCouponName()); |
| | | merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getCouponNumber())); |
| | | merVerifyAwardVo.setGiftName(memberGiftRecord.getGiftName()); |
| | | merVerifyAwardVo.setGiftNumber(Double.valueOf(memberGiftRecord.getGiftNumber())); |
| | | break; |
| | | default: |
| | | break; |
| | |
| | | merTotalDto.setShopId(null); |
| | | } |
| | | MerOrderTotalVo orderTotalVo = orderMapper.getMerOrderTotalOrderFrom(merTotalDto); |
| | | MerOrderTotalVo goodsTypeVo = orderMapper.getMerTotalOrderTotalGoodsType(merTotalDto); |
| | | orderTotalVo.setCycleTotal(goodsTypeVo.getCycleTotal()); |
| | | orderTotalVo.setCycleMoney(goodsTypeVo.getCycleMoney()); |
| | | orderTotalVo.setExperienceTotal(goodsTypeVo.getExperienceTotal()); |
| | | orderTotalVo.setExperienceMoney(goodsTypeVo.getExperienceMoney()); |
| | | orderTotalVo.setServiceTotal(goodsTypeVo.getServiceTotal()); |
| | | orderTotalVo.setServiceMoney(goodsTypeVo.getServiceMoney()); |
| | | return orderTotalVo; |
| | | } |
| | | |
| | |
| | | MerVerifyCouponVo sureVerifyCoupon(MerVerifyCouponDto merVerifyCouponDto); |
| | | |
| | | /** |
| | | * @description 确认核销奖品 |
| | | * @author jqs |
| | | * @date 2023/7/9 9:54 |
| | | * @param merVerifyPrizeDto |
| | | * @return MerVerifyAwardVo |
| | | */ |
| | | MerVerifyAwardVo sureVerifyPrize(MerVerifyPrizeDto merVerifyPrizeDto); |
| | | |
| | | /** |
| | | * 收银未结清订单列表 |
| | | * @param page |
| | | * @param merMemberNoClearOrderDto |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="getMerTotalOrderTotalGoodsType" resultType="com.ruoyi.order.domain.vo.MerOrderTotalVo"> |
| | | SELECT |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN 1 ELSE 0 END),0) cycleTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN 1 ELSE 0 END),0) experienceTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN 1 ELSE 0 END),0) serviceTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN tog.goods_total_money ELSE 0 END),0) cycleMoney, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN tog.goods_total_money ELSE 0 END),0) experienceMoney, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN tog.goods_total_money ELSE 0 END),0) serviceMoney |
| | | FROM t_order toc |
| | | INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id |
| | | WHERE toc.del_flag = 0 |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND toc.shop_id = #{param.shopId} |
| | | </if> |
| | | <if test="param.shopIdList != null and param.shopIdList.size() > 0"> |
| | | AND toc.shop_id IN |
| | | <foreach collection="param.shopIdList" item="item" open="(" separator="," close=")"> |
| | | #{item} |
| | | </foreach> |
| | | </if> |
| | | <if test="param.startDate!=null and param.startDate!=''"> |
| | | AND toc.create_time >= #{param.startDate} |
| | | </if> |
| | | <if test="param.endDate!=null and param.endDate!=''"> |
| | | AND toc.create_time <= #{param.endDate} |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="getTotalOrderTotalGoodsType" resultType="com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo"> |
| | | SELECT |
| | | SUM(CASE WHEN tog.goods_type = 1 THEN 1 ELSE 0 END) cycleTotal, |
| | | SUM(CASE WHEN tog.goods_type = 3 THEN 1 ELSE 0 END) experienceTotal, |
| | | SUM(CASE WHEN tog.goods_type = 2 THEN 1 ELSE 0 END) serviceTotal, |
| | | SUM(CASE WHEN tog.goods_type = 1 THEN tog.goods_total_money ELSE 0 END) cycleMoney, |
| | | SUM(CASE WHEN tog.goods_type = 3 THEN tog.goods_total_money ELSE 0 END) experienceMoney, |
| | | SUM(CASE WHEN tog.goods_type = 2 THEN tog.goods_total_money ELSE 0 END) serviceMoney |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN 1 ELSE 0 END),0) cycleTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN 1 ELSE 0 END),0) experienceTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN 1 ELSE 0 END),0) serviceTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN tog.goods_total_money ELSE 0 END),0) cycleMoney, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN tog.goods_total_money ELSE 0 END),0) experienceMoney, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN tog.goods_total_money ELSE 0 END),0) serviceMoney |
| | | FROM t_order toc |
| | | INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id |
| | | WHERE toc.del_flag = 0 |
| | |
| | | <select id="getPlTotalOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo"> |
| | | SELECT |
| | | COUNT(order_id) orderTotal, |
| | | SUM(CASE WHEN order_from = 1 THEN 1 ELSE 0 END) onlineTotal, |
| | | SUM(CASE WHEN order_from = 3 THEN 1 ELSE 0 END) offlineTotal, |
| | | SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END) activityTotal, |
| | | IFNULL(SUM(CASE WHEN order_from = 1 THEN 1 ELSE 0 END),0) onlineTotal, |
| | | IFNULL(SUM(CASE WHEN order_from = 3 THEN 1 ELSE 0 END),0) offlineTotal, |
| | | IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityTotal, |
| | | IFNULL(SUM(order_money),0) orderMoney, |
| | | SUM(CASE WHEN order_from = 1 THEN order_money ELSE 0 END) onlineMoney, |
| | | SUM(CASE WHEN order_from = 3 THEN order_money ELSE 0 END) offlineMoney, |
| | | SUM(CASE WHEN order_from = 2 THEN order_money ELSE 0 END) activityMoney |
| | | IFNULL(SUM(CASE WHEN order_from = 1 THEN order_money ELSE 0 END),0) onlineMoney, |
| | | IFNULL(SUM(CASE WHEN order_from = 3 THEN order_money ELSE 0 END),0) offlineMoney, |
| | | IFNULL(SUM(CASE WHEN order_from = 2 THEN order_money ELSE 0 END),0) activityMoney |
| | | FROM t_order WHERE del_flag = 0 |
| | | <if test="param.shopIdList != null and param.shopIdList.size() > 0"> |
| | | AND shop_id IN |
| | |
| | | |
| | | <select id="getPlTotalOrderTotalGoodsType" resultType="com.ruoyi.order.domain.vo.MgtTotalOrderTotalVo"> |
| | | SELECT |
| | | SUM(CASE WHEN tog.goods_type = 1 THEN 1 ELSE 0 END) cycleTotal, |
| | | SUM(CASE WHEN tog.goods_type = 3 THEN 1 ELSE 0 END) experienceTotal, |
| | | SUM(CASE WHEN tog.goods_type = 2 THEN 1 ELSE 0 END) serviceTotal, |
| | | SUM(CASE WHEN tog.goods_type = 1 THEN tog.goods_total_money ELSE 0 END) cycleMoney, |
| | | SUM(CASE WHEN tog.goods_type = 3 THEN tog.goods_total_money ELSE 0 END) experienceMoney, |
| | | SUM(CASE WHEN tog.goods_type = 2 THEN tog.goods_total_money ELSE 0 END) serviceMoney |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN 1 ELSE 0 END),0) cycleTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN 1 ELSE 0 END),0) experienceTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN 1 ELSE 0 END),0) serviceTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN tog.goods_total_money ELSE 0 END),0) cycleMoney, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN tog.goods_total_money ELSE 0 END),0) experienceMoney, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN tog.goods_total_money ELSE 0 END),0) serviceMoney |
| | | FROM t_order toc |
| | | INNER JOIN t_order_goods tog ON tog.order_id = toc.order_id |
| | | WHERE toc.del_flag = 0 |
| | |
| | | |
| | | <select id="getMerHomeShopTotalVo" resultType="com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo"> |
| | | SELECT |
| | | SUM(CASE WHEN order_status = 2 THEN 1 ELSE 0 END) unHandleOrder, |
| | | SUM(pay_money) shopTurnover |
| | | IFNULL(SUM(CASE WHEN order_status = 2 THEN 1 ELSE 0 END),0) unHandleOrder, |
| | | IFNULL(SUM(pay_money),0) shopTurnover |
| | | FROM t_order |
| | | WHERE del_flag = 0 AND shopId = #{shopId} |
| | | </select> |
| | | |
| | | <select id="getMerHomeShopsTotalVo" resultType="com.ruoyi.system.api.domain.vo.MerHomeShopTotalVo"> |
| | | SELECT |
| | | SUM(CASE WHEN order_status = 2 THEN 1 ELSE 0 END) unHandleOrder, |
| | | SUM(pay_money) shopTurnover |
| | | IFNULL(SUM(CASE WHEN order_status = 2 THEN 1 ELSE 0 END),0) unHandleOrder, |
| | | IFNULL(SUM(pay_money),0) shopTurnover |
| | | FROM t_order |
| | | WHERE del_flag = 0 |
| | | <if test="list != null and list.size() > 0"> |
| | |
| | | <select id="getMerOrderTotalOrderFrom" resultType="com.ruoyi.order.domain.vo.MerOrderTotalVo"> |
| | | SELECT |
| | | COUNT(order_id) orderTotal, |
| | | SUM(CASE WHEN order_from = 1 THEN 1 ELSE 0 END) onlineTotal, |
| | | SUM(CASE WHEN order_from = 3 THEN 1 ELSE 0 END) offlineTotal, |
| | | SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END) activityTotal, |
| | | IFNULL(SUM(CASE WHEN order_from = 1 THEN 1 ELSE 0 END),0) onlineTotal, |
| | | IFNULL(SUM(CASE WHEN order_from = 3 THEN 1 ELSE 0 END),0) offlineTotal, |
| | | IFNULL(SUM(CASE WHEN order_from = 2 THEN 1 ELSE 0 END),0) activityTotal, |
| | | IFNULL(SUM(order_money),0) orderMoney, |
| | | SUM(CASE WHEN order_from = 1 THEN order_money ELSE 0 END) onlineMoney, |
| | | SUM(CASE WHEN order_from = 3 THEN order_money ELSE 0 END) offlineMoney, |
| | | SUM(CASE WHEN order_from = 2 THEN order_money ELSE 0 END) activityMoney |
| | | IFNULL(SUM(CASE WHEN order_from = 1 THEN order_money ELSE 0 END),0) onlineMoney, |
| | | IFNULL(SUM(CASE WHEN order_from = 3 THEN order_money ELSE 0 END),0) offlineMoney, |
| | | IFNULL(SUM(CASE WHEN order_from = 2 THEN order_money ELSE 0 END),0) activityMoney, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN 1 ELSE 0 END),0) cycleTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN 1 ELSE 0 END),0) experienceTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN 1 ELSE 0 END),0) serviceTotal, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 1 THEN tog.goods_total_money ELSE 0 END),0) cycleMoney, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 3 THEN tog.goods_total_money ELSE 0 END),0) experienceMoney, |
| | | IFNULL(SUM(CASE WHEN tog.goods_type = 2 THEN tog.goods_total_money ELSE 0 END),0) serviceMoney |
| | | FROM t_order WHERE del_flag = 0 |
| | | <if test="param.shopId != null and param.shopId != ''"> |
| | | AND shop_id = #{param.shopId} |
| | |
| | | strategy.setControllerMappingHyphenStyle(true); |
| | | //表和前缀处理 |
| | | String[] table = { |
| | | "t_member_gift_record" |
| | | "t_member_coupon_record" |
| | | }; |
| | | strategy.setInclude(table); |
| | | String[] tablePre = new String[]{"t_"}; |