diff --git a/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java b/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java new file mode 100644 index 000000000..e6d8a590e --- /dev/null +++ b/mallinkAdmin/src/main/java/com/iformall/controller/WxBillAllController.java @@ -0,0 +1,45 @@ +package com.iformall.controller; + +import com.iformall.common.ResultData; +import com.iformall.domain.po.WxPropertyContract; +import com.iformall.domain.vo.WxBillAll; +import com.iformall.service.WxBillAllService; +import com.iformall.service.WxPropertyContractService; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.ModelAttribute; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import java.util.Map; + +/** + * @author gongbiao + */ +@RestController +@RequestMapping("wxBillAll") +public class WxBillAllController extends BaseController +{ + @Autowired + private WxBillAllService wxBillAllService; + + private Logger logger = LoggerFactory.getLogger(WxBillAllController.class); + + @GetMapping("list") + @ApiImplicitParams({ + @ApiImplicitParam(name="pageNum",value="页数",dataType="int", paramType = "query",required=true), + @ApiImplicitParam(name="pageSize",value="每页条数",dataType="int", paramType = "query",required=true)}) + public ResultData list(@ModelAttribute WxBillAll wxBillAll, Integer pageNum, Integer pageSize) { + if (null == wxBillAll){ + wxBillAll = new WxBillAll(); + } + wxBillAll.setTenantId(getTenantId()); + Map result = wxBillAllService.listAsPage(wxBillAll, pageNum, pageSize); + return new ResultData(result); + } + +} diff --git a/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java new file mode 100644 index 000000000..dbf822fad --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/domain/vo/WxBillAll.java @@ -0,0 +1,62 @@ +package com.iformall.domain.vo; + +/** + * @author gongbiao + */ +public class WxBillAll { + + @io.swagger.annotations.ApiModelProperty(value="租户ID",name="tenantId") + private String tenantId; + + @io.swagger.annotations.ApiModelProperty(value="商户名称",name="merchantName") + private String merchantName; + + @io.swagger.annotations.ApiModelProperty(value="账单类型",name="billTypeValue") + private Integer billTypeValue; + + @io.swagger.annotations.ApiModelProperty(value="状态",name="status") + private Integer status; + + @io.swagger.annotations.ApiModelProperty(value="日期",name="month") + private String month; + + public String getTenantId() { + return tenantId; + } + + public void setTenantId(String tenantId) { + this.tenantId = tenantId; + } + + public String getMerchantName() { + return merchantName; + } + + public void setMerchantName(String merchantName) { + this.merchantName = merchantName; + } + + public Integer getBillTypeValue() { + return billTypeValue; + } + + public void setBillTypeValue(Integer billTypeValue) { + this.billTypeValue = billTypeValue; + } + + public Integer getStatus() { + return status; + } + + public void setStatus(Integer status) { + this.status = status; + } + + public String getMonth() { + return month; + } + + public void setMonth(String month) { + this.month = month; + } +} diff --git a/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java b/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java new file mode 100644 index 000000000..ba7a3c31e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/mapper/WxBillAllMapper.java @@ -0,0 +1,22 @@ +package com.iformall.mapper; + +import com.iformall.common.CommonMapper; +import com.iformall.domain.po.MallPermission; +import com.iformall.domain.vo.WxBillAll; + +import java.util.List; +import java.util.Map; + +/** + * @author gongbiao + */ +public interface WxBillAllMapper extends CommonMapper { + + + List> list(WxBillAll record); + + Map queryOweInfo(WxBillAll record); + + Map queryPaidInfo(WxBillAll record); + +} diff --git a/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java new file mode 100644 index 000000000..7af7af202 --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/WxBillAllService.java @@ -0,0 +1,14 @@ +package com.iformall.service; + +import com.iformall.domain.vo.WxBillAll; + +import java.util.Map; + +/** + * @author gongbiao + */ +public interface WxBillAllService { + + Map listAsPage(WxBillAll wxBillAll, Integer pageNum, Integer pageSize); + +} diff --git a/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java new file mode 100644 index 000000000..636e76d4e --- /dev/null +++ b/mallinkService/src/main/java/com/iformall/service/impl/WxBillAllServiceImpl.java @@ -0,0 +1,57 @@ +package com.iformall.service.impl; + +import com.github.pagehelper.PageHelper; +import com.github.pagehelper.PageInfo; +import com.iformall.domain.vo.WxBillAll; +import com.iformall.enums.EnumBillRentStatus; +import com.iformall.enums.EnumRentContractStatus; +import com.iformall.mapper.WxBillAllMapper; +import com.iformall.service.WxBillAllService; +import com.iformall.utils.DateUtils; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * @author gongbiao + */ +@Service +public class WxBillAllServiceImpl implements WxBillAllService { + private Logger logger = LoggerFactory.getLogger(this.getClass()); + + @Autowired + WxBillAllMapper wxBillAllMapper; + + @Override + public Map listAsPage(WxBillAll record, Integer pageIndex, Integer pageSize) { + String month=DateUtils.getSystemTime("yyyy-MM"); + Object billInfo = getBillInfo(record.getTenantId(),month); + record.setMonth(month); + PageHelper.startPage(pageIndex, pageSize); + List> rentContractData = wxBillAllMapper.list(record); + PageInfo> pageInfo = new PageInfo<>(rentContractData); + Map result = new HashMap<>(); + result.put("billInfo", billInfo); + result.put("pageInfo", pageInfo); + return result; + } + + private Object getBillInfo(String tenantId,String month) { + WxBillAll record = new WxBillAll(); + record.setTenantId(tenantId); + record.setMonth(month); + record.setStatus(EnumBillRentStatus.NOT_PAID.getCode()); + Map oweInfo = wxBillAllMapper.queryOweInfo(record); + record.setStatus(EnumBillRentStatus.PAID.getCode()); + Map paidInfo = wxBillAllMapper.queryPaidInfo(record); + Map result = new HashMap<>(); + result.putAll(oweInfo); + result.putAll(paidInfo); + return result; + } +} diff --git a/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml new file mode 100644 index 000000000..3c9651a95 --- /dev/null +++ b/mallinkService/src/main/resources/mapper/WxBillAllMapper.xml @@ -0,0 +1,75 @@ + + + + + + + + + + + + + + diff --git a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml index b9f157202..627f48c5a 100644 --- a/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml +++ b/mallinkService/src/main/resources/mapper/WxPropertyContractMapper.xml @@ -150,6 +150,7 @@ and rc.id not in (select pc.rent_contract_id from ( select rent_contract_id from wx_property_contract where status not in(1,6,7) and tenant_id=#{tenantId} ) pc) +