Commit 779a8a90 authored by 赵啸非's avatar 赵啸非

修改热门词汇

parent 7807ac81
Pipeline #2398 canceled with stages
......@@ -85,31 +85,37 @@ PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='基础事项业务';
-- ----------------------------
-- 事项申请材料业务
-- 事项申请材料表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_xhx_matter`;
CREATE TABLE mortals_xhx_matter(
DROP TABLE IF EXISTS `mortals_xhx_matter_datum`;
CREATE TABLE mortals_xhx_matter_datum(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键,自增长',
`siteId` bigint(20) COMMENT '站点ID',
`tid` varchar(128) COMMENT '从政务系统来的事项id',
`tcode` varchar(128) COMMENT '从政务系统来的事项code',
`tname` varchar(255) COMMENT '从政务系统来的事项name',
`matterName` varchar(255) COMMENT '事项名称',
`englishName` varchar(256) COMMENT '英语事项名',
`matterNo` varchar(255) COMMENT '事项编号',
`matterFullName` varchar(255) COMMENT '事项全称',
`siteId` bigint(20) COMMENT '站点id',
`matterId` bigint(20) COMMENT '事项matter id',
`deptId` bigint(20) COMMENT '部门ID',
`deptCode` varchar(256) COMMENT '部门编号',
`deptName` varchar(64) COMMENT '部门名称',
`deptCode` varchar(255) COMMENT '部门编码',
`deptName` varchar(255) COMMENT '部门名称',
`materialName` varchar(1024) NOT NULL COMMENT '材料名',
`materiaFullName` varchar(1024) NOT NULL COMMENT '材料全名',
`source` tinyint(2) COMMENT '事项来源(0.政务网,1.自定义)',
`isRecommend` tinyint(2) COMMENT '是否推荐(0.未推荐,1.推荐)',
`total` int(8) COMMENT '填单次数',
`sort` int(4) COMMENT '排序',
`isRecommend` tinyint(2) COMMENT '是否推荐(0.未推荐,1.推荐)',
`source` tinyint(2) COMMENT '事项来源(0.手动添加,1.站点事项)',
`samplePrint` int(9) COMMENT '样表打印次数',
`fileName` varchar(255) COMMENT '填单的附件名称',
`fileUrl` varchar(255) COMMENT '填单的附件下载地址',
`sampleName` varchar(255) COMMENT '样表名称',
`samplePath` varchar(255) COMMENT '样表地址',
`templateName` varchar(255) COMMENT '模板名称',
`templatePath` varchar(255) COMMENT '模板地址',
`preViewPath` varchar(255) COMMENT '样表预览地址',
`formContent` mediumtext COMMENT '表单内容',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
`updateTime` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='事项申请材料业务';
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='事项申请材料';
-- ----------------------------
-- 事项材料公共库表
......@@ -151,12 +157,16 @@ CREATE TABLE mortals_xhx_hotword(
`hotwords` varchar(512) COMMENT '热门词汇',
`printDisplay` int(4) COMMENT '空白打印材料展示数量',
`newsSource` tinyint(4) COMMENT '新闻来源(1.热点新闻,2.本地要闻,3.政策发布,4.通知公告)',
`searchCount` int(9) COMMENT '查询次数',
`wordsSource` tinyint(4) COMMENT '热门词汇来源(1.手动添加,2.查询添加)',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
`updateTime` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='热门词汇业务';
-- ----------------------------
-- 事项申请材料业务表
-- ----------------------------
......@@ -188,6 +198,25 @@ CREATE TABLE mortals_xhx_matter_datum(
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='事项申请材料业务';
-- ----------------------------
-- 打印提交表
-- ----------------------------
DROP TABLE IF EXISTS `mortals_fill_matter_datum_print`;
CREATE TABLE mortals_fill_matter_datum_print(
`id` bigint(20) AUTO_INCREMENT COMMENT '主键,自增长',
`orderId` varchar(64) COMMENT '打印订单',
`materialId` bigint(20) COMMENT '材料Id',
`materialName` varchar(1024) NOT NULL COMMENT '材料名',
`page` int(8) COMMENT '材料页数',
`type` tinyint(2) COMMENT '打印类型(1.本地打印,2.在线打印)',
`docPath` varchar(255) COMMENT '合成doc后地址',
`formContent` mediumtext COMMENT '提交的表单',
`createTime` datetime COMMENT '创建时间',
`createUserId` bigint(20) COMMENT '创建用户',
`updateTime` datetime COMMENT '修改时间',
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='打印提交';
......
package com.mortals.xhx.common.code;
import java.util.LinkedHashMap;
import java.util.Map;
/**
* 打印类型(1.本地打印,2.在线打印)枚举类
*
* @author zxfei
*/
public enum TypeEnum {
本地打印(1, "本地打印"),
在线打印(2, "在线打印");
private Integer value;
private String desc;
TypeEnum(Integer value, String desc) {
this.value = value;
this.desc = desc;
}
public Integer getValue() {
return this.value;
}
public String getDesc() {
return this.desc;
}
public static TypeEnum getByValue(Integer value) {
for (TypeEnum typeEnum : TypeEnum.values()) {
if (typeEnum.getValue() == value) {
return typeEnum;
}
}
return null;
}
/**
* 获取Map集合
*
* @param eItem 不包含项
* @return
*/
public static Map<String, String> getEnumMap(Integer... eItem) {
Map<String, String> resultMap = new LinkedHashMap<>();
for (TypeEnum item : TypeEnum.values()) {
try {
boolean hasE = false;
for (Integer e : eItem) {
if (item.getValue() == e) {
hasE = true;
break;
}
}
if (!hasE) {
resultMap.put(item.getValue() + "", item.getDesc());
}
} catch (Exception ex) {
}
}
return resultMap;
}
}
\ No newline at end of file
package com.mortals.xhx.common.utils;
import org.apache.commons.collections4.CollectionUtils;
import java.util.Collections;
import java.util.List;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
import java.util.function.Function;
import java.util.function.Predicate;
import java.util.stream.Collectors;
/**
* @author: zxfei
* @date: 2022/6/28 14:38
* @description: 内存分页
**/
public class MemoryPagination {
/**
* 内存分页
*
* @param records 待分页的数据
* @param pageNum 当前页码
* @param pageSize 每页显示的条数
* @return 分页之后的数据
*/
public static <T> List<T> pagination(List<T> records, int pageNum, int pageSize) {
if (CollectionUtils.isEmpty(records)) {
return Collections.emptyList();
}
int totalCount = records.size();
int remainder = totalCount % pageSize;
int pageCount = (remainder > 0) ? totalCount / pageSize + 1 : totalCount / pageSize;
if (remainder == 0) {
return records.stream().skip((pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
} else {
if (pageNum == pageCount) {
return records.stream().skip((pageNum - 1) * pageSize).limit(totalCount).collect(Collectors.toList());
} else {
return records.stream().skip((pageNum - 1) * pageSize).limit(pageSize).collect(Collectors.toList());
}
}
}
public static <T> Predicate<T> distinctByKey(Function<? super T, ?> keyExtractor) {
Set<Object> seen = ConcurrentHashMap.newKeySet();
return t -> seen.add(keyExtractor.apply(t));
}
}
......@@ -8,6 +8,10 @@ import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.ap.GlobalSysInfo;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.service.IUser;
import com.mortals.framework.util.DataUtil;
import com.mortals.framework.util.HttpUtil;
......@@ -17,6 +21,7 @@ import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.NewsSourceEnum;
import com.mortals.xhx.common.code.YesNoEnum;
import com.mortals.xhx.common.key.Constant;
import com.mortals.xhx.common.utils.MemoryPagination;
import com.mortals.xhx.feign.base.IApiBaseManagerFeign;
import com.mortals.xhx.feign.base.pdu.DeptPdu;
import com.mortals.xhx.feign.base.pdu.SitePdu;
......@@ -33,13 +38,18 @@ import com.mortals.xhx.module.matter.model.MatterEntity;
import com.mortals.xhx.module.matter.model.MatterQuery;
import com.mortals.xhx.module.matter.service.MatterDatumService;
import com.mortals.xhx.module.matter.service.MatterService;
import org.apache.poi.ss.formula.functions.T;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.*;
import java.util.*;
import java.util.stream.Collectors;
import static com.mortals.framework.ap.SysConstains.MESSAGE_INFO;
import static com.mortals.framework.ap.SysConstains.PAGEINFO_KEY;
@RestController
@RequestMapping("home")
public class HomeController extends BaseJsonBodyController {
......@@ -106,10 +116,6 @@ public class HomeController extends BaseJsonBodyController {
@PostMapping({"dept/list"})
@UnAuth
public Rest<Object> deptList(@RequestBody HomeQueryPdu queryPdu) {
// IUser user = this.getCurUser();
// if(user==null){
// throw new AppException("用户未登录");
// }
Rest<Object> ret = new Rest();
Map<String, Object> model = new HashMap();
String busiDesc = "查询站点部门列表";
......@@ -146,8 +152,6 @@ public class HomeController extends BaseJsonBodyController {
return ret;
}
@PostMapping({"notice/list"})
@UnAuth
public String noteList(@RequestBody HomeQueryPdu queryPdu) {
......@@ -160,10 +164,10 @@ public class HomeController extends BaseJsonBodyController {
int code = VALUE_RESULT_SUCCESS;
try {
Map<String, String> params = new HashMap<>();
params.put("siteid",queryPdu.getSiteId().toString());
params.put("type",queryPdu.getType().toString());
params.put("page",queryPdu.getPage().toString());
params.put("size",queryPdu.getSize().toString());
params.put("siteid", queryPdu.getSiteId().toString());
params.put("type", queryPdu.getType().toString());
params.put("page", queryPdu.getPage().toString());
params.put("size", queryPdu.getSize().toString());
UrlBuilder urlBuilder = domain.addPath("news").addPath("newsList");
String response = HttpUtil.doGet(urlBuilder.toString(), params);
this.recordSysLog(this.request, busiDesc + " 【成功】");
......@@ -181,7 +185,6 @@ public class HomeController extends BaseJsonBodyController {
@GetMapping({"notice/info"})
@UnAuth
public String noteInfo(Long id) {
String url = GlobalSysInfo.getParamValue(Constant.PARAMS_NOTICE_URL, "http://192.168.0.98:8090/api/");
UrlBuilder domain = UrlBuilder.of(url);
Rest<Object> ret = new Rest();
......@@ -190,7 +193,7 @@ public class HomeController extends BaseJsonBodyController {
int code = VALUE_RESULT_SUCCESS;
try {
Map<String, String> params = new HashMap<>();
params.put("id",id.toString());
params.put("id", id.toString());
UrlBuilder urlBuilder = domain.addPath("news").addPath("newInfo");
String response = HttpUtil.doGet(urlBuilder.toString(), params);
this.recordSysLog(this.request, busiDesc + " 【成功】");
......@@ -215,11 +218,11 @@ public class HomeController extends BaseJsonBodyController {
try {
String paths = matterDatumService.mergeFormToDoc(docFormVo, getContext());
String[] vals = paths.split(";");
if(vals.length>1){
if (vals.length > 1) {
jsonObject.put(KEY_RESULT_CODE, VALUE_RESULT_SUCCESS);
jsonObject.put("mergeDoc", vals[0]);
jsonObject.put("preview", vals[1]);
}else{
} else {
throw new AppException("合成表单异常!");
}
......@@ -245,7 +248,16 @@ public class HomeController extends BaseJsonBodyController {
String busiDesc = "获取首页数据";
int code = VALUE_RESULT_SUCCESS;
try {
List<String> hotwordEntities = hotwordService.find(new HotwordQuery().siteId(homeQueryPdu.getSiteId())).stream()
HotwordQuery hotwordQuery = new HotwordQuery();
hotwordQuery.siteId(homeQueryPdu.getSiteId());
List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("searchCount", OrderCol.DESCENDING));
orderColList.add(new OrderCol("wordsSource", OrderCol.ASCENDING));
hotwordQuery.setOrderColList(orderColList);
List<String> hotwordEntities = hotwordService.find(hotwordQuery, new PageInfo(), null).getList().stream()
.map(HotwordEntity::getHotwords)
.flatMap(item -> StrUtil.split(item, ",".charAt(0)).stream())
.collect(Collectors.toList());
......@@ -267,15 +279,15 @@ public class HomeController extends BaseJsonBodyController {
model.put("datumCont", datumCont); //入驻表单数量
model.put("localPrint", 20); //本地打印数量
model.put("onlineSubmit", 20); //在线提交数量
model.put("onlineSubmit", 0); //在线提交数量
model.put("dayThrift", 66); //今日节约
model.put("totalThrift", 996); //累计节约
Rest<com.mortals.xhx.common.pdu.site.SitePdu> info = siteFeign.info(homeQueryPdu.getSiteId());
model.put("title", info==null?"":info.getData().getSiteName()); //标题
model.put("title", info == null ? "" : info.getData().getSiteName()); //标题
HotwordEntity hotwordEntity = hotwordService.selectOne(new HotwordQuery().siteId(homeQueryPdu.getSiteId()));
model.put("blankCount", hotwordEntity==null?20:hotwordEntity.getPrintDisplay()); //空白样表数量
model.put("newsSource", hotwordEntity==null?1:hotwordEntity.getNewsSource()); //新闻来源
HotwordEntity hotwordEntity = hotwordService.selectOne(hotwordQuery.siteId(homeQueryPdu.getSiteId()));
model.put("blankCount", hotwordEntity == null ? 20 : hotwordEntity.getPrintDisplay()); //空白样表数量
model.put("newsSource", hotwordEntity == null ? 1 : hotwordEntity.getNewsSource()); //新闻来源
model.put("message_info", busiDesc + "成功");
this.addDict(model, "newsSource", NewsSourceEnum.getEnumMap());
this.recordSysLog(this.request, busiDesc + " 【成功】");
......@@ -290,4 +302,6 @@ public class HomeController extends BaseJsonBodyController {
ret.setMsg(model.get("message_info") == null ? "" : model.remove("message_info").toString());
return ret;
}
}
package com.mortals.xhx.module.hotword.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.hotword.model.vo.HotwordVo;
/**
* 热门词汇业务实体对象
*
* @author zxfei
* @date 2022-12-06
*/
* 热门词汇业务实体对象
*
* @author zxfei
* @date 2022-12-07
*/
public class HotwordEntity extends HotwordVo {
private static final long serialVersionUID = 1L;
......@@ -32,6 +27,14 @@ public class HotwordEntity extends HotwordVo {
* 新闻来源(1.热点新闻,2.本地要闻,3.政策发布,4.通知公告)
*/
private Integer newsSource;
/**
* 查询次数
*/
private Integer searchCount;
/**
* 热门词汇来源(1.手动添加,2.查询添加)
*/
private Integer wordsSource;
......@@ -92,6 +95,34 @@ public class HotwordEntity extends HotwordVo {
public void setNewsSource(Integer newsSource){
this.newsSource = newsSource;
}
/**
* 获取 查询次数
* @return Integer
*/
public Integer getSearchCount(){
return searchCount;
}
/**
* 设置 查询次数
* @param searchCount
*/
public void setSearchCount(Integer searchCount){
this.searchCount = searchCount;
}
/**
* 获取 热门词汇来源(1.手动添加,2.查询添加)
* @return Integer
*/
public Integer getWordsSource(){
return wordsSource;
}
/**
* 设置 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSource
*/
public void setWordsSource(Integer wordsSource){
this.wordsSource = wordsSource;
}
......@@ -118,6 +149,8 @@ public class HotwordEntity extends HotwordVo {
sb.append(",hotwords:").append(getHotwords());
sb.append(",printDisplay:").append(getPrintDisplay());
sb.append(",newsSource:").append(getNewsSource());
sb.append(",searchCount:").append(getSearchCount());
sb.append(",wordsSource:").append(getWordsSource());
return sb.toString();
}
......@@ -125,10 +158,14 @@ public class HotwordEntity extends HotwordVo {
this.siteId = null;
this.hotwords = null;
this.hotwords = "";
this.printDisplay = 0;
this.newsSource = 1;
this.printDisplay = null;
this.searchCount = 0;
this.newsSource = null;
this.wordsSource = 1;
}
}
\ No newline at end of file
......@@ -3,11 +3,11 @@ package com.mortals.xhx.module.hotword.model;
import java.util.List;
import com.mortals.xhx.module.hotword.model.HotwordEntity;
/**
* 热门词汇业务查询对象
*
* @author zxfei
* @date 2022-12-06
*/
* 热门词汇业务查询对象
*
* @author zxfei
* @date 2022-12-07
*/
public class HotwordQuery extends HotwordEntity {
/** 开始 主键,自增长 */
private Long idStart;
......@@ -60,6 +60,30 @@ public class HotwordQuery extends HotwordEntity {
/** 新闻来源(1.热点新闻,2.本地要闻,3.政策发布,4.通知公告)列表 */
private List <Integer> newsSourceList;
/** 开始 查询次数 */
private Integer searchCountStart;
/** 结束 查询次数 */
private Integer searchCountEnd;
/** 增加 查询次数 */
private Integer searchCountIncrement;
/** 查询次数列表 */
private List <Integer> searchCountList;
/** 开始 热门词汇来源(1.手动添加,2.查询添加) */
private Integer wordsSourceStart;
/** 结束 热门词汇来源(1.手动添加,2.查询添加) */
private Integer wordsSourceEnd;
/** 增加 热门词汇来源(1.手动添加,2.查询添加) */
private Integer wordsSourceIncrement;
/** 热门词汇来源(1.手动添加,2.查询添加)列表 */
private List <Integer> wordsSourceList;
/** 开始 创建时间 */
private String createTimeStart;
......@@ -363,6 +387,134 @@ public class HotwordQuery extends HotwordEntity {
this.newsSourceList = newsSourceList;
}
/**
* 获取 开始 查询次数
* @return searchCountStart
*/
public Integer getSearchCountStart(){
return this.searchCountStart;
}
/**
* 设置 开始 查询次数
* @param searchCountStart
*/
public void setSearchCountStart(Integer searchCountStart){
this.searchCountStart = searchCountStart;
}
/**
* 获取 结束 查询次数
* @return $searchCountEnd
*/
public Integer getSearchCountEnd(){
return this.searchCountEnd;
}
/**
* 设置 结束 查询次数
* @param searchCountEnd
*/
public void setSearchCountEnd(Integer searchCountEnd){
this.searchCountEnd = searchCountEnd;
}
/**
* 获取 增加 查询次数
* @return searchCountIncrement
*/
public Integer getSearchCountIncrement(){
return this.searchCountIncrement;
}
/**
* 设置 增加 查询次数
* @param searchCountIncrement
*/
public void setSearchCountIncrement(Integer searchCountIncrement){
this.searchCountIncrement = searchCountIncrement;
}
/**
* 获取 查询次数
* @return searchCountList
*/
public List<Integer> getSearchCountList(){
return this.searchCountList;
}
/**
* 设置 查询次数
* @param searchCountList
*/
public void setSearchCountList(List<Integer> searchCountList){
this.searchCountList = searchCountList;
}
/**
* 获取 开始 热门词汇来源(1.手动添加,2.查询添加)
* @return wordsSourceStart
*/
public Integer getWordsSourceStart(){
return this.wordsSourceStart;
}
/**
* 设置 开始 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSourceStart
*/
public void setWordsSourceStart(Integer wordsSourceStart){
this.wordsSourceStart = wordsSourceStart;
}
/**
* 获取 结束 热门词汇来源(1.手动添加,2.查询添加)
* @return $wordsSourceEnd
*/
public Integer getWordsSourceEnd(){
return this.wordsSourceEnd;
}
/**
* 设置 结束 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSourceEnd
*/
public void setWordsSourceEnd(Integer wordsSourceEnd){
this.wordsSourceEnd = wordsSourceEnd;
}
/**
* 获取 增加 热门词汇来源(1.手动添加,2.查询添加)
* @return wordsSourceIncrement
*/
public Integer getWordsSourceIncrement(){
return this.wordsSourceIncrement;
}
/**
* 设置 增加 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSourceIncrement
*/
public void setWordsSourceIncrement(Integer wordsSourceIncrement){
this.wordsSourceIncrement = wordsSourceIncrement;
}
/**
* 获取 热门词汇来源(1.手动添加,2.查询添加)
* @return wordsSourceList
*/
public List<Integer> getWordsSourceList(){
return this.wordsSourceList;
}
/**
* 设置 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSourceList
*/
public void setWordsSourceList(List<Integer> wordsSourceList){
this.wordsSourceList = wordsSourceList;
}
/**
* 获取 开始 创建时间
* @return createTimeStart
......@@ -690,6 +842,96 @@ public class HotwordQuery extends HotwordEntity {
return this;
}
/**
* 设置 查询次数
* @param searchCount
*/
public HotwordQuery searchCount(Integer searchCount){
setSearchCount(searchCount);
return this;
}
/**
* 设置 开始 查询次数
* @param searchCountStart
*/
public HotwordQuery searchCountStart(Integer searchCountStart){
this.searchCountStart = searchCountStart;
return this;
}
/**
* 设置 结束 查询次数
* @param searchCountEnd
*/
public HotwordQuery searchCountEnd(Integer searchCountEnd){
this.searchCountEnd = searchCountEnd;
return this;
}
/**
* 设置 增加 查询次数
* @param searchCountIncrement
*/
public HotwordQuery searchCountIncrement(Integer searchCountIncrement){
this.searchCountIncrement = searchCountIncrement;
return this;
}
/**
* 设置 查询次数
* @param searchCountList
*/
public HotwordQuery searchCountList(List<Integer> searchCountList){
this.searchCountList = searchCountList;
return this;
}
/**
* 设置 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSource
*/
public HotwordQuery wordsSource(Integer wordsSource){
setWordsSource(wordsSource);
return this;
}
/**
* 设置 开始 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSourceStart
*/
public HotwordQuery wordsSourceStart(Integer wordsSourceStart){
this.wordsSourceStart = wordsSourceStart;
return this;
}
/**
* 设置 结束 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSourceEnd
*/
public HotwordQuery wordsSourceEnd(Integer wordsSourceEnd){
this.wordsSourceEnd = wordsSourceEnd;
return this;
}
/**
* 设置 增加 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSourceIncrement
*/
public HotwordQuery wordsSourceIncrement(Integer wordsSourceIncrement){
this.wordsSourceIncrement = wordsSourceIncrement;
return this;
}
/**
* 设置 热门词汇来源(1.手动添加,2.查询添加)
* @param wordsSourceList
*/
public HotwordQuery wordsSourceList(List<Integer> wordsSourceList){
this.wordsSourceList = wordsSourceList;
return this;
}
/**
* 设置 创建用户
......
......@@ -7,29 +7,29 @@ import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.matter.model.vo.MatterDatumVo;
/**
* 事项申请材料业务实体对象
* 事项申请材料实体对象
*
* @author zxfei
* @date 2022-11-18
* @date 2022-12-07
*/
public class MatterDatumEntity extends MatterDatumVo {
private static final long serialVersionUID = 1L;
/**
* 事项matter id
* 站点id
*/
private Long matterId;
private Long siteId;
/**
* 站点ID
* 事项matter id
*/
private Long siteId;
private Long matterId;
/**
* 部门ID
*/
private Long deptId;
/**
* 部门编
* 部门编
*/
private String deptCode;
/**
......@@ -60,6 +60,10 @@ public class MatterDatumEntity extends MatterDatumVo {
* 排序
*/
private Integer sort;
/**
* 样表打印次数
*/
private Integer samplePrint;
/**
* 填单的附件名称
*/
......@@ -97,32 +101,32 @@ public class MatterDatumEntity extends MatterDatumVo {
public MatterDatumEntity(){}
/**
* 获取 事项matter id
* 获取 站点id
* @return Long
*/
public Long getMatterId(){
return matterId;
public Long getSiteId(){
return siteId;
}
/**
* 设置 事项matter id
* @param matterId
* 设置 站点id
* @param siteId
*/
public void setMatterId(Long matterId){
this.matterId = matterId;
public void setSiteId(Long siteId){
this.siteId = siteId;
}
/**
* 获取 站点ID
* 获取 事项matter id
* @return Long
*/
public Long getSiteId(){
return siteId;
public Long getMatterId(){
return matterId;
}
/**
* 设置 站点ID
* @param siteId
* 设置 事项matter id
* @param matterId
*/
public void setSiteId(Long siteId){
this.siteId = siteId;
public void setMatterId(Long matterId){
this.matterId = matterId;
}
/**
* 获取 部门ID
......@@ -139,14 +143,14 @@ public class MatterDatumEntity extends MatterDatumVo {
this.deptId = deptId;
}
/**
* 获取 部门编
* 获取 部门编
* @return String
*/
public String getDeptCode(){
return deptCode;
}
/**
* 设置 部门编
* 设置 部门编
* @param deptCode
*/
public void setDeptCode(String deptCode){
......@@ -250,6 +254,20 @@ public class MatterDatumEntity extends MatterDatumVo {
public void setSort(Integer sort){
this.sort = sort;
}
/**
* 获取 样表打印次数
* @return Integer
*/
public Integer getSamplePrint(){
return samplePrint;
}
/**
* 设置 样表打印次数
* @param samplePrint
*/
public void setSamplePrint(Integer samplePrint){
this.samplePrint = samplePrint;
}
/**
* 获取 填单的附件名称
* @return String
......@@ -384,8 +402,8 @@ public class MatterDatumEntity extends MatterDatumVo {
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",matterId:").append(getMatterId());
sb.append(",siteId:").append(getSiteId());
sb.append(",matterId:").append(getMatterId());
sb.append(",deptId:").append(getDeptId());
sb.append(",deptCode:").append(getDeptCode());
sb.append(",deptName:").append(getDeptName());
......@@ -395,6 +413,7 @@ public class MatterDatumEntity extends MatterDatumVo {
sb.append(",isRecommend:").append(getIsRecommend());
sb.append(",total:").append(getTotal());
sb.append(",sort:").append(getSort());
sb.append(",samplePrint:").append(getSamplePrint());
sb.append(",fileName:").append(getFileName());
sb.append(",fileUrl:").append(getFileUrl());
sb.append(",sampleName:").append(getSampleName());
......@@ -408,10 +427,10 @@ public class MatterDatumEntity extends MatterDatumVo {
public void initAttrValue(){
this.matterId = null;
this.siteId = null;
this.matterId = null;
this.deptId = null;
this.deptCode = "";
......@@ -430,11 +449,13 @@ public class MatterDatumEntity extends MatterDatumVo {
this.sort = 0;
this.samplePrint = 0;
this.fileName = "";
this.fileUrl = "";
this.sampleName = "";
this.sampleName = null;
this.samplePath = "";
......@@ -444,6 +465,6 @@ public class MatterDatumEntity extends MatterDatumVo {
this.preViewPath = "";
this.formContent = "";
this.formContent = null;
}
}
\ No newline at end of file
......@@ -10,6 +10,9 @@ import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.code.MatterSourceEnum;
import com.mortals.xhx.common.key.ParamKey;
import com.mortals.xhx.common.utils.StringUtils;
import com.mortals.xhx.module.hotword.model.HotwordEntity;
import com.mortals.xhx.module.hotword.model.HotwordQuery;
import com.mortals.xhx.module.hotword.service.HotwordService;
import com.mortals.xhx.module.matter.model.MatterDatumQuery;
import com.mortals.xhx.module.matter.service.MatterDatumService;
import org.springframework.beans.factory.annotation.Autowired;
......@@ -44,6 +47,8 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe
@Autowired
private ParamService paramService;
@Autowired
private HotwordService hotwordService;
@Autowired
private MatterDatumService matterDatumService;
......@@ -65,8 +70,24 @@ public class MatterController extends BaseCRUDJsonBodyMappingController<MatterSe
query.setMatterName("%".concat(query.getMatterName()).concat("%"));
}
List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("createTime",OrderCol.DESCENDING));
orderColList.add(new OrderCol("isRecommend",OrderCol.DESCENDING));
query.setOrderColList(orderColList);
//添加更新热门词汇
HotwordEntity hotwordEntity = hotwordService.selectOne(new HotwordQuery().siteId(query.getSiteId()).hotwords(query.getMatterName()), context);
if (ObjectUtils.isEmpty(hotwordEntity)) {
//新增
hotwordEntity = new HotwordEntity();
hotwordEntity.initAttrValue();
hotwordEntity.setHotwords(query.getMatterName());
hotwordEntity.setSearchCount(1);
hotwordService.save(hotwordEntity, context);
} else {
//更新
hotwordEntity.setSearchCount(1+hotwordEntity.getSearchCount());
hotwordService.update(hotwordEntity,context);
}
super.doListBefore(query, model, context);
}
......
package com.mortals.xhx.module.matter.web;
import com.mortals.framework.annotation.UnAuth;
import com.mortals.framework.common.Rest;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.OrderCol;
import com.mortals.framework.model.PageInfo;
import com.mortals.framework.model.Result;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import com.mortals.xhx.common.key.ParamKey;
import com.mortals.xhx.common.utils.MemoryPagination;
import com.mortals.xhx.common.utils.StringUtils;
import com.mortals.xhx.module.hotword.model.HotwordEntity;
import com.mortals.xhx.module.hotword.model.HotwordQuery;
import com.mortals.xhx.module.hotword.service.HotwordService;
import com.mortals.xhx.module.matter.model.MatterDatumQuery;
import org.checkerframework.checker.units.qual.A;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.ObjectUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.matter.model.MatterDatumEntity;
import com.mortals.xhx.module.matter.service.MatterDatumService;
......@@ -20,32 +33,36 @@ import org.apache.commons.lang3.ArrayUtils;
import java.util.*;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 事项申请材料
*
* @author zxfei
* @date 2022-09-27
*/
* 事项申请材料
*
* @author zxfei
* @date 2022-09-27
*/
@RestController
@RequestMapping("matter/datum")
public class MatterDatumController extends BaseCRUDJsonBodyMappingController<MatterDatumService,MatterDatumEntity,Long> {
public class MatterDatumController extends BaseCRUDJsonBodyMappingController<MatterDatumService, MatterDatumEntity, Long> {
@Autowired
private ParamService paramService;
@Autowired
private HotwordService hotwordService;
public MatterDatumController(){
super.setModuleDesc( "事项申请材料");
public MatterDatumController() {
super.setModuleDesc("事项申请材料");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "source", paramService.getParamBySecondOrganize("MatterDatum","source"));
this.addDict(model, "isRecommend", paramService.getParamBySecondOrganize("MatterDatum","isRecommend"));
this.addDict(model, "source", paramService.getParamBySecondOrganize("MatterDatum", "source"));
this.addDict(model, "isRecommend", paramService.getParamBySecondOrganize("MatterDatum", "isRecommend"));
super.init(model, context);
}
......@@ -53,9 +70,25 @@ public class MatterDatumController extends BaseCRUDJsonBodyMappingController<Mat
protected void doListBefore(MatterDatumEntity query, Map<String, Object> model, Context context) throws AppException {
if (StringUtils.isNotEmpty(query.getMatterName())) {
query.setMatterName("%".concat(query.getMatterName()).concat("%"));
//添加更新热门词汇
HotwordEntity hotwordEntity = hotwordService.selectOne(new HotwordQuery().siteId(query.getSiteId()).hotwords(query.getMatterName()), context);
if (ObjectUtils.isEmpty(hotwordEntity)) {
//新增
hotwordEntity = new HotwordEntity();
hotwordEntity.initAttrValue();
hotwordEntity.setHotwords(query.getMatterName());
hotwordEntity.setSearchCount(1);
hotwordService.save(hotwordEntity, context);
} else {
//更新
hotwordEntity.setSearchCount(1 + hotwordEntity.getSearchCount());
hotwordService.update(hotwordEntity, context);
}
}
List<OrderCol> orderColList = new ArrayList<>();
orderColList.add(new OrderCol("isRecommend",OrderCol.DESCENDING));
orderColList.add(new OrderCol("createTime", OrderCol.DESCENDING));
orderColList.add(new OrderCol("isRecommend", OrderCol.DESCENDING));
query.setOrderColList(orderColList);
super.doListBefore(query, model, context);
}
......@@ -103,4 +136,40 @@ public class MatterDatumController extends BaseCRUDJsonBodyMappingController<Mat
ret.put("data", model);
return ret.toJSONString();
}
//空白样表查询
@PostMapping(value = "blanklist")
@UnAuth
public Rest<Object> list(@RequestBody MatterDatumQuery 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 = buildPageInfo(query);
HotwordQuery hotwordQuery = new HotwordQuery();
HotwordEntity hotwordEntity = hotwordService.selectOne(hotwordQuery.siteId(query.getSiteId()));
int blankCount = hotwordEntity == null ? 20 : hotwordEntity.getPrintDisplay(); //空白样表数量
PageInfo pageInfo = new PageInfo();
pageInfo.setPrePageResult(blankCount);
Result<MatterDatumEntity> result = this.service.find(query, pageInfo, context);
//内存分页
List<MatterDatumEntity> pagination = MemoryPagination.pagination(result.getList(), query.getPage(), query.getSize());
model.put(KEY_RESULT_DATA, pagination);
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.setDict(model.get(KEY_RESULT_DICT));
ret.setMsg(model.get(MESSAGE_INFO) == null ? "" : model.remove(MESSAGE_INFO).toString());
return ret;
}
}
\ No newline at end of file
package com.mortals.xhx.module.mortals.dao;
import com.mortals.framework.dao.ICRUDDao;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
import java.util.List;
/**
* 打印提交Dao
* 打印提交 DAO接口
*
* @author zxfei
* @date 2022-12-07
*/
public interface MortalsFillMatterDatumPrintDao extends ICRUDDao<MortalsFillMatterDatumPrintEntity,Long>{
}
package com.mortals.xhx.module.mortals.dao.ibatis;
import org.springframework.stereotype.Repository;
import com.mortals.xhx.module.mortals.dao.MortalsFillMatterDatumPrintDao;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
import java.util.Date;
import com.mortals.framework.dao.ibatis.BaseCRUDDaoMybatis;
import java.util.List;
/**
* 打印提交DaoImpl DAO接口
*
* @author zxfei
* @date 2022-12-07
*/
@Repository("mortalsFillMatterDatumPrintDao")
public class MortalsFillMatterDatumPrintDaoImpl extends BaseCRUDDaoMybatis<MortalsFillMatterDatumPrintEntity,Long> implements MortalsFillMatterDatumPrintDao {
}
package com.mortals.xhx.module.mortals.model;
import java.util.List;
import java.util.ArrayList;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.mortals.framework.annotation.Excel;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.mortals.model.vo.MortalsFillMatterDatumPrintVo;
/**
* 打印提交实体对象
*
* @author zxfei
* @date 2022-12-07
*/
public class MortalsFillMatterDatumPrintEntity extends MortalsFillMatterDatumPrintVo {
private static final long serialVersionUID = 1L;
/**
* 打印订单
*/
private String orderId;
/**
* 材料Id
*/
private Long materialId;
/**
* 材料名
*/
private String materialName;
/**
* 材料页数
*/
private Integer page;
/**
* 打印类型(1.本地打印,2.在线打印)
*/
private Integer type;
/**
* 合成doc后地址
*/
private String docPath;
/**
* 提交的表单
*/
private String formContent;
public MortalsFillMatterDatumPrintEntity(){}
/**
* 获取 打印订单
* @return String
*/
public String getOrderId(){
return orderId;
}
/**
* 设置 打印订单
* @param orderId
*/
public void setOrderId(String orderId){
this.orderId = orderId;
}
/**
* 获取 材料Id
* @return Long
*/
public Long getMaterialId(){
return materialId;
}
/**
* 设置 材料Id
* @param materialId
*/
public void setMaterialId(Long materialId){
this.materialId = materialId;
}
/**
* 获取 材料名
* @return String
*/
public String getMaterialName(){
return materialName;
}
/**
* 设置 材料名
* @param materialName
*/
public void setMaterialName(String materialName){
this.materialName = materialName;
}
/**
* 获取 材料页数
* @return Integer
*/
public Integer getPage(){
return page;
}
/**
* 设置 材料页数
* @param page
*/
public void setPage(Integer page){
this.page = page;
}
/**
* 获取 打印类型(1.本地打印,2.在线打印)
* @return Integer
*/
public Integer getType(){
return type;
}
/**
* 设置 打印类型(1.本地打印,2.在线打印)
* @param type
*/
public void setType(Integer type){
this.type = type;
}
/**
* 获取 合成doc后地址
* @return String
*/
public String getDocPath(){
return docPath;
}
/**
* 设置 合成doc后地址
* @param docPath
*/
public void setDocPath(String docPath){
this.docPath = docPath;
}
/**
* 获取 提交的表单
* @return String
*/
public String getFormContent(){
return formContent;
}
/**
* 设置 提交的表单
* @param formContent
*/
public void setFormContent(String formContent){
this.formContent = formContent;
}
@Override
public int hashCode() {
return this.getId().hashCode();
}
@Override
public boolean equals(Object obj) {
if (obj == null) return false;
if (obj instanceof MortalsFillMatterDatumPrintEntity) {
MortalsFillMatterDatumPrintEntity tmp = (MortalsFillMatterDatumPrintEntity) obj;
if (this.getId() == tmp.getId()) {
return true;
}
}
return false;
}
public String toString(){
StringBuilder sb = new StringBuilder("");
sb.append(",orderId:").append(getOrderId());
sb.append(",materialId:").append(getMaterialId());
sb.append(",materialName:").append(getMaterialName());
sb.append(",page:").append(getPage());
sb.append(",type:").append(getType());
sb.append(",docPath:").append(getDocPath());
sb.append(",formContent:").append(getFormContent());
return sb.toString();
}
public void initAttrValue(){
this.orderId = null;
this.materialId = null;
this.materialName = null;
this.page = null;
this.type = 1;
this.docPath = null;
this.formContent = null;
}
}
\ No newline at end of file
package com.mortals.xhx.module.mortals.model.vo;
import com.mortals.framework.model.BaseEntityLong;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
import java.util.ArrayList;
import java.util.List;
/**
* 打印提交视图对象
*
* @author zxfei
* @date 2022-12-07
*/
public class MortalsFillMatterDatumPrintVo extends BaseEntityLong {
}
\ No newline at end of file
package com.mortals.xhx.module.mortals.service;
import com.mortals.framework.service.ICRUDService;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
/**
* MortalsFillMatterDatumPrintService
*
* 打印提交 service接口
*
* @author zxfei
* @date 2022-12-07
*/
public interface MortalsFillMatterDatumPrintService extends ICRUDService<MortalsFillMatterDatumPrintEntity,Long>{
}
\ No newline at end of file
package com.mortals.xhx.module.mortals.service.impl;
import org.springframework.stereotype.Service;
import com.mortals.framework.service.impl.AbstractCRUDServiceImpl;
import com.mortals.framework.exception.AppException;
import com.mortals.framework.model.Context;
import com.mortals.xhx.module.mortals.dao.MortalsFillMatterDatumPrintDao;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
import com.mortals.xhx.module.mortals.service.MortalsFillMatterDatumPrintService;
/**
* MortalsFillMatterDatumPrintService
* 打印提交 service实现
*
* @author zxfei
* @date 2022-12-07
*/
@Service("mortalsFillMatterDatumPrintService")
public class MortalsFillMatterDatumPrintServiceImpl extends AbstractCRUDServiceImpl<MortalsFillMatterDatumPrintDao, MortalsFillMatterDatumPrintEntity, Long> implements MortalsFillMatterDatumPrintService {
}
\ No newline at end of file
package com.mortals.xhx.module.mortals.web;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.base.system.param.service.ParamService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import com.mortals.framework.model.Context;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import com.mortals.framework.web.BaseCRUDJsonBodyMappingController;
import com.mortals.xhx.module.mortals.model.MortalsFillMatterDatumPrintEntity;
import com.mortals.xhx.module.mortals.service.MortalsFillMatterDatumPrintService;
import org.apache.commons.lang3.ArrayUtils;
import com.mortals.framework.util.StringUtils;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
import com.alibaba.fastjson.JSONObject;
import java.util.Arrays;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import static com.mortals.framework.ap.SysConstains.*;
/**
*
* 打印提交
*
* @author zxfei
* @date 2022-12-07
*/
@RestController
@RequestMapping("mortals/fill/matter/datum/print")
public class MortalsFillMatterDatumPrintController extends BaseCRUDJsonBodyMappingController<MortalsFillMatterDatumPrintService,MortalsFillMatterDatumPrintEntity,Long> {
@Autowired
private ParamService paramService;
public MortalsFillMatterDatumPrintController(){
super.setModuleDesc( "打印提交");
}
@Override
protected void init(Map<String, Object> model, Context context) {
this.addDict(model, "type", paramService.getParamBySecondOrganize("MortalsFillMatterDatumPrint","type"));
super.init(model, context);
}
}
\ No newline at end of file
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