Browse Source

店铺管理,账号管理bug修改

jyc 2 weeks ago
parent
commit
5af5085ecd

+ 4 - 0
alien-entity/src/main/java/shop/alien/entity/store/StoreUser.java

@@ -114,4 +114,8 @@ public class StoreUser extends Model<StoreUser> {
     @ApiModelProperty(value = "账号简介")
     @TableField("account_blurb")
     private String accountBlurb;
+
+    @ApiModelProperty(value = "头像")
+    @TableField("head_img")
+    private String headImg;
 }

+ 7 - 2
alien-store/src/main/java/shop/alien/store/controller/StoreInfoController.java

@@ -117,12 +117,17 @@ public class StoreInfoController {
     @PostMapping("/deleteStoreInfo")
     public R deleteStoreInfo(@RequestBody StoreInfoDto storeInfoDto) {
         log.info("StoreInfoController.deleteStoreInfo?storeInfoDto={}", storeInfoDto);
+        String s;
         try {
-            storeInfoService.deleteStoreInfo(storeInfoDto);
+            s = storeInfoService.deleteStoreInfo(storeInfoDto);
         } catch (Exception e) {
             return R.fail("失败");
         }
-        return R.success("成功");
+        if ("成功".equals(s)) {
+            return R.success(s);
+        }else {
+            return R.fail(s);
+        }
     }
 
     @ApiOperation("web端重置商户及管理账户密码")

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

@@ -117,12 +117,13 @@ public class StoreUserController {
             @ApiImplicitParam(name = "name", value = "姓名", dataType = "String", paramType = "query", required = true),
             @ApiImplicitParam(name = "idCard", value = "身份证", dataType = "String", paramType = "query", required = true),
             @ApiImplicitParam(name = "nickName", value = "昵称", dataType = "String", paramType = "query", required = true),
-            @ApiImplicitParam(name = "accountBlurb", value = "账号简介", dataType = "String", paramType = "query", required = true)})
+            @ApiImplicitParam(name = "accountBlurb", value = "账号简介", dataType = "String", paramType = "query", required = true),
+            @ApiImplicitParam(name = "headImg", value = "头像", dataType = "String", paramType = "query", required = false)})
 
     @GetMapping("/setUserInfo")
