Kaynağa Gözat

公告通知列表 更换绑定手机号

qxy 2 hafta önce
ebeveyn
işleme
98217651e1

+ 19 - 0
alien-entity/src/main/java/shop/alien/entity/store/StoreMenu.java

@@ -7,6 +7,7 @@ import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
+import java.math.BigDecimal;
 import java.util.Date;
 
 /**
@@ -71,4 +72,22 @@ public class StoreMenu {
     @ApiModelProperty(value = "修改人ID")
     @TableField("updated_user_id")
     private Integer updatedUserId;
+
+    @ApiModelProperty(value = "单位")
+    @TableField("dishes_unit")
+    private String dishesUnit;
+
+    @ApiModelProperty(value = "成本价")
+    @TableField("cost_price")
+    private BigDecimal costPrice;
+
+    @ApiModelProperty(value = "排序")
+    @TableField("sort")
+    private int sort;
+
+    @ApiModelProperty(value = "描述")
+    @TableField("description")
+    private String description;
+
+
 }

+ 3 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/StoreMainInfoVo.java

@@ -57,4 +57,7 @@ public class StoreMainInfoVo extends StoreInfo {
 
     @ApiModelProperty(value = "注销状态用户")
     private Integer logoutFlagUser;
+
+    @ApiModelProperty(value = "今日订单量")
+    private Integer orderQuantity;
 }

+ 5 - 0
alien-entity/src/main/java/shop/alien/entity/store/vo/StoreMenuVo.java

@@ -5,6 +5,8 @@ import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 import shop.alien.entity.store.StoreMenu;
 
+import java.util.List;
+
 /**
  * @author ssk
  * @version 1.0
@@ -26,4 +28,7 @@ public class StoreMenuVo extends StoreMenu {
     @ApiModelProperty(value = "是否点赞")
     private Integer isLike;
 
+    @ApiModelProperty(value = "菜品排序")
+    private List<StoreMenuVo> sortList;
+
 }

+ 7 - 3
alien-store/src/main/java/shop/alien/store/controller/LifeNoticeController.java

@@ -30,12 +30,16 @@ public class LifeNoticeController {
     @ApiOperation("通知列表")
     @ApiOperationSupport(order = 1)
     @ApiImplicitParams({
+            @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true),
+            @ApiImplicitParam(name = "pageSize", value = "页容", dataType = "int", paramType = "query", required = true),
             @ApiImplicitParam(name = "receiverId", value = "当前登录人", dataType = "String", paramType = "query"),
             @ApiImplicitParam(name = "noticeType", value = "0-系统通知和订单提醒之外的类型 1-系统通知 2-订单提醒", dataType = "Integer", paramType = "query")})
-    public R<List<LifeNoticeVo>> getNoticeByPhoneId(@RequestParam String receiverId,
+    public R<IPage<LifeNoticeVo>> getNoticeByPhoneId(@RequestParam int pageNum,
+                                                    @RequestParam int pageSize,
+                                                    @RequestParam String receiverId,
                                                     @RequestParam(defaultValue = "0") int noticeType) {
-        log.info("LifeNoticeController.getNoticeByPhoneId?receiverId={}, noticeType={}", receiverId, noticeType);
-        return R.data(lifeNoticeService.getNoticeList(receiverId, noticeType));
+        log.info("LifeNoticeController.getNoticeByPhoneId?pageNum={}, pageSize={}, receiverId={}, noticeType={}",pageNum, pageSize, receiverId, noticeType);
+        return lifeNoticeService.getNoticeList(pageNum, pageSize, receiverId, noticeType);
     }
 
     @GetMapping("/getSystemAndOrderNoticeSum")

+ 22 - 11
alien-store/src/main/java/shop/alien/store/controller/StoreMenuController.java

@@ -44,26 +44,23 @@ public class StoreMenuController {
     @ApiOperation("新增或修改门店菜单")
     @ApiOperationSupport(order = 2)
     @PostMapping("/saveOrUpdate")
-    public R<Boolean> saveOrUpdate(@RequestBody StoreMenu storeMenu) {
+    public R<String> saveOrUpdate(@RequestBody StoreMenu storeMenu) {
         log.info("StoreRecommendController.saveOrUpdate?storeMenu={}", storeMenu);
-        if (storeMenuService.saveOrUpdate(storeMenu)) {
-            if (null != storeMenu.getId()) {
-                return R.success("修改成功");
-            }
-            return R.success("新增成功");
-        }
-        return R.fail("新增失败");
+        return storeMenuService.saveOrUpdateMenu(storeMenu);
     }
 
     @ApiOperation(value = "删除门店菜单")
     @ApiOperationSupport(order = 3)
     @PostMapping("/delete")
-    public R<String> delete(@RequestBody List<Integer> ids) {
+    public R<String> delete(@RequestBody @RequestParam(value = "ids") List<Integer> ids, @RequestParam(value = "dishType") int dishType) {
         log.info("StoreRecommendController.delete?ids={}", ids);
-        if (storeMenuService.removeByIds(ids)) {
+        boolean flag = false;
+        flag =  storeMenuService.deleteMenu(ids, dishType);
+        if(flag){
             return R.success("删除成功");
+        }else{
+            return R.fail("删除失败");
         }
-        return R.fail("删除失败");
     }
 
     @ApiOperation("获取菜品详情")
@@ -75,5 +72,19 @@ public class StoreMenuController {
         return R.data(storeMenuService.getMenuInfo(id));
     }
 
+    @ApiOperation("菜品排序")
+    @ApiOperationSupport(order = 5)
+    @GetMapping("/getSortMenuInfo")
+    public R<Boolean> getSortMenuInfo(StoreMenuVo storeMenuVo) {
+        log.info("StoreRecommendController.getSortMenuInfo?storeMenuVo={}", storeMenuVo);
+        Boolean flag = false;
+        flag = storeMenuService.getSortMenuInfo(storeMenuVo);
+        if(flag){
+             return R.success("已更新排序");
+        }else{
+             return R.fail("排序失败");
+        }
+    }
+
 
 }

+ 3 - 9
alien-store/src/main/java/shop/alien/store/controller/StoreUserController.java

@@ -101,15 +101,9 @@ public class StoreUserController {
             @ApiImplicitParam(name = "verificationCode", value = "验证码", dataType = "String", paramType = "query", required = true),
             @ApiImplicitParam(name = "type", value = "类型:0:忘记密码,1:修改密码,2:更换绑定手机号", dataType = "Integer", paramType = "query", required = true)})
     @GetMapping("/updatePassword")
-    public R<Boolean> updatePassword(String phone,String newPhone, String oldPassword, String newPassword, String confirmNewPassword,String verificationCode,String newPhoneVerificationCode, Integer type) {
-        log.info("StoreUserController.updatePassword?phone={}&newPhone&oldPassword={}&newPassword={}&confirmNewPassword={}&verificationCode={}&type={}", phone, newPhone, oldPassword, newPassword, confirmNewPassword, verificationCode,  type);
-        boolean flag = false;
-        flag = storeUserService.forgetOrModifyPassword(phone, newPhone, oldPassword, newPassword, confirmNewPassword, verificationCode, type);
-        if(flag){
-            return R.success("修改成功");
-        }else {
-            return R.success("修改失败");
-        }
+    public R<String> updatePassword(String phone,String newPhone, String oldPassword, String newPassword, String confirmNewPassword,String verificationCode, Integer type) {
+        log.info("StoreUserController.updatePassword?phone={}&newPhone&oldPassword={}&newPassword={}&confirmNewPassword={}&verificationCode={}&type={}", phone, newPhone, oldPassword, newPassword, confirmNewPassword, verificationCode, type);
+        return  storeUserService.forgetOrModifyPassword(phone, newPhone, oldPassword, newPassword, confirmNewPassword, verificationCode, type);
     }
 
     @ApiOperation("更换绑定手机号效验原密码或验证码")

+ 2 - 1
alien-store/src/main/java/shop/alien/store/service/LifeNoticeService.java

@@ -3,6 +3,7 @@ package shop.alien.store.service;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import shop.alien.entity.result.R;
 import shop.alien.entity.store.LifeNotice;
 import shop.alien.entity.store.vo.LifeNoticeVo;
 
@@ -10,7 +11,7 @@ import java.util.List;
 
 public interface LifeNoticeService extends IService<LifeNotice> {
 
-    List<LifeNoticeVo> getNoticeList(String receiverId, int noticeType);
+    R<IPage<LifeNoticeVo>> getNoticeList(int pageNum, int pageSize, String receiverId, int noticeType);
 
     JSONObject getSystemAndOrderNoticeSum(String receiverId);
 

+ 19 - 0
alien-store/src/main/java/shop/alien/store/service/StoreMenuService.java

@@ -1,6 +1,8 @@
 package shop.alien.store.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
+import org.springframework.web.bind.annotation.RequestParam;
+import shop.alien.entity.result.R;
 import shop.alien.entity.store.StoreMenu;
 import shop.alien.entity.store.vo.StoreMenuVo;
 
@@ -32,5 +34,22 @@ public interface StoreMenuService extends IService<StoreMenu> {
      */
     StoreMenuVo getMenuInfo(Integer id);
 
