Просмотр исходного кода

[BUG][ID1001638][云端 version:.1259.1735:如果有存在的合同在删除商铺时需要进行限制]

release_toaliyun_real
gongbiao 7 лет назад
Родитель
Сommit
5f03bc4afa
3 измененных файлов: 32 добавлений и 2 удалений
  1. +1
    -1
      mallinkService/src/main/java/com/iformall/common/ErrorCode.java
  2. +28
    -0
      mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java
  3. +3
    -1
      mallinkService/src/main/resources/mapper/WxRentContractMapper.xml

+ 1
- 1
mallinkService/src/main/java/com/iformall/common/ErrorCode.java Просмотреть файл

@@ -361,7 +361,7 @@ public enum ErrorCode{
SHOP_NOT_SELECTED(22002, "未选择商铺"),
SHOP_BAN_DELETED(22003, "已出租的商铺无法删除"),
SHOP_DELETED_BY_ADMIN(22004, "仅系统管理员能删除该商铺"),
SHOP_CONTRACT_HAS_CONNECT(22005, "有合同签约此商铺,请先解除相应的合同再删除"),

/**
* 迈外迪


+ 28
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java Просмотреть файл

@@ -7,11 +7,13 @@ 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.WxRentContract;
import com.iformall.domain.po.WxShop;
import com.iformall.domain.vo.WxNotRentShopVo;
import com.iformall.domain.vo.WxShopVo;
import com.iformall.enums.*;
import com.iformall.mapper.WxMerchantShopMapper;
import com.iformall.mapper.WxRentContractMapper;
import com.iformall.mapper.WxShopMapper;
import com.iformall.service.ExcelService;
import com.iformall.service.WxShopService;
@@ -20,6 +22,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.util.*;
@@ -37,6 +40,9 @@ public class WxShopServiceImpl implements WxShopService {
@Autowired
ExcelService excelService;

@Autowired
WxRentContractMapper wxRentContractMapper;

@Override
public PageInfo<WxShop> listAsPage(WxShop record, Integer pageIndex, Integer pageSize) {
return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxShopMapper.findList(record));
@@ -99,6 +105,28 @@ public class WxShopServiceImpl implements WxShopService {
WxMerchantShop wxMerchantShop = new WxMerchantShop();
wxMerchantShop.setShopId(wxShop.getId());
List<WxMerchantShop> wxMerchantShops = wxMerchantShopMapper.select(wxMerchantShop);

if (isAdmin.equals(EnumUserAdmin.ADMIN.getCode())) {
//3、合同 两种 都要查一下 存在时不能删除
WxRentContract wxRentContract = new WxRentContract();
wxRentContract.setShopId(wxShop.getId());
wxRentContract.setTenantId(wxShop.getTenantId());
long count = 0;
if (wxShop.getType().equals(EnumRentShopType.SHOP.getCode())) {
count = wxRentContractMapper.selectRentContractByShopId(wxRentContract).parallelStream()
.filter(r -> !r.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) &&
!r.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) &&
!r.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count();
} else {
count = wxRentContractMapper.select(wxRentContract).parallelStream()
.filter(r -> !r.getStatus().equals(EnumRentContractStatus.SIGNED_RENT_UNPAID.getCode()) &&
!r.getStatus().equals(EnumRentContractStatus.RENT_PAID.getCode()) &&
!r.getStatus().equals(EnumRentContractStatus.CONTRACT_END_SOON.getCode())).count();
}
if (count > 0) {
return new ResultData(ErrorCode.SHOP_CONTRACT_HAS_CONNECT);
}
}
//有关联过商户必须是管理员才能删除
int count = wxMerchantShops.size();
if (count > 0) {


+ 3
- 1
mallinkService/src/main/resources/mapper/WxRentContractMapper.xml Просмотреть файл

@@ -243,7 +243,9 @@
<select id="selectRentContractByShopId" parameterType="com.iformall.domain.po.WxRentContract"
resultType="com.iformall.domain.po.WxRentContract">
select * from wx_rent_contract where tenant_id=#{tenantId} and json_contains(json_extract(rent_info,'$[*].shopId'),concat('"',${shopId},'"')) and status=#{status} and rent_shop_type =1
select * from wx_rent_contract where tenant_id=#{tenantId} and
json_contains(json_extract(rent_info,'$[*].shopId'),concat('"',${shopId},'"')) and rent_shop_type =1
<if test=" null != status ">and status=#{status}</if>
</select>
<update id="updateInvalidContract" parameterType="com.iformall.domain.po.WxRentContract">


Загрузка…
Отмена
Сохранить