问题知识库开发。
This commit is contained in:
+26
-1
@@ -1,9 +1,13 @@
|
||||
package com.jero.modules.problemKnowledgeBase.controller;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.jero.common.api.vo.Result;
|
||||
import com.jero.common.system.query.QueryGenerator;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
||||
@@ -35,7 +39,7 @@ import com.jero.common.aspect.annotation.AutoLog;
|
||||
public class CountryCardManageReleaseDetailEOController extends JeroController<CountryCardManageReleaseDetailEO, ICountryCardManageReleaseDetailEOService> {
|
||||
@Autowired
|
||||
private ICountryCardManageReleaseDetailEOService countryCardManageReleaseDetailEOService;
|
||||
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
@@ -167,4 +171,25 @@ public class CountryCardManageReleaseDetailEOController extends JeroController<C
|
||||
return super.importExcel(request, response, CountryCardManageReleaseDetailEO.class);
|
||||
}
|
||||
|
||||
/**
|
||||
* 批量编辑
|
||||
*
|
||||
* @param json
|
||||
* @return
|
||||
*/
|
||||
@AutoLog(value = "问题知识库-country_card-管理发布明细表-批量编辑")
|
||||
@ApiOperation(value="问题知识库-country_card-管理发布明细表-批量编辑", notes="问题知识库-country_card-管理发布明细表-批量编辑")
|
||||
@PostMapping(value = "/editBatch")
|
||||
public Result<?> editBatch(@RequestBody JSONObject json) {
|
||||
JSONArray countryCardManageReleaseDetailEOList = json.getJSONArray("countryCardManageReleaseDetailEOList");
|
||||
List<CountryCardManageReleaseDetailEO> releaseDetailEOList = new ArrayList<>();
|
||||
CountryCardManageReleaseDetailEO releaseDetailEO = null;
|
||||
for (Object releaseDetail : countryCardManageReleaseDetailEOList) {
|
||||
releaseDetailEO = JSONObject.parseObject(JSONObject.toJSONString(releaseDetail),CountryCardManageReleaseDetailEO.class);
|
||||
releaseDetailEOList.add(releaseDetailEO);
|
||||
}
|
||||
|
||||
this.countryCardManageReleaseDetailEOService.updateBatchById(releaseDetailEOList);
|
||||
return Result.OK("编辑成功!");
|
||||
}
|
||||
}
|
||||
|
||||
+4
-1
@@ -35,7 +35,7 @@ import com.jero.common.aspect.annotation.AutoLog;
|
||||
public class CountryCardManageReleaseEOController extends JeroController<CountryCardManageReleaseEO, ICountryCardManageReleaseEOService> {
|
||||
@Autowired
|
||||
private ICountryCardManageReleaseEOService countryCardManageReleaseEOService;
|
||||
|
||||
|
||||
/**
|
||||
* 分页列表查询
|
||||
*
|
||||
@@ -51,10 +51,13 @@ public class CountryCardManageReleaseEOController extends JeroController<Country
|
||||
public Result<?> queryPageList(CountryCardManageReleaseEO countryCardManageReleaseEO,
|
||||
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
|
||||
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
|
||||
@RequestParam(name="cut", defaultValue="cn") String cut,
|
||||
HttpServletRequest req) {
|
||||
QueryWrapper<CountryCardManageReleaseEO> queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseEO, req.getParameterMap());
|
||||
queryWrapper.orderByDesc("create_time");
|
||||
Page<CountryCardManageReleaseEO> page = new Page<CountryCardManageReleaseEO>(pageNo, pageSize);
|
||||
IPage<CountryCardManageReleaseEO> pageList = countryCardManageReleaseEOService.page(page, queryWrapper);
|
||||
this.countryCardManageReleaseEOService.disposeData(pageList.getRecords(),cut);
|
||||
return Result.OK(pageList);
|
||||
}
|
||||
|
||||
|
||||
+11
@@ -3,7 +3,10 @@ package com.jero.modules.problemKnowledgeBase.entity;
|
||||
import java.io.Serializable;
|
||||
import java.io.UnsupportedEncodingException;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.List;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.IdType;
|
||||
import com.baomidou.mybatisplus.annotation.TableField;
|
||||
import com.baomidou.mybatisplus.annotation.TableId;
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import lombok.Data;
|
||||
@@ -71,4 +74,12 @@ public class CountryCardManageReleaseEO implements Serializable {
|
||||
@ApiModelProperty(value = "发布状态")
|
||||
private java.lang.String releaseStatus;
|
||||
|
||||
/**发布状态展示字段**/
|
||||
@TableField(exist = false)
|
||||
private String releaseStatus_dictText;
|
||||
|
||||
/**问题知识库-country_card-管理发布明细数组**/
|
||||
@TableField(exist = false)
|
||||
private List<CountryCardManageReleaseDetailEO> countryCardManageReleaseDetailEOList;
|
||||
|
||||
}
|
||||
|
||||
+4
-4
@@ -35,12 +35,12 @@ public enum LableTypeEnum {
|
||||
|
||||
public static String getTextByValue(String value,String cut) {
|
||||
LableTypeEnum[] values = values();
|
||||
for (LableTypeEnum taskStatusEnum : values) {
|
||||
if (taskStatusEnum.value.equals(value)) {
|
||||
for (LableTypeEnum lableTypeEnum : values) {
|
||||
if (lableTypeEnum.value.equals(value)) {
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
return taskStatusEnum.cnName;
|
||||
return lableTypeEnum.cnName;
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
return taskStatusEnum.enName;
|
||||
return lableTypeEnum.enName;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+47
@@ -0,0 +1,47 @@
|
||||
package com.jero.modules.problemKnowledgeBase.enums;
|
||||
|
||||
import com.jero.common.constant.enums.CutEnum;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
|
||||
/**
|
||||
* 发布状态枚举类
|
||||
*/
|
||||
public enum ReleaseStatusEnum {
|
||||
|
||||
HAVE_RELEASED("已发布","Have released","have released"),
|
||||
DRAFT("草稿","Draft","draft"),
|
||||
;
|
||||
|
||||
|
||||
String cnName;
|
||||
String enName;
|
||||
String value;
|
||||
|
||||
private ReleaseStatusEnum(String cnName, String enName, String value) {
|
||||
this.cnName = cnName;
|
||||
this.enName = enName;
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public String getValue() {
|
||||
return value;
|
||||
}
|
||||
|
||||
public void setValue(String value) {
|
||||
this.value = value;
|
||||
}
|
||||
|
||||
public static String getTextByValue(String value,String cut) {
|
||||
ReleaseStatusEnum[] values = values();
|
||||
for (ReleaseStatusEnum releaseStatusEnum : values) {
|
||||
if (releaseStatusEnum.value.equals(value)) {
|
||||
if(StringUtils.equals(cut, CutEnum.CN.getValue())){
|
||||
return releaseStatusEnum.cnName;
|
||||
}else if(StringUtils.equals(cut,CutEnum.EN.getValue())){
|
||||
return releaseStatusEnum.enName;
|
||||
}
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
+7
@@ -58,4 +58,11 @@ public interface ICountryCardManageReleaseEOService extends IService<CountryCard
|
||||
* @return
|
||||
*/
|
||||
List<CountryCardManageReleaseEO> queryList();
|
||||
|
||||
/**
|
||||
* 处理数据
|
||||
* @param datas
|
||||
* @param cut
|
||||
*/
|
||||
void disposeData(List<CountryCardManageReleaseEO> datas, String cut);
|
||||
}
|
||||
|
||||
+6
@@ -67,4 +67,10 @@ public interface ICountryCardTempEOService extends IService<CountryCardTempEO> {
|
||||
* @param cut
|
||||
*/
|
||||
void disposeData(List<CountryCardTempEO> datas, String cut);
|
||||
|
||||
/**
|
||||
* 设置排序号
|
||||
* @param countryCardTempEO
|
||||
*/
|
||||
void setOrderNum(CountryCardTempEO countryCardTempEO);
|
||||
}
|
||||
|
||||
+50
@@ -1,11 +1,21 @@
|
||||
package com.jero.modules.problemKnowledgeBase.service.impl;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseDetailEO;
|
||||
import com.jero.modules.problemKnowledgeBase.entity.CountryCardManageReleaseEO;
|
||||
import com.jero.modules.problemKnowledgeBase.enums.ReleaseStatusEnum;
|
||||
import com.jero.modules.problemKnowledgeBase.mapper.CountryCardManageReleaseEOMapper;
|
||||
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseDetailEOService;
|
||||
import com.jero.modules.problemKnowledgeBase.service.ICountryCardManageReleaseEOService;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.springframework.transaction.annotation.Propagation;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
@@ -20,6 +30,9 @@ import org.springframework.transaction.annotation.Transactional;
|
||||
@Transactional(value = "transactionManager", readOnly = false, propagation = Propagation.REQUIRED, rollbackFor = Throwable.class)
|
||||
public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCardManageReleaseEOMapper, CountryCardManageReleaseEO> implements ICountryCardManageReleaseEOService {
|
||||
|
||||
@Autowired
|
||||
private ICountryCardManageReleaseDetailEOService countryCardManageReleaseDetailEOService;
|
||||
|
||||
/**
|
||||
* 保存
|
||||
*
|
||||
@@ -31,7 +44,15 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
||||
Date now = new Date();
|
||||
countryCardManageReleaseEO.setCreateTime(now);
|
||||
countryCardManageReleaseEO.setUpdateTime(now);
|
||||
countryCardManageReleaseEO.setReleaseStatus(ReleaseStatusEnum.DRAFT.getValue());
|
||||
save(countryCardManageReleaseEO);
|
||||
List<CountryCardManageReleaseDetailEO> releaseDetailEOList = countryCardManageReleaseEO.getCountryCardManageReleaseDetailEOList();
|
||||
if(CollectionUtils.isNotEmpty(releaseDetailEOList)){
|
||||
releaseDetailEOList.forEach(releaseDetailEO -> {
|
||||
releaseDetailEO.setCountryCardManageReleaseId(countryCardManageReleaseEO.getId());
|
||||
});
|
||||
this.countryCardManageReleaseDetailEOService.saveBatch(releaseDetailEOList);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -89,4 +110,33 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl<CountryCa
|
||||
public List<CountryCardManageReleaseEO> queryList() {
|
||||
return list();
|
||||
}
|
||||
|
||||
@Override
|
||||
public void disposeData(List<CountryCardManageReleaseEO> datas, String cut) {
|
||||
if (CollectionUtils.isNotEmpty(datas)) {
|
||||
List<String> CountryCardManageReleaseEOId = datas.stream().map(CountryCardManageReleaseEO::getId).collect(Collectors.toList());
|
||||
|
||||
//查询出来管理发布列表中数据的明细信息
|
||||
QueryWrapper<CountryCardManageReleaseDetailEO> releaseDetailEOQueryWrapper = new QueryWrapper<>();
|
||||
releaseDetailEOQueryWrapper.lambda().in(CountryCardManageReleaseDetailEO::getCountryCardManageReleaseId,CountryCardManageReleaseEOId);
|
||||
List<CountryCardManageReleaseDetailEO> releaseDetailEOList = this.countryCardManageReleaseDetailEOService.list(releaseDetailEOQueryWrapper);
|
||||
|
||||
datas.forEach(data -> {
|
||||
if (StringUtils.isNotEmpty(data.getReleaseStatus())) {
|
||||
data.setReleaseStatus_dictText(ReleaseStatusEnum.getTextByValue(data.getReleaseStatus(),cut));
|
||||
}
|
||||
|
||||
if(CollectionUtils.isNotEmpty(releaseDetailEOList)){
|
||||
List<CountryCardManageReleaseDetailEO> collect = releaseDetailEOList.stream().filter(releaseDetailEO -> {
|
||||
boolean flag = false;
|
||||
if(StringUtils.equals(data.getId(),releaseDetailEO.getCountryCardManageReleaseId())){
|
||||
flag = true;
|
||||
}
|
||||
return flag;
|
||||
}).collect(Collectors.toList());
|
||||
data.setCountryCardManageReleaseDetailEOList(collect);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
+43
-1
@@ -13,7 +13,6 @@ import org.apache.commons.lang3.StringUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Date;
|
||||
import java.util.stream.Collectors;
|
||||
@@ -45,6 +44,7 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
||||
*/
|
||||
@Override
|
||||
public void add(CountryCardTempEO countryCardTempEO) {
|
||||
this.setOrderNum(countryCardTempEO);
|
||||
Date now = new Date();
|
||||
countryCardTempEO.setCreateTime(now);
|
||||
countryCardTempEO.setUpdateTime(now);
|
||||
@@ -63,6 +63,7 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
||||
*/
|
||||
@Override
|
||||
public void editById(CountryCardTempEO countryCardTempEO) {
|
||||
this.setOrderNum(countryCardTempEO);
|
||||
Date now = new Date();
|
||||
countryCardTempEO.setUpdateTime(now);
|
||||
saveOrUpdate(countryCardTempEO);
|
||||
@@ -142,4 +143,45 @@ public class CountryCardTempEOServiceImpl extends ServiceImpl<CountryCardTempEOM
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
public void setOrderNum(CountryCardTempEO countryCardTempEO){
|
||||
Integer inputOrderNum = countryCardTempEO.getOrderNum();
|
||||
if(inputOrderNum != null) {
|
||||
QueryWrapper<CountryCardTempEO> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.orderByAsc("order_num");
|
||||
List<CountryCardTempEO> countryCardTempEOList = this.list(queryWrapper);
|
||||
|
||||
Integer orderNumData = countryCardTempEOList.stream().filter(e -> e.getId().equals(countryCardTempEO.getId()))
|
||||
.map(e -> e.getOrderNum()).collect(Collectors.toList()).get(0);
|
||||
|
||||
queryWrapper.eq("order_num", inputOrderNum);
|
||||
Integer orderNumCount = this.baseMapper.selectCount(queryWrapper);
|
||||
//有重复展示顺序的,后面的号全+1
|
||||
if (orderNumCount > 0 && !orderNumData.equals(inputOrderNum)) {
|
||||
|
||||
//设置排序
|
||||
QueryWrapper<CountryCardTempEO> orderNumQueryWrapper = new QueryWrapper<>();
|
||||
orderNumQueryWrapper.ge("order_num", inputOrderNum)
|
||||
.orderByAsc("order_num");
|
||||
List<CountryCardTempEO> geOrderNumList = this.list(orderNumQueryWrapper);
|
||||
|
||||
//判断相邻的序号,去掉不邻的
|
||||
for (int i = 0; i < geOrderNumList.size(); i++) {
|
||||
if (geOrderNumList.size() == 1) {
|
||||
break;
|
||||
} else if(i+1 >= geOrderNumList.size()){
|
||||
break;
|
||||
}else if (geOrderNumList.get(i + 1).getOrderNum() - geOrderNumList.get(i).getOrderNum() > 1) {
|
||||
int deleteStart = geOrderNumList.get(i + 1).getOrderNum();
|
||||
geOrderNumList = geOrderNumList.stream().filter(e -> e.getOrderNum() < deleteStart).collect(Collectors.toList());
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
geOrderNumList.stream().forEach(e -> e.setOrderNum(e.getOrderNum() + 1));
|
||||
saveOrUpdateBatch(geOrderNumList);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user