From ed7cde0f64b01e95e11d6f66d1f27b05cea84332 Mon Sep 17 00:00:00 2001 From: jiangqs <jiangqs> Date: 星期日, 09 七月 2023 18:13:00 +0800 Subject: [PATCH] 管理台bug和用户端 --- ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml | 90 ++++-- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/MemberCouponRecordServiceImpl.java | 88 ++++++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/MemberCouponRecordMapper.java | 16 + ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java | 4 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java | 58 ++++ ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerVerifyPrizeDto.java | 20 + ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java | 9 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java | 9 ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java | 6 ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml | 90 +++--- ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/MemberCouponRecordMapper.xml | 6 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java | 9 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUnGetCouponPageVo.java | 40 ++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/MemberCouponRecordService.java | 36 ++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java | 95 +++-- ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java | 24 + ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java | 15 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java | 107 +++++++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java | 7 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberGiftRecordServiceImpl.java | 2 ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml | 10 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java | 2 ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java | 9 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/MemberCouponRecord.java | 48 +++ ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java | 4 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java | 9 26 files changed, 666 insertions(+), 147 deletions(-) diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java index 04c62b4..8159c3b 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/domain/dto/MerBaseDto.java @@ -19,7 +19,7 @@ @ApiModelProperty(value = "商户id") private Long shopId; - @ApiModelProperty(value = "userIds") - private Long userIds; + /*@ApiModelProperty(value = "userIds") + private Long userIds;*/ } diff --git a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java index d75f150..c9f2728 100644 --- a/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java +++ b/ruoyi-api/ruoyi-api-system/src/main/java/com/ruoyi/system/api/service/RemoteMemberService.java @@ -170,7 +170,7 @@ * @param merTotalDto * @return R<MerOrderAgeUserVo> */ - @PostMapping("/listOrderAgeUser") + @PostMapping("/member/listOrderAgeUser") public R<List<MerOrderAgeUserVo>> listOrderAgeUser(@RequestBody MerTotalDto merTotalDto); /** @@ -180,7 +180,7 @@ * @param * @return R<Integer> */ - @PostMapping("/getUnReplaySuggestVo") + @PostMapping("/member/getUnReplaySuggestVo") public R<Integer> getUnReplaySuggestVo(); @@ -191,6 +191,6 @@ * @param verifyPrize * @return R<MemberGiftRecord> */ - @PostMapping("/getVerifyPrize") + @PostMapping("/member/getVerifyPrize") public R<MemberGiftRecord> getVerifyPrize(@RequestBody String verifyPrize); } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java index 075f428..03b3ba5 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/QwH5Controller.java @@ -1,6 +1,5 @@ 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; @@ -12,7 +11,6 @@ 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; @@ -61,8 +59,11 @@ @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 diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java index ac45de8..c1b09a2 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java @@ -5,7 +5,6 @@ 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; @@ -30,9 +29,6 @@ @Resource private MemberSuggestService memberSuggestService; - - @Resource - private MemberTotalService memberTotalService; @Resource private MemberGiftRecordService memberGiftRecordService; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java new file mode 100644 index 0000000..2476568 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/miniapp/AppCouponController.java @@ -0,0 +1,58 @@ +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)); + } + + +} diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/MemberCouponRecord.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/MemberCouponRecord.java new file mode 100644 index 0000000..eeff3af --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/pojo/coupon/MemberCouponRecord.java @@ -0,0 +1,48 @@ +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; + } + +} diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUnGetCouponPageVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUnGetCouponPageVo.java new file mode 100644 index 0000000..487f685 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/AppUnGetCouponPageVo.java @@ -0,0 +1,40 @@ +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; + +} diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java index f021539..e206030 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberFixedTotalVo.java @@ -4,6 +4,7 @@ import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.math.BigDecimal; import java.util.List; /** @@ -19,9 +20,15 @@ @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; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java index 41ceb22..2887e1e 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java @@ -86,4 +86,13 @@ * @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); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/MemberCouponRecordMapper.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/MemberCouponRecordMapper.java new file mode 100644 index 0000000..cdc9330 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/MemberCouponRecordMapper.java @@ -0,0 +1,16 @@ +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> { + +} diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java index dffeb63..8cb4e8c 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java @@ -5,10 +5,7 @@ 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; @@ -162,4 +159,14 @@ * @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); } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/MemberCouponRecordService.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/MemberCouponRecordService.java new file mode 100644 index 0000000..1095bad --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/MemberCouponRecordService.java @@ -0,0 +1,36 @@ +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); +} diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java index dd43e02..bb2aea8 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java @@ -9,24 +9,15 @@ 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; @@ -75,6 +66,9 @@ @Resource private RemoteActivityService remoteActivityService; + + @Resource + private MemberCouponRecordService memberCouponRecordService; /** * @description 平台获取优惠券列表 @@ -393,6 +387,7 @@ sendPerson = sendPerson + 1; } } + memberCouponRecordService.updateMemberCouponRecord(coupon,userId,1); } memberCouponService.saveBatch(memberCouponList); //处理优惠券统计 @@ -845,37 +840,55 @@ 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; + } } diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/MemberCouponRecordServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/MemberCouponRecordServiceImpl.java new file mode 100644 index 0000000..d93e1b9 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/MemberCouponRecordServiceImpl.java @@ -0,0 +1,88 @@ +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); + } +} diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberGiftRecordServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberGiftRecordServiceImpl.java similarity index 96% rename from ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberGiftRecordServiceImpl.java rename to ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberGiftRecordServiceImpl.java index 17dedd7..7f9f7fe 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/MemberGiftRecordServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberGiftRecordServiceImpl.java @@ -1,4 +1,4 @@ -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; diff --git a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java index a400294..58068a9 100644 --- a/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java +++ b/ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java @@ -1402,6 +1402,18 @@ 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"}; // 不同年龄段的会员数数组 @@ -1420,6 +1432,12 @@ 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(); @@ -1444,12 +1462,6 @@ 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; } diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml index 632a9a3..1e3c245 100644 --- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml @@ -198,7 +198,7 @@ <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!='' "> @@ -340,6 +340,12 @@ </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> diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/MemberCouponRecordMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/MemberCouponRecordMapper.xml new file mode 100644 index 0000000..2b54306 --- /dev/null +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/MemberCouponRecordMapper.xml @@ -0,0 +1,6 @@ +<?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> diff --git a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml index 3622fae..a51af73 100644 --- a/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml +++ b/ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/MemberMapper.xml @@ -355,12 +355,12 @@ <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} @@ -376,12 +376,12 @@ <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} @@ -390,13 +390,13 @@ <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} @@ -540,13 +540,13 @@ <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 @@ -708,12 +708,12 @@ <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} @@ -734,13 +734,13 @@ <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} @@ -827,10 +827,10 @@ </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> @@ -911,13 +911,13 @@ <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} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java index d9f28c9..807d879 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java @@ -85,6 +85,15 @@ 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 = "分页获取用户未结清订单") diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerVerifyPrizeDto.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerVerifyPrizeDto.java new file mode 100644 index 0000000..cdc3d36 --- /dev/null +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/domain/dto/MerVerifyPrizeDto.java @@ -0,0 +1,20 @@ +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; + +} diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java index 265845d..5b5a7f4 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/mapper/order/OrderMapper.java @@ -153,6 +153,15 @@ /** * @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 diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java index 749a121..01d4970 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java @@ -1033,6 +1033,84 @@ 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; + } + + /** * 收银未结清订单列表 * @@ -2362,16 +2440,26 @@ 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; @@ -2413,6 +2501,13 @@ 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; } diff --git a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java index a9b9267..8db8bc2 100644 --- a/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java +++ b/ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/order/OrderService.java @@ -118,6 +118,15 @@ 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 diff --git a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml index f07561e..ccc3c02 100644 --- a/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml +++ b/ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml @@ -654,14 +654,42 @@ </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 @@ -950,13 +978,13 @@ <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 @@ -974,12 +1002,12 @@ <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 @@ -1233,16 +1261,16 @@ <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"> @@ -1263,13 +1291,19 @@ <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} diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java index 5a0ae4d..c0c4e1a 100644 --- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java +++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/controller/GeneratorMybatisPlus.java @@ -74,7 +74,7 @@ strategy.setControllerMappingHyphenStyle(true); //表和前缀处理 String[] table = { - "t_member_gift_record" + "t_member_coupon_record" }; strategy.setInclude(table); String[] tablePre = new String[]{"t_"}; -- Gitblit v1.7.1