|
|
|
@@ -11,12 +11,10 @@ import com.simple.service.WxMerchantService; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
import sun.util.resources.CalendarData; |
|
|
|
|
|
|
|
import java.math.BigDecimal; |
|
|
|
import java.util.ArrayList; |
|
|
|
import java.util.Date; |
|
|
|
import java.util.List; |
|
|
|
import java.util.Map; |
|
|
|
import java.util.*; |
|
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
@Service |
|
|
|
@@ -75,6 +73,15 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
|
wxMerchantShop.setIsDel(0); |
|
|
|
List<WxShop> shops = new ArrayList<>(); |
|
|
|
|
|
|
|
WxRentContract wxRentContract = new WxRentContract(); |
|
|
|
wxRentContract.setMerchantId(id); |
|
|
|
List<WxRentContract> list = wxRentContractMapper.findList(wxRentContract); |
|
|
|
if(list.size()>0){ |
|
|
|
wxRentContract=list.get(0); |
|
|
|
wxMerchant.setPrice(wxRentContract.getPrice()); |
|
|
|
wxMerchant.setReceivePeriod(wxRentContract.getReceivePeriod()); |
|
|
|
} |
|
|
|
|
|
|
|
List<WxMerchantShop> wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShop); |
|
|
|
for(WxMerchantShop merchantShop:wxMerchantShopList){ |
|
|
|
wxMerchant.setRentalStartDate(merchantShop.getRentalStartDate()); |
|
|
|
@@ -127,16 +134,24 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
|
wxMerchant.setCreateDate(date); |
|
|
|
wxMerchantMapper.insertSelective(wxMerchant); |
|
|
|
|
|
|
|
|
|
|
|
WxShop wxShopP = new WxShop(); |
|
|
|
wxShopP.setId(wxMerchant.getShopids().get(0)); |
|
|
|
wxShopP = WxShopMapper.findList(wxShopP).get(0); |
|
|
|
|
|
|
|
WxRentContract wxRentContract = new WxRentContract(); |
|
|
|
wxRentContract.setMerchantId(merchantid); |
|
|
|
wxRentContract.setRentalStartDate(wxMerchant.getRentalStartDate()); |
|
|
|
wxRentContract.setRentalEndDate(wxMerchant.getRentalEndDate()); |
|
|
|
wxRentContract.setPrice(wxMerchant.getPrice()); |
|
|
|
wxRentContract.setSignDate(date); |
|
|
|
wxRentContract.setPayArea(new BigDecimal(0)); |
|
|
|
wxRentContract.setReceivePeriod(0); |
|
|
|
|
|
|
|
wxRentContract.setPayArea(new BigDecimal(wxShopP.getOperationArea())); |
|
|
|
wxRentContract.setReceivePeriod(wxMerchant.getReceivePeriod()); |
|
|
|
wxRentContractMapper.insertSelective(wxRentContract); |
|
|
|
|
|
|
|
buildRent(wxRentContract); |
|
|
|
|
|
|
|
//保存商户商铺的关联 |
|
|
|
List<Long> shopidlist = wxMerchant.getShopids(); |
|
|
|
for(Long shopid:shopidlist){ |
|
|
|
@@ -185,13 +200,17 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
|
wxMerchant.setUpdateDate(date); |
|
|
|
wxMerchantMapper.updateByPrimaryKeySelective(wxMerchant); |
|
|
|
|
|
|
|
WxShop wxShopP = new WxShop(); |
|
|
|
wxShopP.setId(wxMerchant.getShopids().get(0)); |
|
|
|
wxShopP = WxShopMapper.findList(wxShopP).get(0); |
|
|
|
|
|
|
|
WxRentContract wxRentContract = wxRentContractMapper.findObjectByMerchantId(wxMerchant.getId()); |
|
|
|
wxRentContract.setRentalStartDate(wxMerchant.getRentalStartDate()); |
|
|
|
wxRentContract.setRentalEndDate(wxMerchant.getRentalEndDate()); |
|
|
|
wxRentContract.setPrice(wxMerchant.getPrice()); |
|
|
|
wxRentContract.setSignDate(date); |
|
|
|
wxRentContract.setPayArea(new BigDecimal(0)); |
|
|
|
wxRentContract.setReceivePeriod(0); |
|
|
|
wxRentContract.setPayArea(new BigDecimal(wxShopP.getOperationArea())); |
|
|
|
wxRentContract.setReceivePeriod(wxMerchant.getReceivePeriod()); |
|
|
|
wxRentContractMapper.updateByPrimaryKeySelective(wxRentContract); |
|
|
|
|
|
|
|
//删除当前商户关联的所有商铺然后再插入 |
|
|
|
@@ -278,5 +297,31 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
private void buildRent(WxRentContract wxRentContract) { |
|
|
|
|
|
|
|
Date rentalStartDate = wxRentContract.getRentalStartDate(); |
|
|
|
Date rentalEndDate = wxRentContract.getRentalEndDate(); |
|
|
|
Integer receivePeriod = wxRentContract.getReceivePeriod(); |
|
|
|
|
|
|
|
int paycount = 12 / receivePeriod.intValue(); |
|
|
|
|
|
|
|
if(paycount==1){//12 |
|
|
|
Calendar instance = Calendar.getInstance(); |
|
|
|
instance.setTime(rentalStartDate); |
|
|
|
instance.set(Calendar.MONTH,1); |
|
|
|
} |
|
|
|
if(paycount==2){//6 |
|
|
|
|
|
|
|
} |
|
|
|
if(paycount==4){//3 |
|
|
|
|
|
|
|
} |
|
|
|
if(paycount==12){//1 |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |