kongdeqiang
2020-12-10 8b78fa91629b31e4af0216884df0bae730751310
服务机构的接口及文档
4个文件已修改
4个文件已添加
512 ■■■■■ 已修改文件
api.md 282 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/api/FwjgController.java 182 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/FuwuDetails.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/FuwuPerson.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/OrgFuwu.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/FwjgCount.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/FwnlAndOrderCount.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/OrderByExecute.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
api.md
@@ -18,7 +18,7 @@
> 获取所有区域
###### URL
> /api/getAllArea
> /api/fwjg/getByPage
###### 支持格式
> JSON
@@ -29,29 +29,82 @@
###### 请求参数
|参数|必选|类型|说明|
|:-----  |:-------|:-----|-----                               |
|    |    ||                          |
|  pageNumber  |  是  |int|      分页页数                    |
|  pageSize  |  是  |int|      分页大小                   |
|  sort  |  否  |String|      排序字段                   |
|  order  |  否  |String|      排序方式 asc/desc                  |
###### 返回字段
|返回字段|字段类型|说明                              |
|:-----   |:------|:-----------------------------   |
|   |    |   |
| total  |  int  |  返回分页结果数 |
| size  |  int  |  分页大小 |
| current  |  int  |  当前页数 |
| pages  |  int  |  总共页数 |
| success  |  boolean  |  是否成功 |
| code  |  int  |  返回code码 |
| result  |  object  |  返回结果 |
| name  |  String  |  名称 |
| pid  |  String  |  上级id |
###### 接口示例
``` java
{
    "statue": 0,
    "company": "可口可乐",
    "category": "饮料",
    "success": true,
    "message": "success",
    "code": 200,
    "timestamp": 1607582573231,
    "result": {
        "records": [
            {
                "id": "1336922902628536320",
                "createBy": null,
                "createTime": "2020-12-10 14:37:13",
                "updateBy": null,
                "updateTime": null,
                "delFlag": 0,
                "name": "石家庄市",
                "pid": null
            },
            {
                "id": "1336923402568601600",
                "createBy": null,
                "createTime": "2020-12-10 14:39:12",
                "updateBy": null,
                "updateTime": null,
                "delFlag": 0,
                "name": "新华区",
                "pid": "1336922902628536320"
            },
            {
                "id": "1336923441189752832",
                "createBy": null,
                "createTime": "2020-12-10 14:39:21",
                "updateBy": null,
                "updateTime": null,
                "delFlag": 0,
                "name": "正定县",
                "pid": "1336922902628536320"
            }
        ],
        "total": 7,
        "size": 10,
        "current": 1,
        "orders": [],
        "hitCount": false,
        "searchCount": true,
        "pages": 1
    }
}
``` 
<h3 id='2'>二、首页</h2>
<h4 id='2.1'>2.1获取区域津贴统计</h4>
<h3 id='2'>二、服务机构</h2>
<h4 id='2.1'>2.1根据区域id获取区域下所有机构和人员数量以及订单总数</h4>
###### 接口功能
> 根据区域名称获取津贴统计
> 根据区域id获取区域下所有机构和人员数量以及订单总数
###### URL
> /api/getAllArea
> /api/fwjg/getCountByAreaId
###### 支持格式
> JSON
@@ -62,18 +115,215 @@
###### 请求参数
|参数|必选|类型|说明|
|:-----  |:-------|:-----|-----                               |
|    |    ||                          |
|  areaId  |  是  |String |     区域id                    |
###### 返回字段
|返回字段|字段类型|说明                              |
|:-----   |:------|:-----------------------------   |
|   |    |   |
| fwjgCount  |  Integer  |  服务机构总数 |
| fwPersonCount  |  Integer  |  服务人员总数 |
| orderCount  |  Integer  |  订单总数 |
| orderWatch  |  String  |  订单监控率 |
###### 接口示例
``` java
{
    "statue": 0,
    "company": "可口可乐",
    "category": "饮料",
    "success": true,
    "message": "success",
    "code": 200,
    "timestamp": 1607587253794,
    "result": {
        "fwjgCount": 1,
        "fwPersonCount": 1,
        "orderCount": 2,
        "orderWatch": "100%"
    }
}
```
```
<h4 id='2.1'>2.1根据区域id获取区域下所有服务以及服务详情和订单人数</h4>
###### 接口功能
> 根据区域id获取区域下所有机构和人员数量以及订单总数
###### URL
> /api/fwjg/getFwnlByAreaId
###### 支持格式
> JSON
###### HTTP请求方式
> GET
###### 请求参数
|参数|必选|类型|说明|
|:-----  |:-------|:-----|-----                               |
|  areaId  |  是  |String |     区域id                    |
###### 返回字段
|返回字段|字段类型|说明                              |
|:-----   |:------|:-----------------------------   |
| fuwuDetails  |  object  |  服务详情一级菜单 |
| fuwuDetailsList  |  list  |  服务详情二级菜单 |
###### 接口示例
``` java
{
    "success": true,
    "message": "success",
    "code": 200,
    "timestamp": 1607594225830,
    "result": [
        {
            "fuwuDetails": {
                "id": "1336969411080359936",
                "createBy": null,
                "createTime": "2020-12-10 17:42:02",
                "updateBy": null,
                "updateTime": null,
                "delFlag": 0,
                "areaId": "1336923302341513216",
                "orgFwId": "1336941016934125568",
                "pid": null,
                "name": "康复服务",
                "orderNumber": null
            },
            "fuwuDetailsList": [
                {
                    "id": "1336969601455624192",
                    "createBy": null,
                    "createTime": "2020-12-10 17:42:47",
                    "updateBy": null,
                    "updateTime": null,
                    "delFlag": 0,
                    "areaId": "1336923302341513216",
                    "orgFwId": "1336941016934125568",
                    "pid": "1336969411080359936",
                    "name": "功能训练",
                    "orderNumber": 1
                },
                {
                    "id": "1336969641251180544",
                    "createBy": null,
                    "createTime": "2020-12-10 17:42:56",
                    "updateBy": null,
                    "updateTime": null,
                    "delFlag": 0,
                    "areaId": "1336923302341513216",
                    "orgFwId": "1336941016934125568",
                    "pid": "1336969411080359936",
                    "name": "康复按摩",
                    "orderNumber": 0
                }
            ]
        },
        {
            "fuwuDetails": {
                "id": "1336969708104192000",
                "createBy": null,
                "createTime": "2020-12-10 17:43:12",
                "updateBy": null,
                "updateTime": null,
                "delFlag": 0,
                "areaId": "1336923302341513216",
                "orgFwId": "1336941016934125568",
                "pid": null,
                "name": "生活照料服务",
                "orderNumber": null
            },
            "fuwuDetailsList": [
                {
                    "id": "1336969818158534656",
                    "createBy": null,
                    "createTime": "2020-12-10 17:43:39",
                    "updateBy": null,
                    "updateTime": null,
                    "delFlag": 0,
                    "areaId": "1336923302341513216",
                    "orgFwId": "1336941016934125568",
                    "pid": "1336969708104192000",
                    "name": "喘息服务",
                    "orderNumber": 0
                }
            ]
        }
    ]
}
}
```
<h4 id='2.1'>2.3根据区域id和订单量查询服务机构排名情况</h4>
###### 接口功能
> 根据区域id和订单量查询服务机构排名情况
###### URL
> /api/fwjg/getFwjgOrderByOrderNumber
###### 支持格式
> JSON
###### HTTP请求方式
> GET
###### 请求参数
|参数|必选|类型|说明|
|:-----  |:-------|:-----|-----                               |
|  areaId  |  是  |String |     区域id                    |
###### 返回字段
|返回字段|字段类型|说明                              |
|:-----   |:------|:-----------------------------   |
| records  |  list  |  服务机构list |
###### 接口示例
``` java
```
<h4 id='2.1'>2.3根据区域id和订单量查询服务机构排名情况</h4>
###### 接口功能
> 根据区域id和订单量查询实际服务排名情况
###### URL
> /api/fwjg/getFuwuDetailsOrderByOrderNumber
###### 支持格式
> JSON
###### HTTP请求方式
> GET
###### 请求参数
|参数|必选|类型|说明|
|:-----  |:-------|:-----|-----                               |
|  areaId  |  是  |String |     区域id                    |
###### 返回字段
|返回字段|字段类型|说明                              |
|:-----   |:------|:-----------------------------   |
| records  |  list  |  服务详情list |
###### 接口示例
``` java
```
<h4 id='2.1'>2.4执行中订单</h4>
###### 接口功能
> 执行中订单
###### URL
> /api/fwjg/getOrder
###### 支持格式
> JSON
###### HTTP请求方式
> GET
###### 请求参数
|参数|必选|类型|说明|
|:-----  |:-------|:-----|-----                               |
|  areaId  |  是  |String |     区域id                    |
###### 返回字段
|返回字段|字段类型|说明                              |
|:-----   |:------|:-----------------------------   |
| count  |  int  |  执行中订单数量 |
| orderByExecuteList  |  list  |  执行中订单详情 |
###### 接口示例
``` java
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/api/FwjgController.java
New file
@@ -0,0 +1,182 @@
package cn.cetc54.platform.zhyl.api;
import cn.cetc54.platform.core.common.utils.PageUtil;
import cn.cetc54.platform.core.common.utils.ResultUtil;
import cn.cetc54.platform.core.common.vo.PageVo;
import cn.cetc54.platform.core.common.vo.Result;
import cn.cetc54.platform.zhyl.entity.*;
import cn.cetc54.platform.zhyl.entity.vo.FwjgCount;
import cn.cetc54.platform.zhyl.entity.vo.FwnlAndOrderCount;
import cn.cetc54.platform.zhyl.entity.vo.OrderByExecute;
import cn.cetc54.platform.zhyl.service.*;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import javafx.collections.ObservableList;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RestController;
import java.sql.Wrapper;
import java.util.*;
import java.util.stream.Collectors;
@Slf4j
@RestController
@Api(description = "服务机构页面接口")
@RequestMapping("/api/fwjg")
@Transactional
public class FwjgController {
    @Autowired
    private IAreaService iAreaService;
    @Autowired
    private IOrgFuwuService iOrgFuwuService;
    @Autowired
    private IFuwuPersonService iFuwuPersonService;
    @Autowired
    private IOrderService iOrderService;
    @Autowired
    private IFuwuDetailsService iFuwuDetailsService;
    @RequestMapping(value = "/getByPage", method = RequestMethod.GET)
    @ApiOperation(value = "分页获取所有")
    public Result<IPage<Area>> getByPage(PageVo page){
        IPage<Area> data = iAreaService.page(PageUtil.initMpPage(page));
        return new ResultUtil<IPage<Area>>().setData(data);
    }
    @RequestMapping(value = "/getCountByAreaId", method = RequestMethod.GET)
    @ApiOperation(value = "根据区域id获取区域下所有机构和人员数量以及订单总数")
    public Result<Object> getCountByAreaId(String areaId){
        QueryWrapper<OrgFuwu> wrapper = new QueryWrapper<>();
        wrapper.eq("area_id",areaId);
        int orgFuwuCount = iOrgFuwuService.count(wrapper);
        QueryWrapper<FuwuPerson> wrapper1 = new QueryWrapper<>();
        wrapper1.eq("area_id",areaId);
        int fuwuPersonCount = iFuwuPersonService.count(wrapper1);
        QueryWrapper<Order> wrapper2 = new QueryWrapper<>();
        wrapper2.eq("area_id",areaId);
        int orderCount = iOrderService.count(wrapper2);
        QueryWrapper<Order> wrapper3 = new QueryWrapper<>();
        wrapper2.eq("area_id",areaId);
        wrapper2.eq("state",0);
        int orderCount2 = iOrderService.count(wrapper3);
        FwjgCount fwjgCount=new FwjgCount();
        fwjgCount.setFwjgCount(orgFuwuCount);
        fwjgCount.setFwPersonCount(fuwuPersonCount);
        fwjgCount.setOrderCount(orderCount);
        fwjgCount.setOrderWatch((orderCount2/orderCount)*100+"%");
        return new ResultUtil<>().setData(fwjgCount);
    }
    @RequestMapping(value = "/getFwnlByAreaId", method = RequestMethod.GET)
    @ApiOperation(value = "根据区域id获取区域下所有实际服务以及服务订单数")
    public Result<Object> getFwnlByAreaId(String areaId){
        QueryWrapper<FuwuDetails> wrapper = new QueryWrapper<>();
        wrapper.isNull("pid");
        List<FuwuDetails> list = iFuwuDetailsService.list(wrapper);
        List<FwnlAndOrderCount> fwnlAndOrderCountList=new ArrayList<>();
        for (FuwuDetails fuwuDetails : list) {
            QueryWrapper<FuwuDetails> wrapper1 = new QueryWrapper<>();
            wrapper1.eq("pid",fuwuDetails.getId());
            List<FuwuDetails> list1 = iFuwuDetailsService.list(wrapper1);
            for (FuwuDetails details : list1) {
                QueryWrapper<Order> wrapper2 = new QueryWrapper<>();
                wrapper2.eq("area_id",areaId);
                wrapper2.eq("detail_id",details.getId());
                int count = iOrderService.count(wrapper2);
                details.setOrderNumber(count);
            }
            FwnlAndOrderCount fwnlAndOrderCount=new FwnlAndOrderCount();
            fwnlAndOrderCount.setFuwuDetails(fuwuDetails);
            fwnlAndOrderCount.setFuwuDetailsList(list1);
            fwnlAndOrderCountList.add(fwnlAndOrderCount);
        }
        return new ResultUtil<Object>().setData(fwnlAndOrderCountList);
    }
    @RequestMapping(value = "/getFwjgOrderByOrderNumber", method = RequestMethod.GET)
    @ApiOperation(value = "根据区域id和订单量查询服务机构排名情况")
    public Result<Object> getFwjgOrderByOrderNumber(String areaId){
        QueryWrapper<OrgFuwu> wrapper = new QueryWrapper<>();
        wrapper.eq("area_id",areaId);
        List<OrgFuwu> list = iOrgFuwuService.list(wrapper);
        for (OrgFuwu orgFuwu : list) {
            QueryWrapper<FuwuDetails> wrapper1 = new QueryWrapper<>();
            wrapper1.isNull("pid");
            wrapper1.eq("org_fw_id",orgFuwu.getId());
            List<FuwuDetails> list1 = iFuwuDetailsService.list(wrapper1);
            int orgFuwuCount=0;
            for (FuwuDetails fuwuDetails : list1) {
                QueryWrapper<FuwuDetails> wrapper2 = new QueryWrapper<>();
                wrapper2.eq("pid",fuwuDetails.getId());
                List<FuwuDetails> list2 = iFuwuDetailsService.list(wrapper2);
                int fuwuDetailsCount=0;
                for (FuwuDetails details : list2) {
                    QueryWrapper<Order> wrapper3 = new QueryWrapper<>();
                    wrapper3.eq("area_id",areaId);
                    wrapper3.eq("detail_id",details.getId());
                    int count = iOrderService.count(wrapper3);
                    fuwuDetailsCount+=count;
                }
                orgFuwuCount+=fuwuDetailsCount;
            }
            orgFuwu.setOrderNumber(orgFuwuCount);
        }
        List<OrgFuwu> collectList = list.stream().sorted(Comparator.comparing(OrgFuwu::getOrderNumber)).collect(Collectors.toList());
        return new ResultUtil<Object>().setData(collectList.subList(0,10));
    }
    @RequestMapping(value = "/getFuwuDetailsOrderByOrderNumber", method = RequestMethod.GET)
    @ApiOperation(value = "根据区域id和订单量查询实际服务排名情况")
    public Result<Object> getFuwuDetailsOrderByOrderNumber(String areaId){
        QueryWrapper<FuwuDetails> wrapper = new QueryWrapper<>();
        wrapper.isNotNull("pid");
        wrapper.eq("del_flag",0);
        List<FuwuDetails> list = iFuwuDetailsService.list(wrapper);
        for (FuwuDetails fuwuDetails : list) {
            QueryWrapper<Order> wrapper3 = new QueryWrapper<>();
            wrapper3.eq("area_id",areaId);
            wrapper3.eq("detail_id",fuwuDetails.getId());
            int count = iOrderService.count(wrapper3);
            fuwuDetails.setOrderNumber(count);
        }
        List<FuwuDetails> collectList = list.stream().sorted(Comparator.comparing(FuwuDetails::getOrderNumber)).collect(Collectors.toList());
        return new ResultUtil<Object>().setData(collectList.subList(0,10));
    }
    @RequestMapping(value = "/getOrder", method = RequestMethod.GET)
    @ApiOperation(value = "执行中订单")
    public Result<Object> getOrder(String areaId){
        QueryWrapper<Order> wrapper = new QueryWrapper<>();
        wrapper.eq("area_id",areaId);
        wrapper.eq("state",0);
        wrapper.orderByAsc("creat_time");
        List<Order> list = iOrderService.list(wrapper);
        int count = iOrderService.count(wrapper);
        List<OrderByExecute> orderByExecuteList=new ArrayList<>();
        for (Order order : list) {
            OrderByExecute orderByExecute=new OrderByExecute();
            orderByExecute.setOrder(order);
            FuwuPerson person = iFuwuPersonService.getById(order.getPersonId());
            orderByExecute.setFuwuPerson(person);
            FuwuDetails fuwuDetail = iFuwuDetailsService.getById(order.getDetailId());
            orderByExecute.setFuwuDetails(fuwuDetail);
            orderByExecuteList.add(orderByExecute);
        }
        Map<String,Object> map=new HashMap<>();
        map.put("count",count);
        map.put("orderByExecuteList",orderByExecuteList);
        return new ResultUtil<Object>().setData(map);
    }
}
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/FuwuDetails.java
@@ -1,6 +1,7 @@
package cn.cetc54.platform.zhyl.entity;
import cn.cetc54.platform.core.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
@@ -42,4 +43,7 @@
    @Column( length = 24 ,name = "name")
    @ApiModelProperty(value = "服务名称")
    private String name;
    @TableField(exist=false)
    private Integer orderNumber;
}
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/FuwuPerson.java
@@ -26,6 +26,10 @@
    private static final long serialVersionUID = 1L;
    @Column( length = 24 ,name = "area_id")
    @ApiModelProperty(value = "区域id")
    private String areaId;
    @Column( length = 10 ,name = "name")
    @ApiModelProperty(value = "名称")
    private String name;
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/OrgFuwu.java
@@ -1,6 +1,7 @@
package cn.cetc54.platform.zhyl.entity;
import cn.cetc54.platform.core.base.BaseEntity;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
@@ -33,4 +34,7 @@
    @Column( length = 24 ,name = "area_id")
    @ApiModelProperty(value = "区域id")
    private String areaId;
    @TableField(exist=false)
    private Integer orderNumber;
}
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/FwjgCount.java
New file
@@ -0,0 +1,11 @@
package cn.cetc54.platform.zhyl.entity.vo;
import lombok.Data;
@Data
public class FwjgCount {
    private Integer fwjgCount;
    private Integer fwPersonCount;
    private Integer orderCount;
    private String orderWatch;
}
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/FwnlAndOrderCount.java
New file
@@ -0,0 +1,12 @@
package cn.cetc54.platform.zhyl.entity.vo;
import cn.cetc54.platform.zhyl.entity.FuwuDetails;
import lombok.Data;
import java.util.List;
@Data
public class FwnlAndOrderCount {
    private FuwuDetails fuwuDetails;
    private List<FuwuDetails> fuwuDetailsList;
}
platform-modules/platform-zhyl/src/main/java/cn/cetc54/platform/zhyl/entity/vo/OrderByExecute.java
New file
@@ -0,0 +1,13 @@
package cn.cetc54.platform.zhyl.entity.vo;
import cn.cetc54.platform.zhyl.entity.FuwuDetails;
import cn.cetc54.platform.zhyl.entity.FuwuPerson;
import cn.cetc54.platform.zhyl.entity.Order;
import lombok.Data;
@Data
public class OrderByExecute {
    private Order order;
    private FuwuPerson fuwuPerson;
    private FuwuDetails fuwuDetails;
}