+    /**
+     * 新增或修改门店菜单
+     *
+     */
+    R<String> saveOrUpdateMenu(StoreMenu storeMenu);
+
+    /**
+     *
+     * 菜品排序
+     */
+    Boolean getSortMenuInfo(StoreMenuVo storeMenuVo);
+
+    /**
+     *
+     * 删除门店菜单
+     */
+    Boolean deleteMenu(List<Integer> ids, int dishType);
 }
 

+ 1 - 1
alien-store/src/main/java/shop/alien/store/service/StoreUserService.java

@@ -62,7 +62,7 @@ public interface StoreUserService extends IService<StoreUser> {
      * @param type 类型
      * @return boolean
      */
-    boolean forgetOrModifyPassword(String phone, String newPhone, String oldPassword, String newPassword,String confirmNewPassword,String verificationCode,  Integer type);
+    R<String> forgetOrModifyPassword(String phone, String newPhone, String oldPassword, String newPassword,String confirmNewPassword,String verificationCode,  Integer type);
 
     /**
      * 更换绑定手机号 效验原手机密码或者验证码

+ 16 - 12
alien-store/src/main/java/shop/alien/store/service/impl/LifeNoticeServiceImpl.java

@@ -10,9 +10,9 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import org.springframework.beans.BeanUtils;
 import org.springframework.stereotype.Service;
+import shop.alien.entity.result.R;
 import shop.alien.entity.store.LifeNotice;
-import shop.alien.entity.store.vo.LifeMessageVo;
-import shop.alien.entity.store.vo.LifeNoticeVo;
+import shop.alien.entity.store.vo.*;
 import shop.alien.mapper.LifeMessageMapper;
 import shop.alien.mapper.LifeNoticeMapper;
 import shop.alien.store.service.LifeNoticeService;
@@ -31,13 +31,14 @@ public class LifeNoticeServiceImpl extends ServiceImpl<LifeNoticeMapper, LifeNot
     private final LifeMessageMapper lifeMessageMapper;
 
     @Override
-    public List<LifeNoticeVo> getNoticeList(String receiverId, int noticeType) {
-//        IPage<LifeNotice> ipage = new Page<>(page, size);
+    public R<IPage<LifeNoticeVo>> getNoticeList(int pageNum, int pageSize, String receiverId, int noticeType) {
+        IPage<LifeNotice> ipage = new Page<>(pageNum, pageSize);
         LambdaQueryWrapper<LifeNotice> queryWrapper = new LambdaQueryWrapper<>();
         queryWrapper.eq(LifeNotice::getReceiverId, receiverId);
         queryWrapper.eq(LifeNotice::getNoticeType, noticeType);
         queryWrapper.eq(LifeNotice::getDeleteFlag, 0);
         List<LifeNotice> lifeNoticeList = lifeNoticeMapper.selectList(queryWrapper);
+//        IPage<LifeNotice> lifeNoticeList = lifeNoticeMapper.selectPage(ipage, queryWrapper);
 
         List<String> senderIdList = new ArrayList<>();
         if (CollectionUtil.isNotEmpty(lifeNoticeList)) {
@@ -66,14 +67,17 @@ public class LifeNoticeServiceImpl extends ServiceImpl<LifeNoticeMapper, LifeNot
             });
         }
 
-//        IPage<LifeNoticeVo> result = new Page<>();
-//        result.setRecords(noticeVoList);
-//        result.setCurrent(lifeNoticeList.getCurrent());
-//        result.setSize(lifeNoticeList.getSize());
-//        result.setTotal(lifeNoticeList.getTotal());
-//        result.setPages(lifeNoticeList.getPages());
-
-        return noticeVoList;
+        List<LifeNoticeVo> pageList = noticeVoList.stream()
+                .skip((pageNum - 1) * pageSize)
+                .limit(pageSize)
+                .collect(Collectors.toList());
+
+        IPage<LifeNoticeVo> result = new Page<>();
+        result.setRecords(pageList);
+        result.setTotal(noticeVoList.size());
+        result.setPages((int) Math.ceil(noticeVoList.size() / (double) pageSize));
+        result.setSize(pageSize);
+        return R.data(result);
     }
 
     @Override

+ 82 - 0
alien-store/src/main/java/shop/alien/store/service/impl/StoreMenuServiceImpl.java

@@ -1,10 +1,13 @@
 package shop.alien.store.service.impl;
 
+import cn.hutool.core.collection.CollectionUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import lombok.RequiredArgsConstructor;
 import org.springframework.stereotype.Service;
+import shop.alien.entity.result.R;
 import shop.alien.entity.store.LifeLikeRecord;
 import shop.alien.entity.store.StoreMenu;
 import shop.alien.entity.store.vo.StoreMenuVo;
@@ -70,4 +73,83 @@ public class StoreMenuServiceImpl extends ServiceImpl<StoreMenuMapper, StoreMenu
     public StoreMenuVo getMenuInfo(Integer id) {
         return storeMenuMapper.getMenuInfo(id);
     }
+
+    /**
+     * 新增或修改门店菜品
+     * @param storeMenu
+     * @return
+     */
+    @Override
+    public R<String> saveOrUpdateMenu(StoreMenu storeMenu) {
+        boolean flag = false;
+        LambdaQueryWrapper<StoreMenu> storeMenuLambdaQueryWrapper = new LambdaQueryWrapper<>();
+        //修改菜品
+        if(storeMenu.getId()!=null){
+            flag = this.updateById(storeMenu);
+            if(!flag){
+                log.error("菜单修改失败");
+                return R.fail("菜单修改失败");
+            }
+        }else{//新增菜品
+           if(StringUtils.isEmpty(storeMenu.getDishName())){
+               return R.fail("请输入菜品名称");
+           }
+           storeMenuLambdaQueryWrapper.eq(StoreMenu::getStoreId,storeMenu.getStoreId());
+           List<StoreMenu> menuList = this.list(storeMenuLambdaQueryWrapper);
+           if(CollectionUtil.isNotEmpty(menuList)){
+              int maxSort = menuList.stream().map(StoreMenu::getSort).reduce(Integer::max).get();
+               storeMenu.setSort(maxSort+1);
+           }else{
+               storeMenu.setSort(1);
+           }
+            //保存菜品
+            flag = this.save(storeMenu);
+           if(!flag){
+               return R.fail("菜单修改失败");
+           }
+        }
+        return R.success("新增菜品成功");
+    }
+
+    /**
+     * 菜品排序信息
+     * @param storeMenuVo
+     * @return
+     */
+    @Override
+    public Boolean getSortMenuInfo(StoreMenuVo storeMenuVo) {
+        boolean flag = false;
+        if(CollectionUtil.isNotEmpty(storeMenuVo.getSortList())){
+            for(int i = 0; i<storeMenuVo.getSortList().size(); i++ ){
+                LambdaQueryWrapper<StoreMenu> lambdaQueryWrapper = new LambdaQueryWrapper();
+                lambdaQueryWrapper.eq(StoreMenu::getId,storeMenuVo.getId());
+                StoreMenu storeMenu = this.getOne(lambdaQueryWrapper);
+                storeMenu.setSort(i+1);
+                flag = this.updateById(storeMenu);
+            }
+        }
+        return flag;
+    }
+
+    /**
+     * 删除菜品或推荐菜 根据类型区分
+     * @param ids
+     * @param dishType 0:菜品 1:推荐菜
+     * @return
+     */
+    @Override
+    public Boolean deleteMenu(List<Integer> ids, int dishType) {
+        QueryWrapper<StoreMenu> queryWrapperMenu = new QueryWrapper<>();
+        boolean flag = false;
+        if(dishType == 0){
+            flag = this.removeByIds(ids);
+        }else{
+            queryWrapperMenu.in("id",ids);
+            StoreMenu storeMenu = new StoreMenu();
+            storeMenu.setDishType(0);
+            queryWrapperMenu.setEntity(storeMenu);
+            flag = this.update(storeMenu,queryWrapperMenu);
+        }
+        return flag;
+    }
 }

