New file |
| | |
| | | package com.ruoyi.goods.controller.business; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.goods.domain.vo.MerActivityPageVo; |
| | | import com.ruoyi.goods.service.activity.ActivityService; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | 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 MerActivityController |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/6/30 17:11 |
| | | * @Version 1.0 |
| | | */ |
| | | @Api(value = "商户端活动相关接口", tags = "商户端活动相关接口", description = "商户端活动相关接口") |
| | | @RestController |
| | | @RequestMapping("/mer/activity") |
| | | public class MerActivityController { |
| | | |
| | | @Resource |
| | | private ActivityService activityService; |
| | | |
| | | |
| | | @RequestMapping(value = "/pagePlatformMerActivity", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取平台活动列表") |
| | | public R<Page<MerActivityPageVo>> pagePlatformMerActivity(@RequestBody MerPageDto merPageDto) { |
| | | Page<MerActivityPageVo> page = new Page<>(); |
| | | page.setSize(merPageDto.getPageSize()); |
| | | page.setCurrent(merPageDto.getPageNum()); |
| | | List<MerActivityPageVo> activityPageVoList = activityService.pagePlatformMerActivity(page,merPageDto); |
| | | return R.ok(page.setRecords(activityPageVoList)); |
| | | } |
| | | |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.goods.domain.vo; |
| | | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @ClassName MerActivityPageVo |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/6/30 17:15 |
| | | * @Version 1.0 |
| | | */ |
| | | @Data |
| | | public class MerActivityPageVo { |
| | | |
| | | @ApiModelProperty(value = "活动id") |
| | | private String activityId; |
| | | |
| | | @ApiModelProperty(value = "活动名称") |
| | | private String activityName; |
| | | |
| | | @ApiModelProperty(value = "活动开始时间") |
| | | private Date activityStartTime; |
| | | |
| | | @ApiModelProperty(value = "活动结束时间") |
| | | private Date activityEndTime; |
| | | |
| | | @ApiModelProperty(value = "活动状态") |
| | | private String activityStatus; |
| | | |
| | | @ApiModelProperty(value = "宣传海报") |
| | | private String propagandaPoster; |
| | | |
| | | @ApiModelProperty(value = "商品数量") |
| | | private Integer goodsNum; |
| | | } |
| | |
| | | @ApiModelProperty(value = "适用店铺") |
| | | private String shopFlag; |
| | | |
| | | @ApiModelProperty(value = "活动状态0未开始1进行中2已结束") |
| | | @ApiModelProperty(value = "活动状态") |
| | | private String activityStatus; |
| | | |
| | | @ApiModelProperty(value = "推荐标记") |
| | |
| | | import com.ruoyi.goods.domain.dto.MgtActivityRecordPageDto; |
| | | import com.ruoyi.goods.domain.pojo.activity.Activity; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.goods.domain.vo.MerActivityPageVo; |
| | | import com.ruoyi.goods.domain.vo.MgtActivityPageVo; |
| | | import com.ruoyi.goods.domain.vo.MgtActivityRecordPageVo; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | |
| | | * @date 2023/6/24 16:58 |
| | | */ |
| | | List<MgtActivityRecordPageVo> pageMgtActivityRecord(Page page, @Param("param")MgtActivityRecordPageDto mgtActivityRecordPageDto); |
| | | |
| | | /** |
| | | * @description 分页获取平台活动列表 |
| | | * @author jqs |
| | | * @date 2023/6/30 17:33 |
| | | * @param page |
| | | * @param merPageDto |
| | | * @return List<MerActivityPageVo> |
| | | */ |
| | | List<MerActivityPageVo> pagePlatformMerActivity(Page page, @Param("param")MerPageDto merPageDto); |
| | | |
| | | } |
| | |
| | | import com.ruoyi.goods.domain.dto.MgtActivityPageDto; |
| | | import com.ruoyi.goods.domain.dto.MgtActivityRecordPageDto; |
| | | import com.ruoyi.goods.domain.pojo.activity.Activity; |
| | | import com.ruoyi.goods.domain.vo.MerActivityPageVo; |
| | | import com.ruoyi.goods.domain.vo.MgtActivityGetVo; |
| | | import com.ruoyi.goods.domain.vo.MgtActivityPageVo; |
| | | import com.ruoyi.goods.domain.vo.MgtActivityRecordPageVo; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | |
| | | import java.util.List; |
| | | |
| | |
| | | * @date 2023/6/24 16:58 |
| | | */ |
| | | List<MgtActivityRecordPageVo> pageMgtActivityRecord(Page page,MgtActivityRecordPageDto mgtActivityRecordPageDto); |
| | | |
| | | /** |
| | | * @description 分页获取平台活动列表 |
| | | * @author jqs |
| | | * @date 2023/6/30 17:33 |
| | | * @param page |
| | | * @param merPageDto |
| | | * @return List<MerActivityPageVo> |
| | | */ |
| | | List<MerActivityPageVo> pagePlatformMerActivity(Page page, MerPageDto merPageDto); |
| | | } |
| | |
| | | import com.ruoyi.goods.domain.dto.MgtActivityRecordPageDto; |
| | | import com.ruoyi.goods.domain.pojo.activity.Activity; |
| | | import com.ruoyi.goods.domain.pojo.activity.ActivityTotal; |
| | | import com.ruoyi.goods.domain.vo.MgtActivityGetVo; |
| | | import com.ruoyi.goods.domain.vo.MgtActivityGoodsListVo; |
| | | import com.ruoyi.goods.domain.vo.MgtActivityPageVo; |
| | | import com.ruoyi.goods.domain.vo.MgtActivityRecordPageVo; |
| | | import com.ruoyi.goods.domain.vo.*; |
| | | import com.ruoyi.goods.mapper.activity.ActivityMapper; |
| | | import com.ruoyi.goods.service.activity.ActivityGoodsService; |
| | | import com.ruoyi.goods.service.activity.ActivityService; |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.goods.service.activity.ActivityTotalService; |
| | | import com.ruoyi.system.api.constant.AppErrorConstant; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseBathDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtUserIdByKeywordDto; |
| | | import com.ruoyi.system.api.domain.poji.activity.ActivityGoods; |
| | |
| | | } |
| | | return activityRecordPageVoList; |
| | | } |
| | | |
| | | /** |
| | | * @description 分页获取平台活动列表 |
| | | * @author jqs |
| | | * @date 2023/6/30 17:33 |
| | | * @param page |
| | | * @param merPageDto |
| | | * @return List<MerActivityPageVo> |
| | | */ |
| | | @Override |
| | | public List<MerActivityPageVo> pagePlatformMerActivity(Page page, MerPageDto merPageDto){ |
| | | List<MerActivityPageVo> activityPageVoList = activityMapper.pagePlatformMerActivity(page, merPageDto); |
| | | return activityPageVoList; |
| | | } |
| | | } |
| | |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="pagePlatformMerActivity" resultType="com.ruoyi.goods.domain.vo.MerActivityPageVo"> |
| | | SELECT |
| | | ta.activity_id activityId, |
| | | ta.activity_name activityName, |
| | | ta.activity_start_time activityStartTime, |
| | | ta.activity_end_time activityEndTime, |
| | | CASE ta.activity_status |
| | | WHEN 0 THEN '未开始' |
| | | WHEN 1 THEN '进行中' |
| | | WHEN 2 THEN '已结束' |
| | | END activityStatus, |
| | | ta.propaganda_poster propagandaPoster, |
| | | COUNT(ag.activity_id) goodsNum |
| | | FROM t_activity ta |
| | | LEFT JOIN t_activity_goods ag ON ta.activity_id = ag.activity_id |
| | | WHERE ta.del_flag = 0 AND FIND_IN_SET(#{param.shopId}, ta.applicable_shop) > 0 |
| | | group by ta.activity_id |
| | | ORDER BY ta.activity_status ASC,ta.create_time DESC |
| | | </select> |
| | | </mapper> |
New file |
| | |
| | | package com.ruoyi.member.controller.business; |
| | | |
| | | 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.MerCouponPageVo; |
| | | import com.ruoyi.member.service.coupon.CouponService; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | 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 MerCouponController |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/6/30 16:03 |
| | | * @Version 1.0 |
| | | */ |
| | | @Api(value = "商户端优惠券相关接口", tags = "商户端优惠券相关接口", description = "商户端优惠券相关接口") |
| | | @RestController |
| | | @RequestMapping("/mer/coupon") |
| | | public class MerCouponController { |
| | | |
| | | |
| | | @Resource |
| | | private CouponService couponService; |
| | | |
| | | @RequestMapping(value = "/pagePlatformMerCoupon", method = RequestMethod.POST) |
| | | @ApiOperation(value = "平台分页获取优惠券列表") |
| | | public R<Page<MerCouponPageVo>> pagePlatformMerCoupon(@RequestBody MerPageDto merPageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merPageDto.setUserId(userId); |
| | | Page<MerCouponPageVo> page = new Page<>(); |
| | | page.setSize(merPageDto.getPageSize()); |
| | | page.setCurrent(merPageDto.getPageNum()); |
| | | List<MerCouponPageVo> couponPageVoList = couponService.pagePlatformMerCoupon(page,merPageDto); |
| | | return R.ok(page.setRecords(couponPageVoList)); |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.member.domain.dto.*; |
| | | import com.ruoyi.member.domain.vo.*; |
| | | import com.ruoyi.member.service.member.BrowseRecordService; |
| | | import com.ruoyi.member.service.member.MemberArchiveFieldsService; |
| | | import com.ruoyi.member.service.member.MemberService; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseGetDto; |
| | |
| | | |
| | | @Resource |
| | | private MemberArchiveFieldsService memberArchiveFieldsService; |
| | | |
| | | @Resource |
| | | private BrowseRecordService browseRecordService; |
| | | |
| | | |
| | | @RequestMapping(value = "/pageMerCashMember", method = RequestMethod.POST) |
| | | @ApiOperation(value = "分页获取收银搜索会员列表") |
| | |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | @RequestMapping(value = "/pageMerMemberBrowse", method = RequestMethod.POST) |
| | | @ApiOperation(value = "商户获取用户浏览记录") |
| | | public R<Page<MerMemberBrowsePageVo>> pageMerMemberBrowse(@RequestBody MerMemberBrowsePageDto merMemberBrowsePageDto) { |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merMemberBrowsePageDto.setUserId(userId); |
| | | Page<MerMemberBrowsePageVo> page = new Page<>(); |
| | | page.setSize(merMemberBrowsePageDto.getPageSize()); |
| | | page.setCurrent(merMemberBrowsePageDto.getPageNum()); |
| | | List<MerMemberBrowsePageVo> memberBrowsePageVoList = browseRecordService.pageMerMemberBrowse(page,merMemberBrowsePageDto); |
| | | return R.ok(page.setRecords(memberBrowsePageVoList)); |
| | | } |
| | | } |
| | |
| | | package com.ruoyi.member.domain.dto; |
| | | |
| | | import com.ruoyi.member.domain.vo.MemberArchiveVo; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @ApiModelProperty(value = "调理问题") |
| | | private List<String> memberNurse; |
| | | |
| | | @ApiModelProperty(value = "用户档案") |
| | | private List<MemberArchiveVo> achiveList; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.dto; |
| | | |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | /** |
| | | * @ClassName MerMemberBrowsePageDto |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/6/30 15:23 |
| | | * @Version 1.0 |
| | | */ |
| | | @Data |
| | | public class MerMemberBrowsePageDto extends MerPageDto { |
| | | |
| | | @ApiModelProperty(value = "会员用户id") |
| | | private Long memberUserId; |
| | | |
| | | } |
| | |
| | | package com.ruoyi.member.domain.dto; |
| | | |
| | | import com.ruoyi.member.domain.vo.MemberArchiveVo; |
| | | import com.ruoyi.system.api.domain.dto.MerBaseDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | import java.util.List; |
| | | |
| | | /** |
| | |
| | | @ApiModelProperty(value = "调理问题") |
| | | private List<String> memberNurse; |
| | | |
| | | @ApiModelProperty(value = "用户档案") |
| | | private List<MemberArchiveVo> achiveList; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @description: TODO |
| | | * @author jqs |
| | | * @date 2023/6/30 16:52 |
| | | * @version 1.0 |
| | | */ |
| | | @Data |
| | | public class MerCouponPageVo { |
| | | |
| | | @ApiModelProperty(value = "优惠券id") |
| | | private String couponId; |
| | | |
| | | @ApiModelProperty("优惠券名称") |
| | | private String couponName; |
| | | |
| | | @ApiModelProperty("优惠券类型1.满减2.折扣3.代金4.商品") |
| | | private Integer couponType; |
| | | |
| | | @ApiModelProperty(value = "使用限制") |
| | | private String useLimit; |
| | | |
| | | @ApiModelProperty(value = "有效期类型1.时间段2.领取之日起",hidden = true) |
| | | private Integer validTimeType; |
| | | |
| | | @ApiModelProperty(value = "有效开始时间",hidden = true) |
| | | private Date validStartTime; |
| | | |
| | | @ApiModelProperty(value = "有效截止时间",hidden = true) |
| | | private Date validEndTime; |
| | | |
| | | @ApiModelProperty(value = "有效期",hidden = true) |
| | | private Integer validDay; |
| | | |
| | | @ApiModelProperty(value = "有效期") |
| | | private String validTime; |
| | | |
| | | @ApiModelProperty(value = "发放张数") |
| | | private Integer sendCount; |
| | | |
| | | @ApiModelProperty(value = "使用范围") |
| | | private String useScope; |
| | | |
| | | @ApiModelProperty(value = "发送方式") |
| | | private String sendType; |
| | | |
| | | @ApiModelProperty(value = "发送对象") |
| | | private String sendTarget; |
| | | |
| | | @ApiModelProperty(value = "门槛金额",hidden = true) |
| | | private BigDecimal moneyThreshold; |
| | | |
| | | @ApiModelProperty(value = "折扣金额",hidden = true) |
| | | private BigDecimal discountMoney; |
| | | |
| | | @ApiModelProperty(value = "折扣百分比",hidden = true) |
| | | private BigDecimal discountPercent; |
| | | |
| | | @ApiModelProperty("创建时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | |
| | | } |
New file |
| | |
| | | package com.ruoyi.member.domain.vo; |
| | | |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.Date; |
| | | |
| | | /** |
| | | * @ClassName MerMemberBrowsePageVo |
| | | * @Description TODO |
| | | * @Author jqs |
| | | * @Date 2023/6/30 15:20 |
| | | * @Version 1.0 |
| | | */ |
| | | @Data |
| | | public class MerMemberBrowsePageVo { |
| | | |
| | | |
| | | @ApiModelProperty(value = "浏览类型1鸿瑞学堂2营销活动3商城商品4关于鸿瑞堂5申请加盟") |
| | | private String browseType; |
| | | |
| | | @ApiModelProperty(value = "浏览名称") |
| | | private String browseName; |
| | | |
| | | @ApiModelProperty(value = "停留时长") |
| | | private String browseTime; |
| | | |
| | | @ApiModelProperty(value = "浏览时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") |
| | | private Date createTime; |
| | | } |
| | |
| | | import com.ruoyi.member.domain.dto.MgtCouponListDto; |
| | | import com.ruoyi.member.domain.dto.MgtCouponPageDto; |
| | | import com.ruoyi.member.domain.pojo.coupon.Coupon; |
| | | import com.ruoyi.member.domain.vo.MerCouponPageVo; |
| | | import com.ruoyi.member.domain.vo.MgtCouponAuditPageVo; |
| | | import com.ruoyi.member.domain.vo.MgtCouponPageVo; |
| | | import com.ruoyi.member.domain.vo.MgtCouponSimpleListVo; |
| | | import com.ruoyi.system.api.domain.dto.MerPageDto; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | | import java.util.List; |
| | |
| | | * @return void |
| | | */ |
| | | void updateCouponTotal( @Param("couponId")String couponId, @Param("sendTotal")Integer sendTotal, @Param("sendPerson")Integer sendPerson); |
| | | |
| | | |
| | | /** |
| | | * @description 平台获取优惠券列表 |
| | | * @author jqs |
| | | * @date 2023/6/30 16:53 |
| | | * @param page |
| | | * @param merPageDto |
| | | * @return List<MerCouponPageVo> |
| | | */ |
| | | List<MerCouponPageVo> pagePlatformMerCoupon(Page page, MerPageDto merPageDto); |
| | | } |
| | |
| | | package com.ruoyi.member.mapper.member; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.member.domain.dto.MerMemberBrowsePageDto; |
| | | import com.ruoyi.member.domain.dto.MgtMemberBrowsePageDto; |
| | | import com.ruoyi.member.domain.pojo.member.BrowseRecord; |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.member.domain.vo.MerMemberBrowsePageVo; |
| | | import com.ruoyi.member.domain.vo.MgtMemberBrowsePageVo; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | * @return |
| | | */ |
| | | List<MgtMemberBrowsePageVo> pageMgtMemberBrowse(Page page, @Param("param")MgtMemberBrowsePageDto mgtMemberBrowsePageDto); |
| | | |
| | | /** |
| | | * @description 商户获取用户浏览记录 |
| | | * @author jqs |
| | | * @date 2023/6/30 15:24 |
| | | * @param page |
| | | * @param merMemberBrowsePageDto |
| | | * @return List<MerMemberBrowsePageVo> |
| | | */ |
| | | List<MerMemberBrowsePageVo> pageMerMemberBrowse(Page page, MerMemberBrowsePageDto merMemberBrowsePageDto); |
| | | } |
| | |
| | | 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.MerPageDto; |
| | | import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; |
| | | |
| | | import java.util.List; |
| | |
| | | * @return void |
| | | */ |
| | | void auditMgtCoupon(MgtCouponAuditDto mgtCouponAuditDto); |
| | | |
| | | /** |
| | | * @description 平台获取优惠券列表 |
| | | * @author jqs |
| | | * @date 2023/6/30 16:53 |
| | | * @param page |
| | | * @param merPageDto |
| | | * @return List<MerCouponPageVo> |
| | | */ |
| | | List<MerCouponPageVo> pagePlatformMerCoupon(Page page, MerPageDto merPageDto); |
| | | } |
| | |
| | | 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.MerPageDto; |
| | | import com.ruoyi.system.api.domain.poji.member.MemberCoupon; |
| | | import com.ruoyi.member.domain.vo.*; |
| | | import com.ruoyi.member.mapper.coupon.CouponMapper; |
| | |
| | | sendCoupon(coupon, userIdList); |
| | | } |
| | | } |
| | | |
| | | /** |
| | | * @description 平台获取优惠券列表 |
| | | * @author jqs |
| | | * @date 2023/6/30 16:53 |
| | | * @param page |
| | | * @param merPageDto |
| | | * @return List<MerCouponPageVo> |
| | | */ |
| | | @Override |
| | | public List<MerCouponPageVo> pagePlatformMerCoupon(Page page, MerPageDto merPageDto){ |
| | | List<MerCouponPageVo> couponPageVoList = couponMapper.pagePlatformMerCoupon(page, merPageDto); |
| | | //处理使用限制和有效期 |
| | | if(couponPageVoList!=null&&!couponPageVoList.isEmpty()){ |
| | | Integer couponType; |
| | | Integer validTimeType; |
| | | Date validStartTime; |
| | | Date validEndTime; |
| | | Integer validDay; |
| | | String validTime = ""; |
| | | BigDecimal moneyThreshold; |
| | | BigDecimal discountMoney; |
| | | BigDecimal discountPercent; |
| | | String useLimit = ""; |
| | | for(MerCouponPageVo merCouponPageVo : couponPageVoList){ |
| | | //处理使用限制 |
| | | couponType = merCouponPageVo.getCouponType(); |
| | | switch (couponType){ |
| | | case 1: |
| | | moneyThreshold = merCouponPageVo.getMoneyThreshold(); |
| | | discountMoney = merCouponPageVo.getDiscountMoney(); |
| | | useLimit = "满" + moneyThreshold.toString() + "减" + discountMoney.toString() + "元"; |
| | | break; |
| | | case 2: |
| | | break; |
| | | case 3: |
| | | break; |
| | | case 4: |
| | | break; |
| | | default: |
| | | break; |
| | | } |
| | | merCouponPageVo.setUseLimit(useLimit); |
| | | //处理有效期 |
| | | validTimeType = merCouponPageVo.getValidTimeType(); |
| | | if(validTimeType==1){ |
| | | validStartTime = merCouponPageVo.getValidStartTime(); |
| | | validEndTime = merCouponPageVo.getValidEndTime(); |
| | | validTime = DateUtils.dateTime(validStartTime) + '-' + DateUtils.dateTime(validEndTime); |
| | | }else if(validTimeType==2){ |
| | | validDay = merCouponPageVo.getValidDay(); |
| | | validTime = "领取之日起" + validDay.toString() + "天"; |
| | | } |
| | | merCouponPageVo.setValidTime(validTime); |
| | | } |
| | | } |
| | | return couponPageVoList; |
| | | } |
| | | } |
| | |
| | | package com.ruoyi.member.service.impl.member; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.member.domain.dto.MerMemberBrowsePageDto; |
| | | import com.ruoyi.member.domain.dto.MgtMemberBrowsePageDto; |
| | | import com.ruoyi.member.domain.pojo.member.BrowseRecord; |
| | | import com.ruoyi.member.domain.vo.MerMemberBrowsePageVo; |
| | | import com.ruoyi.member.domain.vo.MgtMemberBrowsePageVo; |
| | | import com.ruoyi.member.mapper.member.BrowseRecordMapper; |
| | | import com.ruoyi.member.service.member.BrowseRecordService; |
| | |
| | | @Override |
| | | public List<MgtMemberBrowsePageVo> pageMgtMemberBrowse(Page page, MgtMemberBrowsePageDto mgtMemberBrowsePageDto){ |
| | | return browseRecordMapper.pageMgtMemberBrowse(page, mgtMemberBrowsePageDto); |
| | | } |
| | | |
| | | /** |
| | | * @description 商户获取用户浏览记录 |
| | | * @author jqs |
| | | * @date 2023/6/30 15:24 |
| | | * @param page |
| | | * @param merMemberBrowsePageDto |
| | | * @return List<MerMemberBrowsePageVo> |
| | | */ |
| | | @Override |
| | | public List<MerMemberBrowsePageVo> pageMerMemberBrowse(Page page, MerMemberBrowsePageDto merMemberBrowsePageDto){ |
| | | return browseRecordMapper.pageMerMemberBrowse(page, merMemberBrowsePageDto); |
| | | } |
| | | } |
| | |
| | | package com.ruoyi.member.service.impl.member; |
| | | |
| | | import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; |
| | | import com.ruoyi.member.domain.pojo.member.MemberArchive; |
| | | import com.ruoyi.member.domain.vo.MemberArchiveVo; |
| | | import com.ruoyi.member.mapper.member.MemberArchiveMapper; |
| | |
| | | public List<MemberArchiveVo> listMerVoByUserId(Long userId){ |
| | | return memberArchiveMapper.listMerVoByUserId(userId); |
| | | } |
| | | |
| | | /** |
| | | * @description 删除用户档案 |
| | | * @author jqs |
| | | * @date 2023/6/30 15:11 |
| | | * @param userId |
| | | * @return void |
| | | */ |
| | | @Override |
| | | public void deleteByUserId(Long userId){ |
| | | LambdaUpdateWrapper<MemberArchive> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.set(MemberArchive::getDelFlag,1); |
| | | updateWrapper.eq(MemberArchive::getDelFlag,0); |
| | | updateWrapper.eq(MemberArchive::getUserId,userId); |
| | | this.update(updateWrapper); |
| | | } |
| | | } |
| | |
| | | import com.ruoyi.common.security.utils.SecurityUtils; |
| | | import com.ruoyi.member.domain.dto.*; |
| | | import com.ruoyi.member.domain.pojo.member.IntegralRecord; |
| | | import com.ruoyi.member.domain.pojo.member.MemberArchive; |
| | | import com.ruoyi.member.domain.pojo.member.MemberTotal; |
| | | import com.ruoyi.member.domain.vo.*; |
| | | import com.ruoyi.member.mapper.member.MemberMapper; |
| | |
| | | // Save the member and initialize member total |
| | | this.saveOrUpdate(member); |
| | | initMemberTotal(memberId); |
| | | List<MemberArchiveVo> achiveList = merMemberAddDto.getAchiveList(); |
| | | if(achiveList!=null&&!achiveList.isEmpty()){ |
| | | SysUser finalSysUser = sysUser; |
| | | List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> { |
| | | MemberArchive memberArchive = new MemberArchive(); |
| | | memberArchive.setDelFlag(0); |
| | | memberArchive.setUserId(finalSysUser.getUserId()); |
| | | memberArchive.setFieldId(memberArchiveVo.getFieldId()); |
| | | memberArchive.setFieldValue(memberArchiveVo.getFieldValue()); |
| | | return memberArchive; |
| | | } |
| | | ).collect(Collectors.toList()); |
| | | memberArchiveService.saveBatch(memberArchiveList); |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | */ |
| | | @Override |
| | | public void editMerMember(MerMemberEditDto merMemberEditDto) { |
| | | |
| | | // 获取用户信息 |
| | | Member member = this.getByUserId(merMemberEditDto.getEditUserId()); |
| | | // 检查手机号是否已经存在 |
| | | if (!member.getMobile().equals(merMemberEditDto.getPhonenumber())) { |
| | | Member memberOld = getByMobile(merMemberEditDto.getPhonenumber()); |
| | | if (memberOld != null) { |
| | | throw new ServiceException(AppErrorConstant.MOBILE_DOUBLE); |
| | | } |
| | | } |
| | | // 更新用户信息 |
| | | member.setRealName(merMemberEditDto.getNickName()); |
| | | member.setMobile(merMemberEditDto.getPhonenumber()); |
| | | member.setGender(merMemberEditDto.getGender()); |
| | |
| | | member.setBirthday(merMemberEditDto.getBirthday()); |
| | | member.setUpdateUserId(merMemberEditDto.getUserId()); |
| | | member.setUpdateTime(new Date()); |
| | | log.info("member-----------------" + member.toString()); |
| | | this.saveOrUpdate(member); |
| | | // 更新用户手机号 |
| | | SysUser sysUser = new SysUser(); |
| | | sysUser.setUserId(merMemberEditDto.getEditUserId()); |
| | | sysUser.setPhonenumber(merMemberEditDto.getPhonenumber()); |
| | | sysUserService.updateUserMobile(sysUser); |
| | | // 删除用户的档案信息 |
| | | memberArchiveService.deleteByUserId(sysUser.getUserId()); |
| | | // 添加用户的档案信息 |
| | | List<MemberArchiveVo> achiveList = merMemberEditDto.getAchiveList(); |
| | | if (achiveList != null && !achiveList.isEmpty()) { |
| | | // 构造用户档案列表 |
| | | List<MemberArchive> memberArchiveList = achiveList.stream().map(memberArchiveVo -> { |
| | | MemberArchive memberArchive = new MemberArchive(); |
| | | memberArchive.setDelFlag(0); |
| | | memberArchive.setUserId(sysUser.getUserId()); |
| | | memberArchive.setFieldId(memberArchiveVo.getFieldId()); |
| | | memberArchive.setFieldValue(memberArchiveVo.getFieldValue()); |
| | | return memberArchive; |
| | | }).collect(Collectors.toList()); |
| | | // 批量保存用户档案信息 |
| | | memberArchiveService.saveBatch(memberArchiveList); |
| | | } |
| | | } |
| | | |
| | | /** |
| | |
| | | package com.ruoyi.member.service.member; |
| | | |
| | | import com.baomidou.mybatisplus.extension.plugins.pagination.Page; |
| | | import com.ruoyi.member.domain.dto.MerMemberBrowsePageDto; |
| | | import com.ruoyi.member.domain.dto.MgtMemberBrowsePageDto; |
| | | import com.ruoyi.member.domain.pojo.member.BrowseRecord; |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.member.domain.vo.MerMemberBrowsePageVo; |
| | | import com.ruoyi.member.domain.vo.MgtMemberBrowsePageVo; |
| | | |
| | | import java.util.List; |
| | |
| | | * @return |
| | | */ |
| | | List<MgtMemberBrowsePageVo> pageMgtMemberBrowse(Page page, MgtMemberBrowsePageDto mgtMemberBrowsePageDto); |
| | | |
| | | /** |
| | | * @description 商户获取用户浏览记录 |
| | | * @author jqs |
| | | * @date 2023/6/30 15:24 |
| | | * @param page |
| | | * @param merMemberBrowsePageDto |
| | | * @return List<MerMemberBrowsePageVo> |
| | | */ |
| | | List<MerMemberBrowsePageVo> pageMerMemberBrowse(Page page, MerMemberBrowsePageDto merMemberBrowsePageDto); |
| | | } |
| | |
| | | * @return List<MemberArchiveVo> |
| | | */ |
| | | List<MemberArchiveVo> listMerVoByUserId(Long userId); |
| | | |
| | | /** |
| | | * @description 删除用户档案 |
| | | * @author jqs |
| | | * @date 2023/6/30 15:11 |
| | | * @param userId |
| | | * @return void |
| | | */ |
| | | void deleteByUserId(Long userId); |
| | | } |
| | |
| | | UPDATE t_coupon_total set send_count = send_count + #{sendTotal}, send_user_count = send_user_count + sendPerson WHERE coupon_id = #{couponId} |
| | | </update> |
| | | |
| | | <select id="pagePlatformMerCoupon" resultType="com.ruoyi.member.domain.vo.MgtCouponPageVo"> |
| | | SELECT |
| | | tc.coupon_id couponId, |
| | | tc.coupon_name couponName, |
| | | CASE tc.coupon_type |
| | | WHEN 1 THEN '满减' |
| | | WHEN 2 THEN '折扣' |
| | | WHEN 3 THEN '代金' |
| | | WHEN 4 THEN '商品' |
| | | END couponType, |
| | | tc.valid_time_type validTimeType, |
| | | tc.valid_start_time validStartTime, |
| | | tc.valid_end_time validEndTime, |
| | | tc.valid_day validDay, |
| | | tct.send_count sendCount, |
| | | CASE tc.use_scope |
| | | WHEN 1 THEN '全部' |
| | | WHEN 2 THEN '指定商品' |
| | | END useScope, |
| | | CASE tc.send_type |
| | | WHEN 1 THEN '手动获取' |
| | | ELSE '指定发放' |
| | | END sendType, |
| | | CASE tc.send_type |
| | | WHEN 2 THEN '全部用户' |
| | | WHEN 3 THEN '会员用户' |
| | | WHEN 4 THEN '非会员用户' |
| | | WHEN 5 THEN '自定义' |
| | | ELSE '' |
| | | END sendTarget, |
| | | tc.money_threshold moneyThreshold, |
| | | tc.discount_money discountMoney, |
| | | tc.discount_percent discountPercent, |
| | | tc.create_time createTime |
| | | FROM t_coupon tc |
| | | LEFT JOIN t_coupon_total tct ON tc.coupon_id = tct.coupon_id |
| | | WHERE tc.del_flag = 0 AND tc.coupon_status = 2 AND tc.coupon_from = 1 |
| | | </select> |
| | | </mapper> |
| | |
| | | ORDER BY tbr.create_time DESC |
| | | </select> |
| | | |
| | | |
| | | <select id="pageMerMemberBrowse" resultType="com.ruoyi.member.domain.vo.MerMemberBrowsePageVo"> |
| | | SELECT |
| | | CASE browse_type |
| | | WHEN 1 THEN "鸿瑞学堂" |
| | | WHEN 2 THEN "营销活动" |
| | | WHEN 3 THEN "商城商品" |
| | | WHEN 4 THEN "关于鸿瑞堂" |
| | | WHEN 5 THEN "申请加盟" |
| | | END browseType, |
| | | tbr.browse_name browseName, |
| | | tbr.browse_time browseTime, |
| | | tbr.create_time createTime |
| | | FROM t_browse_record tbr |
| | | WHERE tbr.del_flag = 0 AND tbr.user_id = #{param.memberUserId} |
| | | ORDER BY tbr.create_time DESC |
| | | </select> |
| | | </mapper> |
| | |
| | | @RequestMapping(value = "/pageMerOrder", method = RequestMethod.POST) |
| | | @ApiOperation(value = "获取商户端订单列表") |
| | | public R<Page<MerOrderPageVo>> pageMerOrder(@RequestBody MerOrderPageDto merOrderPageDto) { |
| | | log.info("merOrderPageDto1----"+merOrderPageDto.toString()); |
| | | Long userId = SecurityUtils.getUserId(); |
| | | merOrderPageDto.setUserId(userId); |
| | | Page<MerOrderPageVo> page = new Page<>(); |
| | | page.setSize(merOrderPageDto.getPageSize()); |
| | | page.setCurrent(merOrderPageDto.getPageNum()); |
| | | log.info("merOrderPageDto2----"+merOrderPageDto.toString()); |
| | | List<MerOrderPageVo> merOrderPageVoList = orderService.pageMerOrder(page,merOrderPageDto); |
| | | return R.ok(page.setRecords(merOrderPageVoList)); |
| | | } |
| | |
| | | Integer orderFrom; |
| | | String orderFromDesc; |
| | | BigDecimal zeroBig = new BigDecimal("0.00"); |
| | | StringJoiner userIdSj = new StringJoiner(","); |
| | | for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) { |
| | | userId = merOrderPageVo.getUserId(); |
| | | member = remoteMemberService.getMember(userId).getData(); |
| | | if (member != null) { |
| | | if (StringUtils.isNotBlank(member.getNickName())) { |
| | | merOrderPageVo.setUserName(member.getNickName()); |
| | | } |
| | | merOrderPageVo.setUserMobile(member.getMobile()); |
| | | } else { |
| | | SysUser sysUser = remoteUserService.getSysUser(userId).getData(); |
| | | if (StringUtils.isNotBlank(sysUser.getNickName())) { |
| | | merOrderPageVo.setUserName(sysUser.getNickName()); |
| | | } |
| | | merOrderPageVo.setUserMobile(sysUser.getPhonenumber()); |
| | | } |
| | | userIdSj.add(userId.toString()); |
| | | orderFrom = merOrderPageVo.getOrderFrom(); |
| | | if (orderFrom != null) { |
| | | if (orderFrom == 1) { |
| | |
| | | merOrderPageVo.setUnPaidMoney(zeroBig); |
| | | } |
| | | } |
| | | MgtBaseBathDto mgtBaseBathDto = new MgtBaseBathDto(); |
| | | mgtBaseBathDto.setIds(userIdSj.toString()); |
| | | List<MgtSimpleMemberVo> simpleMemberVoList = remoteMemberService.listSimpleVoByIds(mgtBaseBathDto).getData(); |
| | | Map<Long, MgtSimpleMemberVo> userMap = simpleMemberVoList.stream() |
| | | .collect(Collectors.toMap(MgtSimpleMemberVo::getUserId, Function.identity())); |
| | | for (MerOrderPageVo merOrderPageVo : merOrderPageVoList) { |
| | | merOrderPageVo.setUserName(userMap.get(merOrderPageVo.getUserId()).getNickName()); |
| | | merOrderPageVo.setUserMobile(userMap.get(merOrderPageVo.getUserId()).getUserMobile()); |
| | | } |
| | | } |
| | | return merOrderPageVoList; |
| | | } |
| | |
| | | |
| | | <select id="getTotalDataTotal" resultType="com.ruoyi.order.domain.vo.MgtTotalDataTotalVo"> |
| | | SELECT |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count > 0 AND goods_type_3_count = 0 THEN user_id ELSE NULL END) AS onlyCyclePerson, |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count = 0 AND goods_type_3_count > 0 THEN user_id ELSE NULL END) AS onlyExperiencePerson, |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count > 0 AND goods_type_3_count > 0 THEN user_id ELSE NULL END) AS experienceCyclePerson, |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count > 0 THEN user_id ELSE NULL END) AS cyclePerson, |
| | | COUNT(DISTINCT CASE WHEN goods_type_4_count > 0 THEN user_id ELSE NULL END) AS goodsPerson, |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count > 0 AND goods_type_3_count = 0 THEN user_id ELSE NULL END) AS onlyCyclePerson, |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count = 0 AND goods_type_3_count > 0 THEN user_id ELSE NULL END) AS onlyExperiencePerson, |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count > 0 AND goods_type_3_count > 0 THEN user_id ELSE NULL END) AS experienceCyclePerson, |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count > 0 THEN user_id ELSE NULL END) AS cyclePerson, |
| | | COUNT(DISTINCT CASE WHEN goods_type_4_count > 0 THEN user_id ELSE NULL END) AS goodsPerson, |
| | | SUM(goods_type_4_count) AS goodsNumber, |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count > 0 AND goods_type_2_count > 0 AND goods_type_3_count > 0 AND goods_type_4_count > 0 THEN user_id ELSE NULL END) AS orderPerson |
| | | COUNT(DISTINCT CASE WHEN goods_type_1_count > 0 AND goods_type_2_count > 0 AND goods_type_3_count > 0 AND goods_type_4_count > 0 THEN user_id ELSE NULL END) AS orderPerson |
| | | FROM ( |
| | | SELECT |
| | | o.user_id, |
| | |
| | | <version>0.2.8</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>com.github.javen205</groupId> |
| | | <artifactId>IJPay-WxPay</artifactId> |
| | | <version>2.9.7-17</version> |
| | | </dependency> |
| | | <dependency> |
| | | <groupId>org.apache.cxf</groupId> |
| | | <artifactId>cxf-rt-rs-client</artifactId> |
| | | <version>4.0.2</version> |