diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxShopController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxShopController.java index 541f381f4..2a015b9b0 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxShopController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxShopController.java @@ -4,13 +4,11 @@ import com.github.pagehelper.PageInfo; import com.iformall.annotation.SystemControllerLog; import com.iformall.common.Result; import com.iformall.common.ResultData; -import com.iformall.domain.po.WxCUserBasicInfo; import com.iformall.domain.po.WxShop; import com.iformall.service.WxShopService; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; -import org.apache.commons.lang3.StringUtils; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; @@ -72,7 +70,8 @@ public class WxShopController extends BaseController { @ApiImplicitParam(name = "id", value = "id", dataType = "Long", paramType = "query", required = true) public ResultData delete(Long id) { logger.debug("[" + getIpAddr() + "] WxShopController::delete"); - wxShopService.deleteById(id); + Integer isAdmin = getUser().getIsAdmin(); + wxShopService.deleteById(id, isAdmin); return new ResultData(Result.SUCCESS, "删除成功", null); } diff --git a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java index 445e51a2d..a6449de99 100644 --- a/mallinkService/src/main/java/com/iformall/common/ErrorCode.java +++ b/mallinkService/src/main/java/com/iformall/common/ErrorCode.java @@ -329,9 +329,17 @@ public enum ErrorCode{ SHOP_IS_NOT_FOUND(22000,"商铺不存在"), SHOP_IS_RENT(22001,"商铺已出租"), SHOP_NOT_SELECTED(22002, "未选择商铺"), + SHOP_BAN_DELETED(22003, "已出租的商铺无法删除"), + SHOP_DELETED_BY_ADMIN(22004, "超管才能删除此商铺"), + + + /** + * 迈外迪 + */ WIWIDE_INFO_NOT_FOUND(23001,"迈外迪信息未找到"), WIWIDE_INFO_NOT_READY(23002,"迈外迪信息未就绪"), + /** * 审批流 */ diff --git a/mallinkService/src/main/java/com/iformall/service/WxShopService.java b/mallinkService/src/main/java/com/iformall/service/WxShopService.java index 105e59e1a..728097b45 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxShopService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxShopService.java @@ -40,8 +40,9 @@ public interface WxShopService { * 根据Id删除实体 * * @param id + * @param isAdmin */ - void deleteById(Long id); + void deleteById(Long id, Integer isAdmin); ResultData getbshoplist(String tenantId, String shopNumber); diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java index 3466c954c..969bbb883 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java @@ -1,13 +1,16 @@ package com.iformall.service.impl; -import java.io.*; -import java.util.*; import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageInfo; +import com.iformall.common.ErrorCode; +import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; +import com.iformall.domain.po.WxMerchantShop; import com.iformall.domain.po.WxShop; import com.iformall.enums.*; +import com.iformall.exception.MallinkException; +import com.iformall.mapper.WxMerchantShopMapper; import com.iformall.mapper.WxShopMapper; import com.iformall.service.WxShopService; import com.iformall.utils.Constant; @@ -21,9 +24,12 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.iformall.common.IdWorker; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import java.io.File; +import java.io.FileOutputStream; +import java.util.*; @Service public class WxShopServiceImpl implements WxShopService { @@ -32,6 +38,9 @@ public class WxShopServiceImpl implements WxShopService { @Autowired WxShopMapper wxShopMapper; + @Autowired + WxMerchantShopMapper wxMerchantShopMapper; + @Override public PageInfo listAsPage(WxShop record, Integer pageIndex, Integer pageSize) { return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxShopMapper.findList(record)); @@ -69,7 +78,20 @@ public class WxShopServiceImpl implements WxShopService { } @Override - public void deleteById(Long id) { + public void deleteById(Long id, Integer isAdmin) { + //1、已出租不让删除 + WxShop wxShop = wxShopMapper.selectByPrimaryKey(id); + if (wxShop.getStatus().equals(EnumShopStatus.RENT.getCode())) { + throw new MallinkException(ErrorCode.SHOP_BAN_DELETED); + } + //2、是否关联过商户 + WxMerchantShop wxMerchantShop = new WxMerchantShop(); + wxMerchantShop.setShopId(wxShop.getId()); + int count = wxMerchantShopMapper.selectCount(wxMerchantShop); + //有关联过商户必须是管理员才能删除 + if (count > 0 && !isAdmin.equals(EnumUserAdmin.ADMIN.getCode())) { + throw new MallinkException(ErrorCode.SHOP_DELETED_BY_ADMIN); + } wxShopMapper.deleteByPrimaryKey(id); }