+ 64 - 53
alien-store/src/main/java/shop/alien/store/service/impl/StoreUserServiceImpl.java

@@ -197,54 +197,58 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
     }
 
     @Override
-    public boolean forgetOrModifyPassword(String phone, String newPhone, String oldPassword, String newPassword, String confirmNewPassword, String verificationCode, Integer type) {
+    public R<String> forgetOrModifyPassword(String phone, String newPhone, String oldPassword, String newPassword, String confirmNewPassword, String verificationCode, Integer type) {
         boolean flag = false;
-        //类型为0 忘记密码
-        if (type == 0) {
-            flag = forgetPassword(phone, newPassword, verificationCode);
-        }
-        //修改密码
-        else if (type == 1) {
-            //效验新密码规则
-            passwordVerification(phone, oldPassword, newPassword, confirmNewPassword);
-            LambdaUpdateWrapper<StoreUser> updateWrapper = new LambdaUpdateWrapper<>();
-            updateWrapper.eq(StoreUser::getPhone, phone);
-            updateWrapper.set(StoreUser::getPassword, newPassword);
-            flag = this.update(updateWrapper);
-
-            //修改成功后同步删除redis缓存token
-            if (flag) {
-                String token = "store_" + phone;
-                String toKenStr = baseRedisService.getString(token);
-                if (toKenStr != null) {
-                    baseRedisService.delete(token);
+        try{
+            //类型为0 忘记密码
+            if (type == 0) {
+               return forgetPassword(phone, newPassword, verificationCode);
+            }
+            //修改密码
+            else if (type == 1) {
+                //效验新密码规则
+                passwordVerification(phone, oldPassword, newPassword, confirmNewPassword);
+                LambdaUpdateWrapper<StoreUser> updateWrapper = new LambdaUpdateWrapper<>();
+                updateWrapper.eq(StoreUser::getPhone, phone);
+                updateWrapper.set(StoreUser::getPassword, newPassword);
+                flag = this.update(updateWrapper);
+
+                //修改成功后同步删除redis缓存token
+                if (flag) {
+                    String token = "store_" + phone;
+                    String toKenStr = baseRedisService.getString(token);
+                    if (toKenStr != null) {
+                        baseRedisService.delete(token);
+                    }
+                    return R.success("密码修改成");
+                } else {
+                    log.error("密码修改失败");
+                    return R.fail("密码修改失败");
                 }
-            } else {
-                log.error("密码修改失败");
-                throw new RuntimeException("密码修改失败");
             }
-            return flag;
-        }
-        //更换绑定手机号
-        else if (type == 2) {
-            flag = ChangeBoundPhone(phone, newPhone, verificationCode);
+            //更换绑定手机号
+            else if (type == 2) {
+               return ChangeBoundPhone(phone, newPhone, verificationCode);
+            }
+            return R.success("密码修改成功");
+        } catch (Exception e) {
+            return R.fail(e.getMessage());
         }
-        return flag;
     }
 
     @Override
     public Map<String, String> changePhoneVerification(String phone, String oldPassword, String verificationCode) {
         Map<String, String> changePhoneMap = new HashMap<>();
 
-        if (oldPassword != null || !oldPassword.equals("")) {
+        if (oldPassword != null && !oldPassword.equals("")) {
             LambdaUpdateWrapper<StoreUser> userLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
             userLambdaUpdateWrapper.eq(StoreUser::getPhone, phone);
             StoreUser storeUser = this.getOne(userLambdaUpdateWrapper);
             if (storeUser.getPassword().equals(oldPassword)) {
-                changePhoneMap.put("passwordStatus", "0");
+                changePhoneMap.put("passwordStatus", "1");
                 return changePhoneMap;
             } else {
-                changePhoneMap.put("passwordStatus", "1");
+                changePhoneMap.put("passwordStatus", "0");
                 return changePhoneMap;
             }
         } else {
@@ -252,10 +256,10 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
             //获取新手机号验证码
             String redisVerificationCode = baseRedisService.getString(oldPhoneVerification);
             if (redisVerificationCode.equals(verificationCode)) {
-                changePhoneMap.put("verificationStatus", "0");
+                changePhoneMap.put("verificationStatus", "1");
                 return changePhoneMap;
             } else {
-                changePhoneMap.put("verificationStatus", "1");
+                changePhoneMap.put("verificationStatus", "0");
                 return changePhoneMap;
             }
         }
@@ -265,6 +269,10 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
         LambdaUpdateWrapper<StoreUser> wrapperFans = new LambdaUpdateWrapper<>();
         wrapperFans.eq(StoreUser::getPhone, phone);
         StoreUser storeUser = this.getOne(wrapperFans);
+        if (!newPassword.equals(confirmNewPassword)) {
+            log.info("两次新密码输入不一致 请重新输入");
+            throw new RuntimeException("两次新密码输入不一致 请重新输入");
+        }
         if (storeUser == null || storeUser.equals("")) {
             log.info("该手机号没有注册过账户");
             throw new RuntimeException("该手机号没有注册过账户");
@@ -276,13 +284,9 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
                 throw new RuntimeException("密码输入错误 请重新输入");
             }
         }
-        if (!newPassword.equals(confirmNewPassword)) {
-            log.info("两次新密码输入不一致 请重新输入");
-            throw new RuntimeException("两次新密码输入不一致 请重新输入");
-        }
     }
 
-    private boolean forgetPassword(String phone, String newPassword, String verificationCode) {
+    private R<String> forgetPassword(String phone, String newPassword, String verificationCode) {
         boolean flag = false;
         String key = "verification_" + phone;
         String redisVerificationCode = baseRedisService.getString(key);
@@ -303,25 +307,32 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
                 log.error("密码修改失败");
                 throw new RuntimeException("密码修改失败");
             }
-            return flag;
+            return R.success("密码修改成功");
         } else {
             throw new RuntimeException("验证码错误");
         }
     }
 
-    private boolean ChangeBoundPhone(String phone, String newPhone, String verificationCode) {
+    private R<String> ChangeBoundPhone(String phone, String newPhone, String verificationCode) {
         boolean flag = false;
         String newPhoneVerification = "verification_" + newPhone;
         //获取新手机号验证码
         String redisVerificationCode = baseRedisService.getString(newPhoneVerification);
-        if(!StringUtils.isEmpty(redisVerificationCode) && redisVerificationCode.equals(verificationCode)){
-            LambdaUpdateWrapper<StoreUser> updateWrapper = new LambdaUpdateWrapper<>();
-            updateWrapper.eq(StoreUser::getPhone, phone);
-            StoreUser storeUser = this.getOne(updateWrapper);
-            if(storeUser !=null){
+        if (!StringUtils.isEmpty(redisVerificationCode) && redisVerificationCode.equals(verificationCode)) {
+            LambdaUpdateWrapper<StoreUser> newUpdateWrapper = new LambdaUpdateWrapper<>();
+            newUpdateWrapper.eq(StoreUser::getPhone, newPhone);
+            StoreUser newStoreUser = this.getOne(newUpdateWrapper);
+            if (newStoreUser != null) {
+                if(newStoreUser.getPhone().equals(newPhone)){
+                    throw new RuntimeException("该手机号已注册过商户");
+                }
+            }else{
+                LambdaUpdateWrapper<StoreUser> updateWrapper = new LambdaUpdateWrapper<>();
+                updateWrapper.eq(StoreUser::getPhone, phone);
+                StoreUser storeUser = this.getOne(updateWrapper);
                 storeUser.setPhone(newPhone);
                 flag = this.updateById(storeUser);
-                if(flag){
+                if (flag) {
                     String token = "store_" + phone;
                     String tokenStr = baseRedisService.getString(token);
                     if (tokenStr != null) {
@@ -329,10 +340,10 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
                     }
                 }
             }
-        }else{
+        } else {
             throw new RuntimeException("验证码错误");
         }
-        return flag;
+        return R.success("新手机号绑定成功");
     }
 
     /**
@@ -576,9 +587,9 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
             if (null != storeUser.getStoreId()) {
                 StoreInfo storeInfo = storeInfoMapper.selectById(storeUser.getStoreId());
                 //vaule为0代表有商铺未注销
-                storeMap.put("accountStore", "0");
+                storeMap.put("accountStore", "1");
             } else {
-                //vaule为1代表绑定店铺注销
+                //vaule为1代表绑定店铺注销
                 storeMap.put("accountStore", "1");
             }
             if (storeUser.getMoney() != null && storeUser.getMoney() > 0) {
@@ -661,7 +672,7 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
                 if (num > 0) {
                     // 发送通知
                     LifeNotice lifeMessage = new LifeNotice();
-                    lifeMessage.setReceiverId("user_" + storeUser.getPhone());
+                    lifeMessage.setReceiverId("store_" + storeUser.getPhone());
                     String text = "您提交的账号注销申请已成功提交, 系统将按流程进行处理. 注销申请提交后, 将进入7天的冷静期. 期间您可以随时在" +
                             "[账号信息]撤回申请. 冷静期结束后, 系统将正式开始注销操作. 账号内所有数据(包括但不限于个人信息、 资产等) 将被永久清除, 且无法恢复." +
                             "如有疑问, 可联系【客服】咨询. 感谢您使用我们的服务.";
@@ -699,7 +710,7 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
         if (num > 0) {
             // 发送通知
             LifeNotice lifeMessage = new LifeNotice();
-            lifeMessage.setReceiverId("user_" + storeUser.getPhone());
+            lifeMessage.setReceiverId("store_" + storeUser.getPhone());
             String text = "处理结果:已撤回注销申请" +
                     "处理时间:" + storeUser.getCreatedTime() +
                     "当前账号状态已恢复正常. 您可以继续使用该账号登录并享受各项服务, 所有个人数据及账户信息" +