ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/controller/business/MerActivityController.java
New file @@ -0,0 +1,45 @@ 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)); } } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MerActivityPageVo.java
New file @@ -0,0 +1,38 @@ 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; } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/domain/vo/MgtActivityPageVo.java
@@ -37,7 +37,7 @@ @ApiModelProperty(value = "适用店铺") private String shopFlag; @ApiModelProperty(value = "活动状态0未开始1进行中2已结束") @ApiModelProperty(value = "活动状态") private String activityStatus; @ApiModelProperty(value = "推荐标记") ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/mapper/activity/ActivityMapper.java
@@ -5,8 +5,10 @@ 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; @@ -39,4 +41,15 @@ * @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); } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/activity/ActivityService.java
@@ -6,9 +6,11 @@ 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; @@ -66,4 +68,14 @@ * @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); } ruoyi-modules/ruoyi-goods/src/main/java/com/ruoyi/goods/service/impl/activity/ActivityServiceImpl.java
@@ -11,16 +11,14 @@ 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; @@ -254,4 +252,18 @@ } 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; } } ruoyi-modules/ruoyi-goods/src/main/resources/mapper/activity/ActivityMapper.xml
@@ -74,4 +74,23 @@ </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> ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerCouponController.java
New file @@ -0,0 +1,50 @@ 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)); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/business/MerMemberController.java
@@ -5,6 +5,7 @@ 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; @@ -35,6 +36,10 @@ @Resource private MemberArchiveFieldsService memberArchiveFieldsService; @Resource private BrowseRecordService browseRecordService; @RequestMapping(value = "/pageMerCashMember", method = RequestMethod.POST) @ApiOperation(value = "分页获取收银搜索会员列表") @@ -125,5 +130,15 @@ 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)); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberAddDto.java
@@ -1,10 +1,10 @@ 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; /** @@ -42,4 +42,7 @@ @ApiModelProperty(value = "调理问题") private List<String> memberNurse; @ApiModelProperty(value = "用户档案") private List<MemberArchiveVo> achiveList; } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberBrowsePageDto.java
New file @@ -0,0 +1,20 @@ 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; } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/dto/MerMemberEditDto.java
@@ -1,10 +1,10 @@ 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; /** @@ -45,5 +45,7 @@ @ApiModelProperty(value = "调理问题") private List<String> memberNurse; @ApiModelProperty(value = "用户档案") private List<MemberArchiveVo> achiveList; } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerCouponPageVo.java
New file @@ -0,0 +1,71 @@ 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; } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/domain/vo/MerMemberBrowsePageVo.java
New file @@ -0,0 +1,32 @@ 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; } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/coupon/CouponMapper.java
@@ -6,9 +6,11 @@ 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; @@ -62,4 +64,15 @@ * @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); } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/mapper/member/BrowseRecordMapper.java
@@ -1,9 +1,11 @@ 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; @@ -28,4 +30,14 @@ * @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); } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/coupon/CouponService.java
@@ -5,6 +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.MerPageDto; import com.ruoyi.system.api.domain.dto.MgtBaseGetDto; import java.util.List; @@ -102,4 +103,14 @@ * @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); } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/coupon/CouponServiceImpl.java
@@ -13,6 +13,7 @@ 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; @@ -570,4 +571,62 @@ 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; } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/BrowseRecordServiceImpl.java
@@ -1,8 +1,10 @@ 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; @@ -35,6 +37,18 @@ @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); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberArchiveServiceImpl.java
@@ -1,5 +1,6 @@ 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; @@ -43,4 +44,20 @@ 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); } } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/impl/member/MemberServiceImpl.java
@@ -17,6 +17,7 @@ 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; @@ -581,6 +582,20 @@ // 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); } } } @@ -591,30 +606,49 @@ */ @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 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.setReferrer(merMemberEditDto.getReferrer()); member.setCustomerSource(merMemberEditDto.getCustomerSource()); member.setLevel(merMemberEditDto.getLevel()); 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); } // 更新用户信息 member.setRealName(merMemberEditDto.getNickName()); member.setMobile(merMemberEditDto.getPhonenumber()); member.setGender(merMemberEditDto.getGender()); member.setReferrer(merMemberEditDto.getReferrer()); member.setCustomerSource(merMemberEditDto.getCustomerSource()); member.setLevel(merMemberEditDto.getLevel()); member.setBirthday(merMemberEditDto.getBirthday()); member.setUpdateUserId(merMemberEditDto.getUserId()); member.setUpdateTime(new Date()); 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); } } /** * @param mobile ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/BrowseRecordService.java
@@ -1,9 +1,11 @@ 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; @@ -25,4 +27,14 @@ * @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); } ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/service/member/MemberArchiveService.java
@@ -31,4 +31,13 @@ * @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); } ruoyi-modules/ruoyi-member/src/main/resources/mapper/coupon/CouponMapper.xml
@@ -258,4 +258,42 @@ 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> ruoyi-modules/ruoyi-member/src/main/resources/mapper/member/BrowseRecordMapper.xml
@@ -28,5 +28,20 @@ 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> ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/controller/business/MerOrderController.java
@@ -119,13 +119,11 @@ @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)); } ruoyi-modules/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/order/OrderServiceImpl.java
@@ -1053,21 +1053,10 @@ 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) { @@ -1084,6 +1073,15 @@ 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; } ruoyi-modules/ruoyi-order/src/main/resources/mapper/order/OrderMapper.xml
@@ -829,13 +829,13 @@ <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, ruoyi-modules/ruoyi-shop/pom.xml
@@ -114,11 +114,6 @@ <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>