-    public R<Boolean> setUserInfo(Integer id, String name, String idCard, String nickName, String accountBlurb) {
-        log.info("StoreUserController.setUserInfo?id={}&name={}&idCard={}&nickName={}}&accountBlurb={}", id, name, idCard, nickName, accountBlurb);
-        if (storeUserService.setUserInfo(id, name, idCard, nickName, accountBlurb)) {
+    public R<Boolean> setUserInfo(Integer id, String name, String idCard, String nickName, String accountBlurb, String headImg) {
+        log.info("StoreUserController.setUserInfo?id={}&name={}&idCard={}&nickName={}}&accountBlurb={}&headImg={}", id, name, idCard, nickName, accountBlurb, headImg);
+        if (storeUserService.setUserInfo(id, name, idCard, nickName, accountBlurb, headImg)) {
             return R.success("修改成功");
         }
         return R.fail("修改失败");
@@ -280,8 +281,7 @@ public class StoreUserController {
     @DeleteMapping("/deleteStoreUser")
     public R<StoreUserVo> deleteStoreUser(@RequestParam(value = "id") String id) {
         log.info("StoreUserController.deleteStoreUser?id={}", id);
-        storeUserService.deleteStoreUser(id);
-        return R.success("删除成功");
+        return storeUserService.deleteStoreUser(id);
     }
 
     /**

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

@@ -126,7 +126,7 @@ public interface StoreInfoService extends IService<StoreInfo> {
      *
      * @return ResponseEntity
      */
-    void deleteStoreInfo(StoreInfoDto storeInfoDto);
+    String deleteStoreInfo(StoreInfoDto storeInfoDto);
 
     /**
      * web端删除门店及门店用户

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

@@ -71,7 +71,7 @@ public interface StoreUserService extends IService<StoreUser> {
      * @param idCard 身份证号
      * @return boolean
      */
-    boolean setUserInfo(Integer id, String name, String idCard, String nickName, String accountBlurb);
+    boolean setUserInfo(Integer id, String name, String idCard, String nickName, String accountBlurb, String headImg);
 
     /**
      * 修改支付密码
@@ -115,7 +115,7 @@ public interface StoreUserService extends IService<StoreUser> {
      *
      * @return boolean
      */
-    void deleteStoreUser(String id);
+    R<StoreUserVo> deleteStoreUser(String id);
 
     /**
      * web端切换商家端用户状态

+ 19 - 12
alien-store/src/main/java/shop/alien/store/service/impl/StoreInfoServiceImpl.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -691,19 +692,25 @@ public class StoreInfoServiceImpl extends ServiceImpl<StoreInfoMapper, StoreInfo
     }
 
     @Override
-    public void deleteStoreInfo(StoreInfoDto storeInfoDto) {
-        //判断是否修改变更过的用户账户
-        StoreUser storeUser = storeUserMapper
-                .selectOne(new LambdaQueryWrapper<StoreUser>().eq(StoreUser::getStoreId, storeInfoDto.getId()));
-        if (storeUser != null) {
-            LambdaUpdateWrapper<StoreUser> storeUserLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
-            storeUserLambdaUpdateWrapper.set(StoreUser::getStoreId, null)
-                    .eq(StoreUser::getId, storeUser.getId());
-            storeUserMapper.update(null, storeUserLambdaUpdateWrapper);
+    public String deleteStoreInfo(StoreInfoDto storeInfoDto) {
+        //判断是否有未完成的订单
+        List<LifeUserOrder> lifeUserOrders = lifeUserOrderMapper.selectList(new LambdaQueryWrapper<LifeUserOrder>().in(LifeUserOrder::getStatus, 0, 3));
+        if (ObjectUtils.isNotEmpty(lifeUserOrders)) {
+            return "您有暂未完成的订单无法删除店铺,请在完成后删除";
+        }else {
+            //判断是否修改变更过的用户账户
+            StoreUser storeUser = storeUserMapper
+                    .selectOne(new LambdaQueryWrapper<StoreUser>().eq(StoreUser::getStoreId, storeInfoDto.getId()));
+            if (storeUser != null) {
+                LambdaUpdateWrapper<StoreUser> storeUserLambdaUpdateWrapper = new LambdaUpdateWrapper<>();
+                storeUserLambdaUpdateWrapper.set(StoreUser::getStoreId, null)
+                        .eq(StoreUser::getId, storeUser.getId());
+                storeUserMapper.update(null, storeUserLambdaUpdateWrapper);
+            }
+            //删除商铺信息
+            storeInfoMapper.deleteById(storeInfoDto.getId());
+            return "成功";
         }
-        //删除商铺信息
-        storeInfoMapper.deleteById(storeInfoDto.getId());
-
     }
 
     @Override

+ 19 - 2
alien-store/src/main/java/shop/alien/store/service/impl/StoreUserServiceImpl.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.support.SFunction;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -294,13 +295,16 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
      * @return boolean
      */
     @Override
-    public boolean setUserInfo(Integer id, String name, String idCard, String nickName, String accountBlurb) {
+    public boolean setUserInfo(Integer id, String name, String idCard, String nickName, String accountBlurb, String headImg) {
         StoreUser storeUser = new StoreUser();
         storeUser.setId(id);
         storeUser.setName(name);
         storeUser.setIdCard(idCard);
         storeUser.setNickName(nickName);
         storeUser.setAccountBlurb(accountBlurb);
+        if (StringUtils.isNotEmpty(headImg)) {
+            storeUser.setHeadImg(headImg);
+        }
         return this.updateById(storeUser);
     }
 
@@ -373,10 +377,19 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
     }
 
     @Override
-    public void deleteStoreUser(String id) {
+    public R<StoreUserVo> deleteStoreUser(String id) {
         StoreUser storeUser = storeUserMapper.selectById(id);
         String phone = storeUser.getPhone();
         Integer storeId = storeUser.getStoreId();
+
+        // 判断该账号是否关联店铺
+        if (ObjectUtils.isNotEmpty(storeId)) {
+            List<StoreInfo> storeInfos = storeInfoMapper.selectList(new LambdaQueryWrapper<StoreInfo>().eq(StoreInfo::getId, storeId).eq(StoreInfo::getDeleteFlag, 0).eq(StoreInfo::getLogoutFlag, 0));
+            if (ObjectUtils.isNotEmpty(storeInfos)) {
+                return R.fail("请删除店铺后再删除账号");
+            }
+        }
+
         storeUserMapper.deleteById(id);
         //删除用户redis中的token
         baseRedisService.delete("store_" + storeUser.getPhone());
@@ -394,6 +407,8 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
         lifeMessageMapper.delete(new LambdaQueryWrapper<LifeMessage>().eq(LifeMessage::getSenderId, "store_" + phone));
         //删除该账号的接受消息信息
         lifeMessageMapper.delete(new LambdaQueryWrapper<LifeMessage>().eq(LifeMessage::getReceiverId, "store_" + phone));
+
+        return R.success("删除成功");
     }
 
     @Override
@@ -554,6 +569,8 @@ public class StoreUserServiceImpl extends ServiceImpl<StoreUserMapper, StoreUser
             storeUser.setLogoutReason(storeUserVo.getLogoutReason());
             // 添加注销申请时间
             storeUser.setLogoutTime(new Date());
+            // 注销中状态
+            storeUser.setStatus(-1);
             storeUserMapper.updateById(storeUser);
         }
     }