Commit cd6ca3cf authored by 赵啸非's avatar 赵啸非

添加微官网列表接口

parent f6081127
package com.mortals.xhx.busiz.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.web.BaseJsonBodyController;
import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.matter.model.MatterQuery;
import com.mortals.xhx.module.matter.model.vo.MatterInfo;
import com.mortals.xhx.module.matter.service.MatterService;
import com.mortals.xhx.module.matters.service.MattersService;
import lombok.extern.apachecommons.CommonsLog;
import org.apache.poi.ss.formula.functions.T;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
import static com.mortals.framework.ap.SysConstains.MESSAGE_INFO;
import static com.mortals.framework.ap.SysConstains.PAGEINFO_KEY;
/**
* 微官网接口
*
* @author:
* @date: 2022/12/14 9:18
*/
@RestController
@CommonsLog
@RequestMapping("micro")
public class MicroWebApiController extends BaseJsonBodyController {
@Autowired
private MatterService matterService;
@PostMapping(value = "matter/list")
@UnAuth
public Rest<Object> list(@RequestBody MatterQuery query) {
Rest<Object> ret = new Rest<>();
Map<String, Object> model = new HashMap<>();
Context context = this.getContext();
String busiDesc = "查询微官网事项列表";
int code = VALUE_RESULT_SUCCESS;
try {
PageInfo pageInfo = this.buildPageInfo(query);
Result<MatterInfo> result = matterService.findMicroList(query, pageInfo, context);
model.put(KEY_RESULT_DATA, result.getList());
model.put(PAGEINFO_KEY, result.getPageInfo());
model.put(MESSAGE_INFO, busiDesc + "成功");
recordSysLog(request, busiDesc + " 【成功】");
} catch (Exception e) {
code = VALUE_RESULT_FAILURE;
this.doException(request, busiDesc, model, e);
}
ret.setCode(code);
ret.setData(model);
ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret;
}
protected PageInfo buildPageInfo(MatterQuery query) {
PageInfo pageInfo = new PageInfo();
if (!ObjectUtils.isEmpty(query) && !ObjectUtils.isEmpty(query.getPage())) {
pageInfo.setCurrPage(query.getPage());
}
if (!ObjectUtils.isEmpty(query) && !ObjectUtils.isEmpty(query.getSize())) {
pageInfo.setPrePageResult(query.getSize());
}
return pageInfo;
}
}
package com.mortals.xhx.module.matter.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import lombok.Data;
import java.util.List;
/**
* 微官网事项
*
* @author:
* @date: 2022/12/14 9:26
*/
@Data
public class MatterInfo {
/**
* 事项id
*/
private Long id;
/**
* 办理站点
*/
private String siteName;
/**
* 办理部门
*/
private String deptName;
/**
* 窗口到现场次数
*/
private Integer windowToTheSceneNum;
/**
* 网办到现场次数
*/
private Integer onlineToTheSceneNum;
/**
* 承诺办结时限
*/
private String promiseTimeLimitShow;
}
\ No newline at end of file
package com.mortals.xhx.module.matter.service; package com.mortals.xhx.module.matter.service;
import com.mortals.framework.common.Rest; import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException; import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context; import com.mortals.framework.model.Context;
...@@ -7,6 +8,8 @@ import com.mortals.framework.model.Result; ...@@ -7,6 +8,8 @@ import com.mortals.framework.model.Result;
import com.mortals.framework.service.ICRUDCacheService; import com.mortals.framework.service.ICRUDCacheService;
import com.mortals.framework.service.ICRUDService; import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.matter.model.MatterEntity; import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.matter.model.MatterQuery;
import com.mortals.xhx.module.matter.model.vo.MatterInfo;
import com.mortals.xhx.module.site.model.SiteEntity; import com.mortals.xhx.module.site.model.SiteEntity;
import com.mortals.xhx.module.site.model.SiteMatterEntity; import com.mortals.xhx.module.site.model.SiteMatterEntity;
import com.mortals.xhx.module.site.model.SiteMatterQuery; import com.mortals.xhx.module.site.model.SiteMatterQuery;
...@@ -16,17 +19,18 @@ import org.w3c.dom.Document; ...@@ -16,17 +19,18 @@ import org.w3c.dom.Document;
import java.util.Map; import java.util.Map;
/** /**
* MatterService * MatterService
* * <p>
* 基础事项 service接口 * 基础事项 service接口
* *
* @author zxfei * @author zxfei
* @date 2022-01-12 * @date 2022-01-12
*/ */
public interface MatterService extends ICRUDService<MatterEntity,Long> { public interface MatterService extends ICRUDService<MatterEntity, Long> {
/** /**
* 添加业务到站点 * 添加业务到站点
*
* @param matterIds * @param matterIds
* @param siteId * @param siteId
* @param context * @param context
...@@ -35,17 +39,19 @@ public interface MatterService extends ICRUDService<MatterEntity,Long> { ...@@ -35,17 +39,19 @@ public interface MatterService extends ICRUDService<MatterEntity,Long> {
/** /**
* 同步政务网事项数据 * 同步政务网事项数据
*
* @param areaCode * @param areaCode
* @param context * @param context
*/ */
void syncMatter(String areaCode,Context context); void syncMatter(String areaCode, Context context);
Map<String,String> getBaseInfoMap(Context context); Map<String, String> getBaseInfoMap(Context context);
Map<String,String> getSqclInfoMap(Context context); Map<String, String> getSqclInfoMap(Context context);
/** /**
* 构建事项详细相关信息 * 构建事项详细相关信息
*
* @param matterEntity * @param matterEntity
* @param context * @param context
*/ */
...@@ -53,12 +59,14 @@ public interface MatterService extends ICRUDService<MatterEntity,Long> { ...@@ -53,12 +59,14 @@ public interface MatterService extends ICRUDService<MatterEntity,Long> {
/** /**
* 添加业务到站点 * 添加业务到站点
*
* @param matterEntity * @param matterEntity
* @param context * @param context
*/ */
Rest<SiteMatterEntity> switchMatterToSiteMatterr(MatterEntity matterEntity, SiteEntity siteEntity, Context context); Rest<SiteMatterEntity> switchMatterToSiteMatterr(MatterEntity matterEntity, SiteEntity siteEntity, Context context);
Result<MatterEntity> findSubList(MatterEntity matterQuery, PageInfo pageInfo, Context context) throws AppException; Result<MatterEntity> findSubList(MatterEntity matterQuery, PageInfo pageInfo, Context context) throws AppException;
Result<MatterInfo> findMicroList(MatterQuery matterQuery, PageInfo pageInfo, Context context) throws AppException;
} }
\ No newline at end of file
...@@ -18,11 +18,13 @@ import com.mortals.xhx.base.framework.config.InterceptorConfig; ...@@ -18,11 +18,13 @@ import com.mortals.xhx.base.framework.config.InterceptorConfig;
import com.mortals.xhx.common.code.FiletypeEnum; import com.mortals.xhx.common.code.FiletypeEnum;
import com.mortals.xhx.common.code.SourceEnum; import com.mortals.xhx.common.code.SourceEnum;
import com.mortals.xhx.common.code.YesNoEnum; import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.utils.BeanUtil;
import com.mortals.xhx.common.utils.MatterDetailHtmlParseUtil; import com.mortals.xhx.common.utils.MatterDetailHtmlParseUtil;
import com.mortals.xhx.module.dept.model.DeptEntity; import com.mortals.xhx.module.dept.model.DeptEntity;
import com.mortals.xhx.module.dept.service.DeptService; import com.mortals.xhx.module.dept.service.DeptService;
import com.mortals.xhx.module.matter.dao.MatterDao; import com.mortals.xhx.module.matter.dao.MatterDao;
import com.mortals.xhx.module.matter.model.*; import com.mortals.xhx.module.matter.model.*;
import com.mortals.xhx.module.matter.model.vo.MatterInfo;
import com.mortals.xhx.module.matter.service.*; import com.mortals.xhx.module.matter.service.*;
import com.mortals.xhx.module.matters.model.MattersDetailEntity; import com.mortals.xhx.module.matters.model.MattersDetailEntity;
import com.mortals.xhx.module.matters.model.MattersDetailQuery; import com.mortals.xhx.module.matters.model.MattersDetailQuery;
...@@ -39,6 +41,7 @@ import org.apache.commons.logging.Log; ...@@ -39,6 +41,7 @@ import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
import org.jsoup.Jsoup; import org.jsoup.Jsoup;
import org.jsoup.nodes.Document; import org.jsoup.nodes.Document;
import org.springframework.beans.BeanUtils;
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.util.ObjectUtils; import org.springframework.util.ObjectUtils;
...@@ -209,6 +212,22 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter ...@@ -209,6 +212,22 @@ public class MatterServiceImpl extends AbstractCRUDServiceImpl<MatterDao, Matter
return this.dao.getSubList(matterQuery, pageInfo); return this.dao.getSubList(matterQuery, pageInfo);
} }
@Override
public Result<MatterInfo> findMicroList(MatterQuery matterQuery, PageInfo pageInfo, Context context) throws AppException {
SiteEntity siteCache = siteService.getCache(matterQuery.getSiteId().toString());
Result<MatterEntity> matterEntityResult = this.find(matterQuery, pageInfo, context);
List<MatterInfo> matterInfoList = matterEntityResult.getList().stream().map(item -> {
MatterInfo matterInfo = new MatterInfo();
BeanUtils.copyProperties(item, matterInfo, BeanUtil.getNullPropertyNames(item));
matterInfo.setSiteName(siteCache == null ? "" : siteCache.getSiteName());
return matterInfo;
}).collect(Collectors.toList());
Result<MatterInfo> matterInfoResult = new Result<>();
matterInfoResult.setList(matterInfoList);
matterInfoResult.setPageInfo(pageInfo);
return matterInfoResult;
}
@Override @Override
public void syncMatter(String areaCode, Context context) { public void syncMatter(String areaCode, Context context) {
......
...@@ -11,4 +11,7 @@ import com.mortals.xhx.module.matters.model.MattersEntity; ...@@ -11,4 +11,7 @@ import com.mortals.xhx.module.matters.model.MattersEntity;
*/ */
public interface MattersService extends ICRUDService<MattersEntity,Long>{ public interface MattersService extends ICRUDService<MattersEntity,Long>{
} }
\ No newline at end of file
...@@ -20,7 +20,7 @@ POST {{baseUrl}}/matter/list ...@@ -20,7 +20,7 @@ POST {{baseUrl}}/matter/list
Content-Type: application/json Content-Type: application/json
{ {
"deptCode": "1151013266047907X5", "idList": [1,2],
"page": 1, "page": 1,
"size": 10 "size": 10
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment