|
|
@@ -2,23 +2,23 @@ package com.iformall.service.impl; |
|
|
|
|
|
|
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.github.pagehelper.PageHelper; |
|
|
import com.github.pagehelper.PageInfo; |
|
|
import com.github.pagehelper.PageInfo; |
|
|
|
|
|
import com.iformall.common.ErrorCode; |
|
|
import com.iformall.common.IdWorker; |
|
|
import com.iformall.common.IdWorker; |
|
|
import com.iformall.domain.po.*; |
|
|
import com.iformall.domain.po.*; |
|
|
import com.iformall.enums.*; |
|
|
import com.iformall.enums.*; |
|
|
|
|
|
import com.iformall.exception.MallinkException; |
|
|
import com.iformall.mapper.*; |
|
|
import com.iformall.mapper.*; |
|
|
import com.iformall.service.WxCouponService; |
|
|
import com.iformall.service.WxCouponService; |
|
|
import com.iformall.service.WxMerchantService; |
|
|
import com.iformall.service.WxMerchantService; |
|
|
import com.iformall.service.WxProfitSharingReceiverService; |
|
|
import com.iformall.service.WxProfitSharingReceiverService; |
|
|
|
|
|
import org.apache.shiro.SecurityUtils; |
|
|
import org.slf4j.Logger; |
|
|
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 org.springframework.transaction.annotation.Transactional; |
|
|
import org.springframework.transaction.annotation.Transactional; |
|
|
|
|
|
|
|
|
import java.util.ArrayList; |
|
|
|
|
|
import java.util.Date; |
|
|
|
|
|
import java.util.List; |
|
|
|
|
|
import java.util.Map; |
|
|
|
|
|
|
|
|
import java.util.*; |
|
|
import java.util.stream.Collectors; |
|
|
import java.util.stream.Collectors; |
|
|
|
|
|
|
|
|
/** |
|
|
/** |
|
|
@@ -27,8 +27,8 @@ import java.util.stream.Collectors; |
|
|
@Service |
|
|
@Service |
|
|
public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
|
|
private final Logger logger = LoggerFactory.getLogger(this.getClass()); |
|
|
|
|
|
|
|
|
@Autowired |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired |
|
|
WxMerchantMapper wxMerchantMapper; |
|
|
WxMerchantMapper wxMerchantMapper; |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
@@ -57,6 +57,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
|
|
|
|
|
|
@Autowired |
|
|
@Autowired |
|
|
WxProfitSharingReceiverService wxProfitSharingReceiverService; |
|
|
WxProfitSharingReceiverService wxProfitSharingReceiverService; |
|
|
|
|
|
|
|
|
@Override |
|
|
@Override |
|
|
public PageInfo<WxMerchant> listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) { |
|
|
public PageInfo<WxMerchant> listAsPage(WxMerchant record, Integer pageIndex, Integer pageSize) { |
|
|
|
|
|
|
|
|
@@ -67,9 +68,9 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
|
|
|
|
|
|
PageHelper.startPage(pageIndex, pageSize); |
|
|
PageHelper.startPage(pageIndex, pageSize); |
|
|
List<WxMerchant> merchants = wxMerchantMapper.findList(record); |
|
|
List<WxMerchant> merchants = wxMerchantMapper.findList(record); |
|
|
for(WxMerchant merchant:merchants){ |
|
|
|
|
|
|
|
|
for (WxMerchant merchant : merchants) { |
|
|
List<WxMerchantShop> collect = merchantShops.stream().filter(ms -> ms.getMerchantId().equals(merchant.getId())).collect(Collectors.toList()); |
|
|
List<WxMerchantShop> collect = merchantShops.stream().filter(ms -> ms.getMerchantId().equals(merchant.getId())).collect(Collectors.toList()); |
|
|
if(collect!=null && collect.size()>0){ |
|
|
|
|
|
|
|
|
if (collect != null && collect.size() > 0) { |
|
|
merchant.setRentalStartDate(collect.get(0).getRentalStartDate()); |
|
|
merchant.setRentalStartDate(collect.get(0).getRentalStartDate()); |
|
|
merchant.setRentalEndDate(collect.get(0).getRentalEndDate()); |
|
|
merchant.setRentalEndDate(collect.get(0).getRentalEndDate()); |
|
|
} |
|
|
} |
|
|
@@ -88,10 +89,10 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
@Override |
|
|
@Override |
|
|
public WxMerchant getById(Long id) { |
|
|
public WxMerchant getById(Long id) { |
|
|
WxMerchant wxMerchant = wxMerchantMapper.selectByPrimaryKey(id); |
|
|
WxMerchant wxMerchant = wxMerchantMapper.selectByPrimaryKey(id); |
|
|
WxMerchantShop wxMerchantShop=new WxMerchantShop(); |
|
|
|
|
|
|
|
|
WxMerchantShop wxMerchantShop = new WxMerchantShop(); |
|
|
wxMerchantShop.setMerchantId(wxMerchant.getId()); |
|
|
wxMerchantShop.setMerchantId(wxMerchant.getId()); |
|
|
wxMerchantShop.setIsDel(EnumDelStatus.NOT_DEL.getCode()); |
|
|
wxMerchantShop.setIsDel(EnumDelStatus.NOT_DEL.getCode()); |
|
|
List<Map<String,Object>> shops = new ArrayList<>(); |
|
|
|
|
|
|
|
|
List<Map<String, Object>> shops = new ArrayList<>(); |
|
|
|
|
|
|
|
|
// WxRentContract wxRentContract = new WxRentContract(); |
|
|
// WxRentContract wxRentContract = new WxRentContract(); |
|
|
// wxRentContract.setMerchantId(id); |
|
|
// wxRentContract.setMerchantId(id); |
|
|
@@ -103,13 +104,13 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
// } |
|
|
// } |
|
|
|
|
|
|
|
|
List<WxMerchantShop> wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShop); |
|
|
List<WxMerchantShop> wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShop); |
|
|
for(WxMerchantShop merchantShop:wxMerchantShopList){ |
|
|
|
|
|
|
|
|
for (WxMerchantShop merchantShop : wxMerchantShopList) { |
|
|
wxMerchant.setRentalStartDate(merchantShop.getRentalStartDate()); |
|
|
wxMerchant.setRentalStartDate(merchantShop.getRentalStartDate()); |
|
|
wxMerchant.setRentalEndDate(merchantShop.getRentalEndDate()); |
|
|
wxMerchant.setRentalEndDate(merchantShop.getRentalEndDate()); |
|
|
WxShop record = new WxShop(); |
|
|
WxShop record = new WxShop(); |
|
|
record.setId(merchantShop.getShopId()); |
|
|
record.setId(merchantShop.getShopId()); |
|
|
List<Map<String,Object>> shoplist = wxShopMapper.findListMap(record); |
|
|
|
|
|
if(shoplist.size()>0) { |
|
|
|
|
|
|
|
|
List<Map<String, Object>> shoplist = wxShopMapper.findListMap(record); |
|
|
|
|
|
if (shoplist.size() > 0) { |
|
|
shops.add(shoplist.get(0)); |
|
|
shops.add(shoplist.get(0)); |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
@@ -134,7 +135,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
@Override |
|
|
@Override |
|
|
public void disable(Long id) { |
|
|
public void disable(Long id) { |
|
|
WxMerchant wxMerchant = wxMerchantMapper.selectByPrimaryKey(id); |
|
|
WxMerchant wxMerchant = wxMerchantMapper.selectByPrimaryKey(id); |
|
|
if(wxMerchant==null){ |
|
|
|
|
|
|
|
|
if (wxMerchant == null) { |
|
|
logger.info("未发现要停用的商户"); |
|
|
logger.info("未发现要停用的商户"); |
|
|
return; |
|
|
return; |
|
|
} |
|
|
} |
|
|
@@ -146,7 +147,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
wxMerchantShopQuery.setTenantId(wxMerchant.getTenantId()); |
|
|
wxMerchantShopQuery.setTenantId(wxMerchant.getTenantId()); |
|
|
wxMerchantShopQuery.setMerchantId(wxMerchant.getId()); |
|
|
wxMerchantShopQuery.setMerchantId(wxMerchant.getId()); |
|
|
List<WxMerchantShop> wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShopQuery); |
|
|
List<WxMerchantShop> wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShopQuery); |
|
|
for(WxMerchantShop merchantShop:wxMerchantShopList){ |
|
|
|
|
|
|
|
|
for (WxMerchantShop merchantShop : wxMerchantShopList) { |
|
|
merchantShop.setIsDel(EnumDelStatus.DEL.getCode()); |
|
|
merchantShop.setIsDel(EnumDelStatus.DEL.getCode()); |
|
|
wxMerchantShopMapper.updateByPrimaryKeySelective(merchantShop); |
|
|
wxMerchantShopMapper.updateByPrimaryKeySelective(merchantShop); |
|
|
|
|
|
|
|
|
@@ -161,7 +162,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
WxMerchantBUser bUser = new WxMerchantBUser(); |
|
|
WxMerchantBUser bUser = new WxMerchantBUser(); |
|
|
bUser.setMerchantId(wxMerchant.getId()); |
|
|
bUser.setMerchantId(wxMerchant.getId()); |
|
|
List<WxMerchantBUser> wxMerchantBUserMapperList = wxMerchantBUserMapper.findList(bUser); |
|
|
List<WxMerchantBUser> wxMerchantBUserMapperList = wxMerchantBUserMapper.findList(bUser); |
|
|
for(WxMerchantBUser wxMerchantBUser:wxMerchantBUserMapperList){ |
|
|
|
|
|
|
|
|
for (WxMerchantBUser wxMerchantBUser : wxMerchantBUserMapperList) { |
|
|
wxMerchantBUser.setStatus(EnumMerchantBUserStatus.INVALID.getCode()); |
|
|
wxMerchantBUser.setStatus(EnumMerchantBUserStatus.INVALID.getCode()); |
|
|
wxMerchantBUserMapper.updateByPrimaryKeySelective(wxMerchantBUser); |
|
|
wxMerchantBUserMapper.updateByPrimaryKeySelective(wxMerchantBUser); |
|
|
} |
|
|
} |
|
|
@@ -170,7 +171,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
WxCoupon wxCoupon = new WxCoupon(); |
|
|
WxCoupon wxCoupon = new WxCoupon(); |
|
|
wxCoupon.setMerchantId(wxMerchant.getId()); |
|
|
wxCoupon.setMerchantId(wxMerchant.getId()); |
|
|
List<WxCoupon> wxCouponList = wxCouponMapper.findList(wxCoupon); |
|
|
List<WxCoupon> wxCouponList = wxCouponMapper.findList(wxCoupon); |
|
|
for(WxCoupon c:wxCouponList){ |
|
|
|
|
|
|
|
|
for (WxCoupon c : wxCouponList) { |
|
|
c.setStatus(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode()); |
|
|
c.setStatus(EnumCouponStatus.COUPON_STATUS_TAKE_OFFF.getCode()); |
|
|
wxCouponService.updateCoupon(c); |
|
|
wxCouponService.updateCoupon(c); |
|
|
} |
|
|
} |
|
|
@@ -201,7 +202,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
|
|
|
|
|
|
//保存商户商铺的关联 |
|
|
//保存商户商铺的关联 |
|
|
List<Long> shopidlist = wxMerchant.getShopids(); |
|
|
List<Long> shopidlist = wxMerchant.getShopids(); |
|
|
for(Long shopid:shopidlist){ |
|
|
|
|
|
|
|
|
for (Long shopid : shopidlist) { |
|
|
WxMerchantShop wxMerchantShop = new WxMerchantShop(); |
|
|
WxMerchantShop wxMerchantShop = new WxMerchantShop(); |
|
|
wxMerchantShop.setId(idWorker.nextId()); |
|
|
wxMerchantShop.setId(idWorker.nextId()); |
|
|
wxMerchantShop.setMerchantId(merchantid); |
|
|
wxMerchantShop.setMerchantId(merchantid); |
|
|
@@ -226,7 +227,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
List<WxMerchantBUser> bUsers = wxMerchant.getbUsers(); |
|
|
List<WxMerchantBUser> bUsers = wxMerchant.getbUsers(); |
|
|
|
|
|
|
|
|
//保存商户关联用户 |
|
|
//保存商户关联用户 |
|
|
for(WxMerchantBUser user:bUsers){ |
|
|
|
|
|
|
|
|
for (WxMerchantBUser user : bUsers) { |
|
|
long id = idWorker.nextId(); |
|
|
long id = idWorker.nextId(); |
|
|
user.setId(id); |
|
|
user.setId(id); |
|
|
user.setBUserId(id); |
|
|
user.setBUserId(id); |
|
|
@@ -240,7 +241,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
wxMerchantBUserMapper.insertSelective(user); |
|
|
wxMerchantBUserMapper.insertSelective(user); |
|
|
|
|
|
|
|
|
} //添加商户的分账账户(不是必选) |
|
|
} //添加商户的分账账户(不是必选) |
|
|
if(wxMerchant.getAccountId() != null && wxMerchant.getAccountName() != null) { |
|
|
|
|
|
|
|
|
if (wxMerchant.getAccountId() != null && wxMerchant.getAccountName() != null) { |
|
|
WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); |
|
|
WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); |
|
|
receiver.setReceiverAccount(wxMerchant.getAccountId()); |
|
|
receiver.setReceiverAccount(wxMerchant.getAccountId()); |
|
|
receiver.setReceiverComments(wxMerchant.getName()); |
|
|
receiver.setReceiverComments(wxMerchant.getName()); |
|
|
@@ -264,7 +265,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
wxMerchantShopQuery.setTenantId(wxMerchant.getTenantId()); |
|
|
wxMerchantShopQuery.setTenantId(wxMerchant.getTenantId()); |
|
|
wxMerchantShopQuery.setMerchantId(wxMerchant.getId()); |
|
|
wxMerchantShopQuery.setMerchantId(wxMerchant.getId()); |
|
|
List<WxMerchantShop> wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShopQuery); |
|
|
List<WxMerchantShop> wxMerchantShopList = wxMerchantShopMapper.findList(wxMerchantShopQuery); |
|
|
for(WxMerchantShop merchantShop:wxMerchantShopList){ |
|
|
|
|
|
|
|
|
for (WxMerchantShop merchantShop : wxMerchantShopList) { |
|
|
merchantShop.setIsDel(EnumDelStatus.DEL.getCode()); |
|
|
merchantShop.setIsDel(EnumDelStatus.DEL.getCode()); |
|
|
wxMerchantShopMapper.updateByPrimaryKeySelective(merchantShop); |
|
|
wxMerchantShopMapper.updateByPrimaryKeySelective(merchantShop); |
|
|
|
|
|
|
|
|
@@ -278,7 +279,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
|
|
|
|
|
|
//保存商户商铺的关联 |
|
|
//保存商户商铺的关联 |
|
|
List<Long> shopidlist = wxMerchant.getShopids(); |
|
|
List<Long> shopidlist = wxMerchant.getShopids(); |
|
|
for(Long shopid:shopidlist){ |
|
|
|
|
|
|
|
|
for (Long shopid : shopidlist) { |
|
|
WxMerchantShop wxMerchantShop = new WxMerchantShop(); |
|
|
WxMerchantShop wxMerchantShop = new WxMerchantShop(); |
|
|
wxMerchantShop.setId(idWorker.nextId()); |
|
|
wxMerchantShop.setId(idWorker.nextId()); |
|
|
wxMerchantShop.setMerchantId(wxMerchant.getId()); |
|
|
wxMerchantShop.setMerchantId(wxMerchant.getId()); |
|
|
@@ -305,15 +306,15 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
WxMerchantBUser bUser = new WxMerchantBUser(); |
|
|
WxMerchantBUser bUser = new WxMerchantBUser(); |
|
|
bUser.setMerchantId(wxMerchant.getId()); |
|
|
bUser.setMerchantId(wxMerchant.getId()); |
|
|
List<WxMerchantBUser> wxMerchantBUserMapperList = wxMerchantBUserMapper.findList(bUser); |
|
|
List<WxMerchantBUser> wxMerchantBUserMapperList = wxMerchantBUserMapper.findList(bUser); |
|
|
for(WxMerchantBUser wxMerchantBUser:wxMerchantBUserMapperList){ |
|
|
|
|
|
|
|
|
for (WxMerchantBUser wxMerchantBUser : wxMerchantBUserMapperList) { |
|
|
wxMerchantBUser.setStatus(EnumMerchantBUserStatus.INVALID.getCode()); |
|
|
wxMerchantBUser.setStatus(EnumMerchantBUserStatus.INVALID.getCode()); |
|
|
wxMerchantBUserMapper.updateByPrimaryKeySelective(wxMerchantBUser); |
|
|
wxMerchantBUserMapper.updateByPrimaryKeySelective(wxMerchantBUser); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//保存商户关联用户 |
|
|
//保存商户关联用户 |
|
|
for(WxMerchantBUser user:bUsers){ |
|
|
|
|
|
if(user.getId()==null){//没有id的新增 |
|
|
|
|
|
|
|
|
for (WxMerchantBUser user : bUsers) { |
|
|
|
|
|
if (user.getId() == null) {//没有id的新增 |
|
|
long id = idWorker.nextId(); |
|
|
long id = idWorker.nextId(); |
|
|
user.setId(id); |
|
|
user.setId(id); |
|
|
user.setBUserId(id); |
|
|
user.setBUserId(id); |
|
|
@@ -325,7 +326,7 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
user.setUpdateDate(date); |
|
|
user.setUpdateDate(date); |
|
|
user.setStatus(EnumMerchantBUserStatus.VALID.getCode()); |
|
|
user.setStatus(EnumMerchantBUserStatus.VALID.getCode()); |
|
|
wxMerchantBUserMapper.insertSelective(user); |
|
|
wxMerchantBUserMapper.insertSelective(user); |
|
|
}else{//有id的更新 |
|
|
|
|
|
|
|
|
} else {//有id的更新 |
|
|
user.setBUserId(user.getId()); |
|
|
user.setBUserId(user.getId()); |
|
|
user.setMerchantId(wxMerchant.getId()); |
|
|
user.setMerchantId(wxMerchant.getId()); |
|
|
user.setTenantId(wxMerchant.getTenantId()); |
|
|
user.setTenantId(wxMerchant.getTenantId()); |
|
|
@@ -340,8 +341,8 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//添加商户的分账账户(不是必选) |
|
|
//添加商户的分账账户(不是必选) |
|
|
if(wxMerchant.getAccountId() != null && wxMerchant.getAccountName() != null |
|
|
|
|
|
&& !wxMerchant.getAccountId().isEmpty() && !wxMerchant.getAccountName().isEmpty()) { |
|
|
|
|
|
|
|
|
if (wxMerchant.getAccountId() != null && wxMerchant.getAccountName() != null |
|
|
|
|
|
&& !wxMerchant.getAccountId().isEmpty() && !wxMerchant.getAccountName().isEmpty()) { |
|
|
WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); |
|
|
WxProfitSharingReceiver receiver = new WxProfitSharingReceiver(); |
|
|
receiver.setReceiverAccount(wxMerchant.getAccountId()); |
|
|
receiver.setReceiverAccount(wxMerchant.getAccountId()); |
|
|
receiver.setReceiverComments(wxMerchant.getName()); |
|
|
receiver.setReceiverComments(wxMerchant.getName()); |
|
|
@@ -356,138 +357,78 @@ public class WxMerchantServiceImpl implements WxMerchantService { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// private void buildRent(WxRentContract wxRentContract,WxShop wxshop) { |
|
|
|
|
|
// |
|
|
|
|
|
// Date rentalStartDate = wxRentContract.getRentalStartDate(); |
|
|
|
|
|
// Date rentalEndDate = wxRentContract.getRentalEndDate(); |
|
|
|
|
|
// Integer receivePeriod = wxRentContract.getReceivePeriod(); |
|
|
|
|
|
// |
|
|
|
|
|
// int paycount = 12 / receivePeriod.intValue(); |
|
|
|
|
|
// final IdWorker idWorker = IdWorker.get(); |
|
|
|
|
|
// if(paycount==1){//12 |
|
|
|
|
|
// WxBillRent wxBillRent = new WxBillRent(); |
|
|
|
|
|
// wxBillRent.setId(idWorker.nextId()); |
|
|
|
|
|
// wxBillRent.setShopId(wxshop.getId()); |
|
|
|
|
|
// wxBillRent.setPayStatus(EnumBillRentStatus.NOT_PAID.getCode()); |
|
|
|
|
|
// wxBillRent.setPay(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setTenantId(wxshop.getTenantId()); |
|
|
|
|
|
// BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); |
|
|
|
|
|
// wxBillRent.setNeedPay(needpay); |
|
|
|
|
|
// wxBillRent.setExpiredDay(0); |
|
|
|
|
|
// wxBillRent.setOwe(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setPayDate(rentalStartDate); |
|
|
|
|
|
// wxBillRent.setPayWay(EnumBillRentPayWay.CASH.getCode()); |
|
|
|
|
|
// wxBillRent.setPrice(wxRentContract.getPrice()); |
|
|
|
|
|
// wxBillRent.setReceiptNum(""); |
|
|
|
|
|
// wxBillRent.setReceiveDate(rentalStartDate); |
|
|
|
|
|
// wxBillRent.setReceivePay(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setReceivePeriod(receivePeriod); |
|
|
|
|
|
// wxBillRent.setUserArea(new BigDecimal(wxshop.getOperationArea())); |
|
|
|
|
|
// wxBillRent.setShopNumber(wxshop.getShopNumber()); |
|
|
|
|
|
// wxBillRent.setCreatetime(new Date()); |
|
|
|
|
|
// wxBillRentMapper.insertSelective(wxBillRent); |
|
|
|
|
|
// } |
|
|
|
|
|
// if(paycount==2){//6 |
|
|
|
|
|
// BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); |
|
|
|
|
|
// BigDecimal needpaymoney = needpay.divide(new BigDecimal(2)).setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
|
// for(int i=0;i<paycount;i++){ |
|
|
|
|
|
// |
|
|
|
|
|
// Calendar instance = Calendar.getInstance(); |
|
|
|
|
|
// instance.setTime(rentalStartDate); |
|
|
|
|
|
// instance.add(Calendar.MONTH,i); |
|
|
|
|
|
// rentalStartDate=instance.getTime(); |
|
|
|
|
|
// |
|
|
|
|
|
// WxBillRent wxBillRent = new WxBillRent(); |
|
|
|
|
|
// wxBillRent.setId(idWorker.nextId()); |
|
|
|
|
|
// wxBillRent.setShopId(wxshop.getId()); |
|
|
|
|
|
// wxBillRent.setPayStatus(EnumBillRentStatus.NOT_PAID.getCode()); |
|
|
|
|
|
// wxBillRent.setPay(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setTenantId(wxshop.getTenantId()); |
|
|
|
|
|
// wxBillRent.setNeedPay(needpaymoney); |
|
|
|
|
|
// wxBillRent.setExpiredDay(0); |
|
|
|
|
|
// wxBillRent.setOwe(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setPayDate(rentalStartDate); |
|
|
|
|
|
// wxBillRent.setPayWay(EnumBillRentPayWay.CASH.getCode()); |
|
|
|
|
|
// wxBillRent.setPrice(wxRentContract.getPrice()); |
|
|
|
|
|
// wxBillRent.setReceiptNum(""); |
|
|
|
|
|
// wxBillRent.setReceiveDate(rentalStartDate); |
|
|
|
|
|
// wxBillRent.setReceivePay(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setReceivePeriod(receivePeriod); |
|
|
|
|
|
// wxBillRent.setUserArea(new BigDecimal(wxshop.getOperationArea())); |
|
|
|
|
|
// wxBillRent.setShopNumber(wxshop.getShopNumber()); |
|
|
|
|
|
// wxBillRent.setCreatetime(new Date()); |
|
|
|
|
|
// wxBillRentMapper.insertSelective(wxBillRent); |
|
|
|
|
|
// |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
// if(paycount==4){//3 |
|
|
|
|
|
// BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); |
|
|
|
|
|
// BigDecimal needpaymoney = needpay.divide(new BigDecimal(2)).setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
|
// for(int i=0;i<paycount;i++) { |
|
|
|
|
|
// |
|
|
|
|
|
// Calendar instance = Calendar.getInstance(); |
|
|
|
|
|
// instance.setTime(rentalStartDate); |
|
|
|
|
|
// instance.add(Calendar.MONTH, i); |
|
|
|
|
|
// rentalStartDate = instance.getTime(); |
|
|
|
|
|
// |
|
|
|
|
|
// WxBillRent wxBillRent = new WxBillRent(); |
|
|
|
|
|
// wxBillRent.setId(idWorker.nextId()); |
|
|
|
|
|
// wxBillRent.setShopId(wxshop.getId()); |
|
|
|
|
|
// wxBillRent.setPayStatus(EnumBillRentStatus.NOT_PAID.getCode()); |
|
|
|
|
|
// wxBillRent.setPay(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setTenantId(wxshop.getTenantId()); |
|
|
|
|
|
// wxBillRent.setNeedPay(needpaymoney); |
|
|
|
|
|
// wxBillRent.setExpiredDay(0); |
|
|
|
|
|
// wxBillRent.setOwe(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setPayDate(rentalStartDate); |
|
|
|
|
|
// wxBillRent.setPayWay(EnumBillRentPayWay.CASH.getCode()); |
|
|
|
|
|
// wxBillRent.setPrice(wxRentContract.getPrice()); |
|
|
|
|
|
// wxBillRent.setReceiptNum(""); |
|
|
|
|
|
// wxBillRent.setReceiveDate(rentalStartDate); |
|
|
|
|
|
// wxBillRent.setReceivePay(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setReceivePeriod(receivePeriod); |
|
|
|
|
|
// wxBillRent.setUserArea(new BigDecimal(wxshop.getOperationArea())); |
|
|
|
|
|
// wxBillRent.setShopNumber(wxshop.getShopNumber()); |
|
|
|
|
|
// wxBillRent.setCreatetime(new Date()); |
|
|
|
|
|
// wxBillRentMapper.insertSelective(wxBillRent); |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
// if(paycount==12) {//1 |
|
|
|
|
|
// BigDecimal needpay = wxRentContract.getPayArea().multiply(wxRentContract.getPrice()); |
|
|
|
|
|
// BigDecimal needpaymoney = needpay.divide(new BigDecimal(2)).setScale(2, BigDecimal.ROUND_HALF_UP); |
|
|
|
|
|
// for (int i = 0; i < paycount; i++) { |
|
|
|
|
|
// |
|
|
|
|
|
// Calendar instance = Calendar.getInstance(); |
|
|
|
|
|
// instance.setTime(rentalStartDate); |
|
|
|
|
|
// instance.add(Calendar.MONTH, i); |
|
|
|
|
|
// rentalStartDate = instance.getTime(); |
|
|
|
|
|
// |
|
|
|
|
|
// WxBillRent wxBillRent = new WxBillRent(); |
|
|
|
|
|
// wxBillRent.setId(idWorker.nextId()); |
|
|
|
|
|
// wxBillRent.setShopId(wxshop.getId()); |
|
|
|
|
|
// wxBillRent.setPayStatus(EnumBillRentStatus.NOT_PAID.getCode()); |
|
|
|
|
|
// wxBillRent.setPay(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setTenantId(wxshop.getTenantId()); |
|
|
|
|
|
// wxBillRent.setNeedPay(needpaymoney); |
|
|
|
|
|
// wxBillRent.setExpiredDay(0); |
|
|
|
|
|
// wxBillRent.setOwe(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setPayDate(rentalStartDate); |
|
|
|
|
|
// wxBillRent.setPayWay(EnumBillRentPayWay.CASH.getCode()); |
|
|
|
|
|
// wxBillRent.setPrice(wxRentContract.getPrice()); |
|
|
|
|
|
// wxBillRent.setReceiptNum(""); |
|
|
|
|
|
// wxBillRent.setReceiveDate(rentalStartDate); |
|
|
|
|
|
// wxBillRent.setReceivePay(new BigDecimal(0)); |
|
|
|
|
|
// wxBillRent.setReceivePeriod(receivePeriod); |
|
|
|
|
|
// wxBillRent.setUserArea(new BigDecimal(wxshop.getOperationArea())); |
|
|
|
|
|
// wxBillRent.setShopNumber(wxshop.getShopNumber()); |
|
|
|
|
|
// wxBillRent.setCreatetime(new Date()); |
|
|
|
|
|
// wxBillRentMapper.insertSelective(wxBillRent); |
|
|
|
|
|
// } |
|
|
|
|
|
// } |
|
|
|
|
|
// |
|
|
|
|
|
// } |
|
|
|
|
|
|
|
|
@Transactional(rollbackFor = {Exception.class}) |
|
|
|
|
|
public void buildRent(WxMerchant wxMerchant) { |
|
|
|
|
|
|
|
|
|
|
|
//获取用户 |
|
|
|
|
|
MallUserInfo user = (MallUserInfo) SecurityUtils.getSubject().getSession().getAttribute("userSession"); |
|
|
|
|
|
|
|
|
|
|
|
//根据商户ID找出合同 |
|
|
|
|
|
WxRentContract wxRentContract = new WxRentContract(); |
|
|
|
|
|
wxRentContract.setMerchantId(wxMerchant.getId()); |
|
|
|
|
|
List<WxRentContract> list = wxRentContractMapper.findList(wxRentContract); |
|
|
|
|
|
if (list.size() > 0) { |
|
|
|
|
|
wxRentContract = list.get(0); |
|
|
|
|
|
Integer receivePeriod = wxRentContract.getReceivePeriod(); |
|
|
|
|
|
int paycount = 12 / receivePeriod.intValue(); |
|
|
|
|
|
final IdWorker idWorker = IdWorker.get(); |
|
|
|
|
|
for (int i = 0; i < paycount; i++) { |
|
|
|
|
|
WxBillRent wxBillRent = new WxBillRent(); |
|
|
|
|
|
wxBillRent.setId(idWorker.nextId()); |
|
|
|
|
|
wxBillRent.setRentContractId(wxRentContract.getId()); |
|
|
|
|
|
wxBillRent.setReceivePay(0); |
|
|
|
|
|
wxBillRent.setPay(0); |
|
|
|
|
|
int needpay = wxRentContract.getPrice() * i; |
|
|
|
|
|
wxBillRent.setNeedPay(needpay); |
|
|
|
|
|
wxBillRent.setOwe(needpay); |
|
|
|
|
|
|
|
|
|
|
|
Date date = new Date(); |
|
|
|
|
|
Calendar instance = Calendar.getInstance(); |
|
|
|
|
|
instance.setTime(wxRentContract.getRentalStartDate()); |
|
|
|
|
|
instance.add(Calendar.MONTH, receivePeriod.intValue() * i); |
|
|
|
|
|
instance.add(Calendar.DAY_OF_MONTH, -1); |
|
|
|
|
|
Date time = instance.getTime(); |
|
|
|
|
|
wxBillRent.setReceiveDate(time); |
|
|
|
|
|
//截止收租日在当前时间之前 |
|
|
|
|
|
if (wxBillRent.getReceiveDate().before(date)) { |
|
|
|
|
|
long day = (time.getTime() - date.getTime()) / (24 * 60 * 60 * 1000); |
|
|
|
|
|
wxBillRent.setStatus(EnumBillRentStatus.NOT_PAID.getCode()); |
|
|
|
|
|
wxBillRent.setExpiredDay(day); |
|
|
|
|
|
wxBillRent.setReceiveDate(time); |
|
|
|
|
|
} else {//截止收租日在当前时间之后 |
|
|
|
|
|
Calendar now = Calendar.getInstance(); |
|
|
|
|
|
now.add(Calendar.MONTH, receivePeriod.intValue() * i); |
|
|
|
|
|
now.add(Calendar.DAY_OF_MONTH, -1); |
|
|
|
|
|
Date currenttime = now.getTime(); |
|
|
|
|
|
//当前日期加上周期后小于截止收租日就是没有到期,否则当前待缴 |
|
|
|
|
|
if(currenttime.before(wxBillRent.getReceiveDate())){ |
|
|
|
|
|
wxBillRent.setStatus(EnumBillRentStatus.NOT_EXPIRED.getCode()); |
|
|
|
|
|
wxBillRent.setExpiredDay(0L); |
|
|
|
|
|
wxBillRent.setReceiveDate(time); |
|
|
|
|
|
}else{ |
|
|
|
|
|
wxBillRent.setStatus(EnumBillRentStatus.WAIT_PAY.getCode()); |
|
|
|
|
|
wxBillRent.setExpiredDay(0L); |
|
|
|
|
|
wxBillRent.setReceiveDate(time); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
wxBillRent.setTenantId(wxMerchant.getTenantId()); |
|
|
|
|
|
wxBillRent.setIsDel(0); |
|
|
|
|
|
wxBillRent.setMerchantId(wxMerchant.getId()); |
|
|
|
|
|
wxBillRent.setUserId(user.getId()); |
|
|
|
|
|
wxBillRent.setShopId(wxRentContract.getShopId()); |
|
|
|
|
|
wxBillRent.setCreatetime(date); |
|
|
|
|
|
wxBillRent.setUpdatetime(date); |
|
|
|
|
|
try{ |
|
|
|
|
|
wxBillRentMapper.insertSelective(wxBillRent); |
|
|
|
|
|
}catch (Exception e){ |
|
|
|
|
|
logger.error("添加租赁账单失败,e:" + e.getMessage()); |
|
|
|
|
|
throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
} |
|
|
} |