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

[商户商铺][修改]业务修改

release_toaliyun_real
gongbiao 7 лет назад
Родитель
Сommit
e1fe9ec423
4 измененных файлов: 69 добавлений и 11 удалений
  1. +13
    -0
      mallinkService/src/main/java/com/simple/domain/po/WxMerchant.java
  2. +53
    -8
      mallinkService/src/main/java/com/simple/service/impl/WxMerchantServiceImpl.java
  3. +1
    -1
      mallinkService/src/main/resources/mapper/WxRentContractMapper.xml
  4. +2
    -2
      mallinkService/src/main/resources/mapper/WxShopMapper.xml

+ 13
- 0
mallinkService/src/main/java/com/simple/domain/po/WxMerchant.java Просмотреть файл

@@ -61,6 +61,10 @@ public class WxMerchant implements Serializable {
@Transient
private BigDecimal price;

/*单价**/
@Transient
private Integer receivePeriod;

/*租户ID**/
@io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId")
private String tenantId;
@@ -215,6 +219,15 @@ public class WxMerchant implements Serializable {
this.price = price;
}


public Integer getReceivePeriod() {
return receivePeriod;
}

public void setReceivePeriod(Integer receivePeriod) {
this.receivePeriod = receivePeriod;
}

public static enum Field
{
Id_ASC("`id` ASC"),Id_DESC("`id` DESC")


+ 53
- 8
mallinkService/src/main/java/com/simple/service/impl/WxMerchantServiceImpl.java Просмотреть файл

@@ -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

}


}


}

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

@@ -13,7 +13,7 @@
</resultMap>
<sql id="allColumns">
`id`,`merchant_id`,`price`,`rental_start_date`,`rental_end_date`,`sign_date`,`pay_area`,`receive_pay`
`id`,`merchant_id`,`price`,`rental_start_date`,`rental_end_date`,`sign_date`,`pay_area`,`receive_period`
</sql>

<sql id="dynamicWhereConditions">


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

@@ -128,8 +128,8 @@
select s.id,s.shop_number shopNumber,s.build_area buildArea,
s.img_url imgUrl,s.operation_area operationArea,
s.status,b.building_name building,f.floor_name floor,m.`name` merchantName
from wx_shop s inner join wx_merchant_shop ms on ms.shop_id=s.id and ms.is_del=0
inner join wx_merchant m on ms.merchant_id=m.id
from wx_shop s left join wx_merchant_shop ms on ms.shop_id=s.id and ms.is_del=0
left join wx_merchant m on ms.merchant_id=m.id
left join wx_mall_building b
on s.building=b.id
left join wx_mall_floor f on s.floor=f.id


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