From d6a0c57043e8cc20694a3c678bf8e3a8f28f6499 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 29 五月 2025 11:20:14 +0800
Subject: [PATCH] 新增加用户端接口

---
 ruoyi-modules/ruoyi-member/src/main/java/com/ruoyi/member/controller/console/MemberController.java |  371 +++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 318 insertions(+), 53 deletions(-)

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 e8a8451..c9af95a 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
@@ -1,66 +1,78 @@
 package com.ruoyi.member.controller.console;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.ruoyi.common.core.domain.R;
 import com.ruoyi.common.core.web.controller.BaseController;
-import com.ruoyi.common.security.utils.SecurityUtils;
-import com.ruoyi.system.api.domain.dto.AppMiniRegisterDto;
-import com.ruoyi.system.api.domain.vo.AppMiniRegisterVo;
+import com.ruoyi.member.service.birthday.BirthdayCardService;
+import com.ruoyi.member.service.member.MemberGiftRecordService;
 import com.ruoyi.member.service.member.MemberService;
-import com.ruoyi.member.service.member.MemberCouponService;
-import com.ruoyi.system.api.domain.dto.AppMemberBindingDto;
-import com.ruoyi.system.api.domain.dto.AppMemberGoodsTypeDto;
+import com.ruoyi.member.service.member.MemberSuggestService;
+import com.ruoyi.system.api.domain.dto.*;
+import com.ruoyi.system.api.domain.poji.member.BirthdayCard;
 import com.ruoyi.system.api.domain.poji.member.Member;
-import com.ruoyi.system.api.domain.vo.AppMemberCouponVo;
+import com.ruoyi.system.api.domain.poji.member.MemberGiftRecord;
+import com.ruoyi.system.api.domain.poji.shop.Shop;
+import com.ruoyi.system.api.domain.vo.*;
 import com.ruoyi.system.api.model.AppMiniLoginDto;
 import com.ruoyi.system.api.model.AppMiniLoginVo;
+import com.ruoyi.system.api.service.RemoteShopService;
 import io.swagger.annotations.ApiOperation;
-import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import javax.annotation.Resource;
 import java.util.List;
+import java.util.stream.Collectors;
 
 @RestController
 @RequestMapping("/member")
 public class MemberController extends BaseController {
-
-    @Autowired
+    
+    @Resource
     private MemberService memberService;
-
-    @Autowired
-    private MemberCouponService memberCouponService;
-
+    
+    @Resource
+    private MemberSuggestService memberSuggestService;
+    
+    @Resource
+    private MemberGiftRecordService memberGiftRecordService;
+    
+    @Resource
+    private BirthdayCardService birthdayCardService;
+    
+    @Resource
+    private RemoteShopService remoteShopService;
+    
+    
     /**
-    * @description: getMember
-    * @param: userId
-    * @return: R<Member>
-    * @author jqs34
-    * @date: 2023/4/30 12:49
-    */
-
+     * @description: getMember
+     * @param: userId
+     * @return: R<Member>
+     * @author jqs34
+     * @date: 2023/4/30 12:49
+     */
+    
     @PostMapping("/getMember")
-    public R<Member> getMember(@RequestBody Long userId)
-    {
+    public R<Member> getMember(@RequestBody Long userId) {
         Member member = memberService.getByUserId(userId);
-        if(member ==null){
+        if (member == null) {
             return R.fail("获取会员失败!");
         }
         return R.ok(member);
     }
-
+    
     /**
      * 小程序登录
      */
     @PostMapping("/miniLogin")
     @ApiOperation("小程序登录")
-    public R<AppMiniLoginVo> getMemberByCode(@RequestBody AppMiniLoginDto appMiniLoginDto)
-    {
+    public R<AppMiniLoginVo> getMemberByCode(@RequestBody AppMiniLoginDto appMiniLoginDto) {
         AppMiniLoginVo appMiniLoginVo = memberService.getMemberByCode(appMiniLoginDto);
-        if(appMiniLoginVo ==null){
+        if (appMiniLoginVo == null) {
             return R.fail("登录失败!");
         }
         return R.ok(appMiniLoginVo);
     }
-
+    
     @PostMapping(value = "/miniRegister")
     @ApiOperation(value = "小程序注册")
     public R<AppMiniRegisterVo> miniRegister(@RequestBody AppMiniRegisterDto appUserRegisterDto) {
@@ -70,64 +82,317 @@
         }
         return R.ok(appUserRegisterVo);
     }
-
-    /**
-    * @description: 获取用户优惠券
-    * @author jqs34
-    * @date 2023/5/3 1:45
-    * @version 1.0
-    */
-    @PostMapping("/listVoMemberCouponByUserId")
-    public R<List<AppMemberCouponVo>> listVoMemberCouponByUserId(@RequestBody Long userId){
-        List<AppMemberCouponVo> appMemberCouponVoList = memberCouponService.listVoMemberCouponByUserId(userId);
-        return R.ok(appMemberCouponVoList);
-    }
-
+    
+    
     /**
      * 更新会员绑定商户
+     *
      * @param appMemberBindingDto
      * @return
      */
     @PostMapping("/updateMemberBinding")
-    public R updateMemberBinding(@RequestBody AppMemberBindingDto appMemberBindingDto)
-    {
+    public R updateMemberBinding(@RequestBody AppMemberBindingDto appMemberBindingDto) {
         memberService.updateMemberBinding(appMemberBindingDto);
         return R.ok();
     }
-
+    
     /**
      * 更新会员商品类型
+     *
      * @param appMemberGoodsTypeDto
      * @return
      */
     @PostMapping("/updateMemberGoodsType")
-    public R updateMemberGoodsType(@RequestBody AppMemberGoodsTypeDto appMemberGoodsTypeDto)
-    {
+    public R updateMemberGoodsType(@RequestBody AppMemberGoodsTypeDto appMemberGoodsTypeDto) {
         memberService.updateMemberGoodsType(appMemberGoodsTypeDto);
         return R.ok();
     }
-
+    
     /**
      * 通过手机号获取会员
+     *
      * @param mobile
      * @return
      */
     @PostMapping("/getMemberByMobile")
-    public R<Member> getMemberByMobile(@RequestBody String mobile)
-    {
+    public R<Member> getMemberByMobile(@RequestBody String mobile) {
         Member member = memberService.getByMobile(mobile);
         return R.ok(member);
     }
-
+    
     /**
      * 订单创建新用户
+     *
      * @param member
      * @return
      */
     @PostMapping("/createNewMember")
-    public R createNewMember(@RequestBody Member member)
-    {
+    public R createNewMember(@RequestBody Member member) {
         memberService.createNewMember(member);
         return R.ok();
     }
+    
+    /**
+     * @param tag
+     * @return R
+     * @description 删除用户标签
+     * @author jqs
+     * @date 2023/6/8 15:17
+     */
+    @PostMapping("/deleteMemberTag")
+    public R deleteMemberTag(@RequestBody String tag) {
+        memberService.deleteMemberTag(tag);
+        return R.ok();
+    }
+    
+    /**
+     * @param suggestTag
+     * @return R
+     * @description 删除会员建议标签
+     * @author jqs
+     * @date 2023/6/9 9:43
+     */
+    @PostMapping("/deleteMemberSuggestTag")
+    public R deleteMemberSuggestTag(@RequestBody String suggestTag) {
+        memberSuggestService.deleteMemberSuggestTag(suggestTag);
+        return R.ok();
+    }
+    
+    
+    /**
+     * @param mgtBaseBathDto
+     * @return R<List < MgtSimpleMemberVo>>
+     * @description 通过ids获取用户简易返回
+     * @author jqs
+     * @date 2023/6/16 11:05
+     */
+    @PostMapping("/listSimpleVoByIds")
+    public R<List<MgtSimpleMemberVo>> listSimpleVoByIds(@RequestBody String userIds) {
+        List<MgtSimpleMemberVo> simpleMemberVoList = memberService.listSimpleVoByIds(userIds);
+        return R.ok(simpleMemberVoList);
+    }
+    
+    /**
+     * @param mgtUserIdByKeywordDto
+     * @return R<MgtUserIdByKeywordVo>
+     * @description
+     * @author jqs
+     * @date 2023/6/16 12:47
+     */
+    @PostMapping("/getUserIdByKeyword")
+    public R<MgtUserIdByKeywordVo> getUserIdByKeyword(@RequestBody MgtUserIdByKeywordDto mgtUserIdByKeywordDto) {
+        MgtUserIdByKeywordVo mgtUserIdByKeywordVo = memberService.getUserIdByKeyword(mgtUserIdByKeywordDto);
+        return R.ok(mgtUserIdByKeywordVo);
+    }
+    
+    /**
+     * @param
+     * @return R<MgtBulletinBoardVo>
+     * @description boardMemberTotal
+     * @author jqs34
+     * @date 2023/6/18 16:45
+     */
+    @PostMapping("/boardMemberTotal")
+    public R<MgtBulletinBoardVo> boardMemberTotal(@RequestBody BoardMemberTotalDto boardMemberTotalDto) {
+        List<Shop> shopList = remoteShopService.getShopBySysUserIds(boardMemberTotalDto);
+        List<Long> shopIds = shopList.stream().map(Shop::getShopId).collect(Collectors.toList());
+        MgtBulletinBoardVo bulletinBoardVo = memberService.boardMemberTotal(shopIds);
+        return R.ok(bulletinBoardVo);
+    }
+    
+    /**
+     * @param mgtActivityAgeDto
+     * @return R<List < Long>>
+     * @description 筛选userId年龄段
+     * @author jqs
+     * @date 2023/6/20 14:31
+     */
+    @PostMapping("/listUserIdByAge")
+    public R<List<Long>> listUserIdByAge(@RequestBody MgtActivityAgeDto mgtActivityAgeDto) {
+        List<Long> userIdList = memberService.listUserIdByAge(mgtActivityAgeDto);
+        return R.ok(userIdList);
+    }
+    
+    /**
+     * @param shopIdlist
+     * @return R<List < Long>>
+     * @description 通过shopId获取userId
+     * @author jqs
+     * @date 2023/6/21 17:11
+     */
+    @PostMapping("/listUserIdByShopId")
+    public R<List<Long>> listUserIdByShopId(@RequestBody List<Long> shopIdlist) {
+        List<Long> userIdList = memberService.listUserIdByShopId(shopIdlist);
+        return R.ok(userIdList);
+    }
+    
+    /**
+     * @param shopIdlist
+     * @return R<MgtShopTotalMemberVo>
+     * @description 通过shopId获取user统计
+     * @author jqs
+     * @date 2023/6/21 17:22
+     */
+    @PostMapping("/getUserTotalByShopId")
+    public R<MgtShopTotalMemberVo> getUserTotalByShopId(@RequestBody List<Long> shopIdlist) {
+        MgtShopTotalMemberVo shopTotalMemberVo = memberService.getUserTotalByShopId(shopIdlist);
+        return R.ok(shopTotalMemberVo);
+    }
+    
+    /**
+     * @param memberTotalChangeDto
+     * @return R
+     * @description 更新会员统计
+     * @author jqs
+     * @date 2023/6/28 17:52
+     */
+    @PostMapping("/changeMemberTotal")
+    public R changeMemberTotal(@RequestBody MemberTotalChangeDto memberTotalChangeDto) {
+        memberService.changeMemberTotal(memberTotalChangeDto);
+        return R.ok();
+    }
+    
+    /**
+     * @param merTotalDto
+     * @return R<MerOrderAgeUserVo>
+     * @description 获取各年龄层userId
+     * @author jqs
+     * @date 2023/7/4 9:49
+     */
+    @PostMapping("/listOrderAgeUser")
+    public R<List<MerOrderAgeUserVo>> listOrderAgeUser(@RequestBody MerTotalDto merTotalDto) {
+        List<MerOrderAgeUserVo> orderAgeUserVoList = memberService.listOrderAgeUser(merTotalDto);
+        return R.ok(orderAgeUserVoList);
+    }
+    
+    /**
+     * @param
+     * @return R<Integer>
+     * @description 获取未回复数量
+     * @author jqs
+     * @date 2023/7/5 12:49
+     */
+    @PostMapping("/getUnReplaySuggestVo")
+    public R<Integer> getUnReplaySuggestVo() {
+        Integer count = memberSuggestService.getUnReplaySuggestVo();
+        return R.ok(count);
+    }
+    
+    /**
+     * @param verifyPrize
+     * @return R<MemberGiftRecord>
+     * @description 获取核销奖品
+     * @author jqs
+     * @date 2023/7/8 17:43
+     */
+    @PostMapping("/getVerifyPrize")
+    public R<MemberGiftRecord> getVerifyPrize(@RequestBody String verifyPrize) {
+        MemberGiftRecord memberGiftRecord = memberGiftRecordService.getById(verifyPrize);
+        return R.ok(memberGiftRecord);
+    }
+    
+    
+    /**
+     * 根据礼品id获取数据
+     *
+     * @param giftId
+     * @return
+     */
+    @PostMapping("/getVerifyPrizeByGiftId")
+    public R<MemberGiftRecord> getVerifyPrizeByGiftId(@RequestBody String giftId) {
+        MemberGiftRecord memberGiftRecord = memberGiftRecordService.getOne(new QueryWrapper<MemberGiftRecord>().eq("gift_id", giftId));
+        return R.ok(memberGiftRecord);
+    }
+    
+    
+    /**
+     * @param merVerifyPrizeFinalDto
+     * @return R
+     * @description 核销奖品
+     * @author jqs
+     * @date 2023/8/10 11:56
+     */
+    @PostMapping("/verifyPrize")
+    public R verifyPrize(@RequestBody MerVerifyPrizeFinalDto merVerifyPrizeFinalDto) {
+        memberGiftRecordService.verifyPrize(merVerifyPrizeFinalDto);
+        return R.ok();
+    }
+    
+    /**
+     * @description  积分变动
+     * @author  jqs
+     * @date    2023/7/12 17:04
+     * @param integralChangeDto
+     * @return  R
+     */
+    @PostMapping("/changeIntegral")
+    public R changeIntegral(@RequestBody IntegralChangeDto integralChangeDto) {
+        memberService.changeIntegral(integralChangeDto);
+        return R.ok();
+    }
+    
+    /**
+     * @param shopIdList
+     * @return R<Integer>
+     * @description 统计商户今日新增会员
+     * @author jqs
+     * @date 2023/7/14 20:00
+     */
+    @PostMapping("/getAreaNewMember")
+    public R<Integer> getAreaNewMember(@RequestBody List<Long> shopIdList) {
+        Integer count = memberService.getAreaNewMember(shopIdList);
+        return R.ok(count);
+    }
+    
+    
+    /**
+     * @description 更新会员绑定商户名
+     * @author jqs
+     * @date 2023/7/26 17:07
+     * @param mgtMemberShopNameDto
+     * @return R
+     */
+    @PostMapping("/updateMemberShopName")
+    public R updateMemberShopName(@RequestBody MgtMemberShopNameDto mgtMemberShopNameDto) {
+        memberService.updateMemberShopName(mgtMemberShopNameDto);
+        return R.ok();
+    }
+    
+    @PostMapping("/getBirthdayCard")
+    public R<BirthdayCard> getBirthdayCard() {
+        BirthdayCard birthdayCard = birthdayCardService.getBirthdayCard();
+        return R.ok(birthdayCard);
+    }
+    
+    @PostMapping("/listUserIdByAgeType")
+    public R<List<Long>> listUserIdByAgeType(@RequestBody Integer ageType) {
+        List<Long> userIdList = memberService.listUserIdByAgeType(ageType);
+        return R.ok(userIdList);
+    }
+    
+    
+    /**
+     * 手动添加用户积分
+     *
+     * @param integral
+     * @param userId
+     * @return
+     */
+    @PostMapping("/addIntegralRecord")
+    public R addIntegralRecord(@RequestParam("integral") Integer integral, @RequestParam("userId") Long userId, @RequestParam("orderId") String orderId) {
+        return memberService.addIntegralRecord(integral, userId, orderId);
+    }
+    
+    
+    /**
+     * 添加奖品记录
+     *
+     * @param memberGiftRecord
+     * @return
+     */
+    @PostMapping("/saveMemberGiftRecord")
+    public R saveMemberGiftRecord(@RequestBody MemberGiftRecord memberGiftRecord) {
+        memberGiftRecordService.save(memberGiftRecord);
+        return R.ok();
+    }
 }

--
Gitblit v1.7.1