Quellcode durchsuchen

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

release_toaliyun_real
gongbiao vor 7 Jahren
Ursprung
Commit
5f03bc4afa
3 geänderte Dateien mit 32 neuen und 2 gelöschten Zeilen
  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 Datei anzeigen

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


/** /**
* 迈外迪 * 迈外迪


+ 28
- 0
mallinkService/src/main/java/com/iformall/service/impl/WxShopServiceImpl.java Datei anzeigen

@@ -7,11 +7,13 @@ import com.iformall.common.IdWorker;
import com.iformall.common.Result; import com.iformall.common.Result;
import com.iformall.common.ResultData; import com.iformall.common.ResultData;
import com.iformall.domain.po.WxMerchantShop; import com.iformall.domain.po.WxMerchantShop;
import com.iformall.domain.po.WxRentContract;
import com.iformall.domain.po.WxShop; import com.iformall.domain.po.WxShop;
import com.iformall.domain.vo.WxNotRentShopVo; import com.iformall.domain.vo.WxNotRentShopVo;
import com.iformall.domain.vo.WxShopVo; import com.iformall.domain.vo.WxShopVo;
import com.iformall.enums.*; import com.iformall.enums.*;
import com.iformall.mapper.WxMerchantShopMapper; import com.iformall.mapper.WxMerchantShopMapper;
import com.iformall.mapper.WxRentContractMapper;
import com.iformall.mapper.WxShopMapper; import com.iformall.mapper.WxShopMapper;
import com.iformall.service.ExcelService; import com.iformall.service.ExcelService;
import com.iformall.service.WxShopService; import com.iformall.service.WxShopService;
@@ -20,6 +22,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;

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


@Autowired
WxRentContractMapper wxRentContractMapper;

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


+ 3
- 1
mallinkService/src/main/resources/mapper/WxRentContractMapper.xml Datei anzeigen

@@ -243,7 +243,9 @@
<select id="selectRentContractByShopId" parameterType="com.iformall.domain.po.WxRentContract" <select id="selectRentContractByShopId" parameterType="com.iformall.domain.po.WxRentContract"
resultType="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> </select>
<update id="updateInvalidContract" parameterType="com.iformall.domain.po.WxRentContract"> <update id="updateInvalidContract" parameterType="com.iformall.domain.po.WxRentContract">


Laden…
Abbrechen
Speichern