diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxBillRentController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxBillRentController.java index 879d8c98e..42bcaaf02 100644 --- a/mallinkAdmin/src/main/java/com/iformall/controller/WxBillRentController.java +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxBillRentController.java @@ -30,7 +30,9 @@ public class WxBillRentController extends BaseController { @ApiImplicitParam(name = "pageNum", value = "页数", dataType = "int", paramType = "query", required = true), @ApiImplicitParam(name = "pageSize", value = "每页条数", dataType = "int", paramType = "query", required = true)}) public ResultData list(@ModelAttribute WxBillRent wxBillRent, Integer pageNum, Integer pageSize) { - if (null == wxBillRent) wxBillRent = new WxBillRent(); + if (null == wxBillRent) { + wxBillRent = new WxBillRent(); + } wxBillRent.setTenantId(getTenantId()); wxBillRent.setSortColumns(WxBillRent.Field.Id_DESC); final PageInfo> page = wxBillRentService.listAsPage(wxBillRent, pageNum, pageSize); @@ -61,5 +63,10 @@ public class WxBillRentController extends BaseController { return new ResultData(Result.SUCCESS, "查询成功", wxBillRentService.getById(id)); } + @GetMapping("/findByMerchantId") + @ApiImplicitParam(name = "merchantId", value = "merchantId", dataType = "Long", paramType = "query", required = true) + public ResultData findByMerchantId(Long id) { + return new ResultData(Result.SUCCESS, "查询成功", wxBillRentService.findByMerchantId(id)); + } } diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java index 68fd9d50f..f6ad75bdc 100644 --- a/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillRentMapper.java @@ -17,4 +17,6 @@ public interface WxBillRentMapper extends CommonMapper { Map queryPayInfo(Map params); + void updateNotPaidStatus(Map params); + } diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillRentService.java b/mallinkService/src/main/java/com/iformall/service/WxBillRentService.java index 672010e12..c3f3d2680 100644 --- a/mallinkService/src/main/java/com/iformall/service/WxBillRentService.java +++ b/mallinkService/src/main/java/com/iformall/service/WxBillRentService.java @@ -5,6 +5,9 @@ import com.github.pagehelper.PageInfo; import com.iformall.common.ResultData; import com.iformall.domain.po.WxBillRent; +/** + * @author gongbiao + */ public interface WxBillRentService { /** @@ -38,12 +41,8 @@ public interface WxBillRentService { * @param id */ void deleteById(Long id); - - - - - - - + + Object findByMerchantId(Long id); + } diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java index 2bd74d60e..193da0174 100644 --- a/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillRentServiceImpl.java @@ -7,6 +7,8 @@ import com.iformall.common.IdWorker; import com.iformall.common.Result; import com.iformall.common.ResultData; import com.iformall.domain.po.WxBillRent; +import com.iformall.enums.EnumBillRentPayWay; +import com.iformall.enums.EnumBillRentStatus; import com.iformall.exception.MallinkException; import com.iformall.mapper.WxBillRentMapper; import com.iformall.service.WxBillRentService; @@ -14,8 +16,10 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.Date; +import java.util.HashMap; import java.util.List; import java.util.Map; @@ -32,13 +36,29 @@ public class WxBillRentServiceImpl implements WxBillRentService { @Override public PageInfo> listAsPage(WxBillRent record, Integer pageIndex, Integer pageSize) { + //更新逾期天数及状态 + updateNotPaidStatus(record); PageHelper.startPage(pageIndex, pageSize); - List> shops = wxBillRentMapper.queryBillRentList(record); - PageInfo> pageInfo = new PageInfo<>(shops); + List> billRentList = wxBillRentMapper.queryBillRentList(record); + PageInfo> pageInfo = new PageInfo<>(billRentList); return pageInfo; //return PageHelper.startPage(pageIndex, pageSize).doSelectPageInfo(() -> wxBillRentMapper.findList(record)); } + @Transactional(rollbackFor = {Exception.class}) + public void updateNotPaidStatus(WxBillRent record) { + Map params=new HashMap<>(); + params.put("tenantId",record.getTenantId()); + params.put("notPaid",EnumBillRentStatus.NOT_PAID); + params.put("paid",EnumBillRentStatus.PAID); + try{ + wxBillRentMapper.updateNotPaidStatus(params); + } catch (Exception e) { + logger.error("更新租赁账单失败,e:" + e.getMessage()); + throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); + } + } + @Override public Map getById(Long id) { WxBillRent record = new WxBillRent(); @@ -64,9 +84,14 @@ public class WxBillRentServiceImpl implements WxBillRentService { return new ResultData(Result.SUCCESS, "保存租赁账单成功"); } else { logger.info("更新租赁账单"); - record.setUpdatetime(new Date()); + WxBillRent wxBillRent = wxBillRentMapper.selectByPrimaryKey(record.getId()); + wxBillRent.setPayDate(record.getPayDate()); + wxBillRent.setPay(record.getPay()); + wxBillRent.setReceivePay(record.getReceivePay()); + wxBillRent.setStatus(record.getStatus()); + wxBillRent.setUpdatetime(new Date()); try { - wxBillRentMapper.updateByPrimaryKeySelective(record); + wxBillRentMapper.updateByPrimaryKeySelective(wxBillRent); } catch (Exception e) { logger.error("更新租赁账单失败,e:" + e.getMessage()); throw new MallinkException(ErrorCode.DB_FAIL.getCode(), "DB FAILD " + e.getMessage()); @@ -80,5 +105,12 @@ public class WxBillRentServiceImpl implements WxBillRentService { wxBillRentMapper.deleteByPrimaryKey(id); } + @Override + public Object findByMerchantId(Long id) { + WxBillRent record = new WxBillRent(); + record.setMerchantId(id); + return wxBillRentMapper.queryBillRentList(record); + } + } diff --git a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml index 0d0e28c17..7125e5257 100644 --- a/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxBillRentMapper.xml @@ -2,80 +2,83 @@ - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + `id`,`rent_contract_id`,`receive_pay`,`pay`,`receive_date`,`pay_date`,`createtime`,`expired_day`,`tenant_id`,`owe`,`status`,`is_del`,`need_pay`,`merchant_id`,`user_id`,`shop_id`,`updatetime` - + - where 1 = 1 - and `id` = #{id} - and `rent_contract_id` = #{rentContractId} - and `receive_pay` = #{receivePay} - and `pay` = #{pay} - and `receive_date` = #{receiveDate} - and `pay_date` = #{payDate} - and `createtime` = #{createtime} - and `expired_day` = #{expiredDay} - and `tenant_id` = #{tenantId} - and `owe` = #{owe} - and `status` = #{status} - and `is_del` = #{isDel} - and `need_pay` = #{needPay} - and `merchant_id` = #{merchantId} - and `user_id` = #{userId} - and `shop_id` = #{shopId} - and `updatetime` = #{updatetime} + where 1 = 1 + and `id` = #{id} + and `rent_contract_id` = #{rentContractId} + and `receive_pay` = #{receivePay} + and `pay` = #{pay} + and `receive_date` = #{receiveDate} + and `pay_date` = #{payDate} + and `createtime` = #{createtime} + and `expired_day` = #{expiredDay} + and `tenant_id` = #{tenantId} + and `owe` = #{owe} + and `status` = #{status} + and `is_del` = #{isDel} + and `need_pay` = #{needPay} + and `merchant_id` = #{merchantId} + and `user_id` = #{userId} + and `shop_id` = #{shopId} + and `updatetime` = #{updatetime} - and id in + and id in - #{idItem} + #{idItem} - - order by ${sortColumns} + + order by ${sortColumns} @@ -86,5 +89,10 @@ group by tenant_id - + + update wx_bill_rent set status=#{notPaid},expired_day=DATEDIFF(now(),receive_date) + where tenant_id=#{tenantId} and status!=#{paid} and DATEDIFF(now(),receive_date)>0 + + +