123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156 |
- using MessagePack;
- using System;
- using System.Collections;
- using System.Collections.Generic;
- using System.Text;
- namespace HaBookCms.Response
- {
- [MessagePackObject(keyAsPropertyName: true)]
- public class ResponseBuilder
- {
- private string message = "success";
- private object data;
- private int code = 0;
- private IList<object> datas;
- private int total;
- private int currPage;
- private int pageSize;
- private int totalPage;
- private Dictionary<string, object> extend;
- private ResponseBuilder()
- {
- }
- public static ResponseBuilder custom()
- {
- return new ResponseBuilder();
- }
- public BaseResponse build()
- {
- //if (this.total > 0 && this.pageSize > 0 && this.totalPage <= 0)
- if (this.total > 0 && this.pageSize > 0 )
- {
- this.totalPage = (int)Math.Ceiling((double)this.total / (double)this.pageSize);
- }
- Object baseResponse;
- if (null != this.datas && this.total > 0 && this.currPage > 0 && this.pageSize > 0 && this.totalPage > 0)
- {
- PageDatasResponse<Object> pageDatasResponse = new PageDatasResponse<Object>();
- pageDatasResponse.setCode(this.code);
- pageDatasResponse.setDatas(this.datas);
- pageDatasResponse.setMessage(this.message);
- pageDatasResponse.setPage(new PageResponse((long)this.total, this.currPage, this.pageSize, this.totalPage));
- pageDatasResponse.setExtend(this.extend);
- baseResponse = pageDatasResponse;
- }
- else if (this.datas != null)
- {
- DatasResponse<Object> datasResponse = new DatasResponse<Object>();
- datasResponse.setCode(this.code);
- datasResponse.setDatas(this.datas);
- datasResponse.setMessage(this.message);
- datasResponse.setExtend(this.extend);
- baseResponse = datasResponse;
- }
- else if (this.data != null)
- {
- DataResponse<Object> dataResponse = new DataResponse<Object>();
- dataResponse.setData(this.data);
- dataResponse.setCode(this.code);
- dataResponse.setMessage(this.message);
- dataResponse.setExtend(this.extend);
- baseResponse = dataResponse;
- }
- else
- {
- baseResponse = new BaseResponse();
- ((BaseResponse)baseResponse).setMessage(this.message);
- ((BaseResponse)baseResponse).setCode(this.code);
- ((BaseResponse)baseResponse).setExtend(this.extend);
- }
- return (BaseResponse)baseResponse;
- }
- public ResponseBuilder Extend(Dictionary<String, Object> extend)
- {
- this.extend = extend;
- return this;
- }
- public ResponseBuilder Data(object data)
- {
-
- if (data is IEnumerable && (data.GetType().IsGenericType || data is Array))
- {
- List<object> list = data as List<object>;
-
- // System.Collections.Generic.IList<Object> newAl = data as System.Collections.Generic.IList<Object>;
- this.datas = list;
- }
- else {
- this.data = data;
- }
- return this;
- }
- public ResponseBuilder totalCount(int totalCount)
- {
- this.total = totalCount;
- return this;
- }
- public ResponseBuilder CurrPage(int currPage)
- {
- this.currPage = currPage;
- return this;
- }
- public ResponseBuilder PageSize(int pageSize)
- {
- this.pageSize = pageSize;
- return this;
- }
- public ResponseBuilder TotalPage(int totalPage)
- {
- this.totalPage = totalPage;
- return this;
- }
- public ResponseBuilder success()
- {
- return this;
- }
- public ResponseBuilder success(String message)
- {
- this.message = message;
- return this;
- }
- public ResponseBuilder success(String message, int code)
- {
- this.message = message;
- this.code = code;
- return this;
- }
- public ResponseBuilder failed(String message, int code)
- {
- this.code = code;
- this.message = message;
- return this;
- }
- public ResponseBuilder failed(String message)
- {
- this.code = 1;
- this.message = message;
- return this;
- }
- }
- }
|