diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseDetailEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseDetailEOController.java index 685e49453..c6c423cab 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseDetailEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseDetailEOController.java @@ -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 { @Autowired private ICountryCardManageReleaseDetailEOService countryCardManageReleaseDetailEOService; - + /** * 分页列表查询 * @@ -167,4 +171,25 @@ public class CountryCardManageReleaseDetailEOController extends JeroController editBatch(@RequestBody JSONObject json) { + JSONArray countryCardManageReleaseDetailEOList = json.getJSONArray("countryCardManageReleaseDetailEOList"); + List 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("编辑成功!"); + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseEOController.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseEOController.java index 7504e7c33..8887cd8ed 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseEOController.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/controller/CountryCardManageReleaseEOController.java @@ -35,7 +35,7 @@ import com.jero.common.aspect.annotation.AutoLog; public class CountryCardManageReleaseEOController extends JeroController { @Autowired private ICountryCardManageReleaseEOService countryCardManageReleaseEOService; - + /** * 分页列表查询 * @@ -51,10 +51,13 @@ public class CountryCardManageReleaseEOController extends JeroController 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 queryWrapper = QueryGenerator.initQueryWrapper(countryCardManageReleaseEO, req.getParameterMap()); + queryWrapper.orderByDesc("create_time"); Page page = new Page(pageNo, pageSize); IPage pageList = countryCardManageReleaseEOService.page(page, queryWrapper); + this.countryCardManageReleaseEOService.disposeData(pageList.getRecords(),cut); return Result.OK(pageList); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseEO.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseEO.java index 03b247fc6..9c556df95 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseEO.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/entity/CountryCardManageReleaseEO.java @@ -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 countryCardManageReleaseDetailEOList; + } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/LableTypeEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/LableTypeEnum.java index ff422ef83..4643efeb8 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/LableTypeEnum.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/LableTypeEnum.java @@ -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; } } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/ReleaseStatusEnum.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/ReleaseStatusEnum.java new file mode 100644 index 000000000..5684cf326 --- /dev/null +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/enums/ReleaseStatusEnum.java @@ -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; + } +} diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseEOService.java index e5958d1e2..e0de0375f 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardManageReleaseEOService.java @@ -58,4 +58,11 @@ public interface ICountryCardManageReleaseEOService extends IService queryList(); + + /** + * 处理数据 + * @param datas + * @param cut + */ + void disposeData(List datas, String cut); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java index 4e10be53d..6881d81b4 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/ICountryCardTempEOService.java @@ -67,4 +67,10 @@ public interface ICountryCardTempEOService extends IService { * @param cut */ void disposeData(List datas, String cut); + + /** + * 设置排序号 + * @param countryCardTempEO + */ + void setOrderNum(CountryCardTempEO countryCardTempEO); } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseEOServiceImpl.java index cec8bb911..52d5a6810 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardManageReleaseEOServiceImpl.java @@ -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 implements ICountryCardManageReleaseEOService { + @Autowired + private ICountryCardManageReleaseDetailEOService countryCardManageReleaseDetailEOService; + /** * 保存 * @@ -31,7 +44,15 @@ public class CountryCardManageReleaseEOServiceImpl extends ServiceImpl 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 queryList() { return list(); } + + @Override + public void disposeData(List datas, String cut) { + if (CollectionUtils.isNotEmpty(datas)) { + List CountryCardManageReleaseEOId = datas.stream().map(CountryCardManageReleaseEO::getId).collect(Collectors.toList()); + + //查询出来管理发布列表中数据的明细信息 + QueryWrapper releaseDetailEOQueryWrapper = new QueryWrapper<>(); + releaseDetailEOQueryWrapper.lambda().in(CountryCardManageReleaseDetailEO::getCountryCardManageReleaseId,CountryCardManageReleaseEOId); + List 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 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); + } + }); + } + } } diff --git a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java index 143ab8369..73511969a 100644 --- a/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java +++ b/jero-boot/jero-boot-modules/src/main/java/com/jero/modules/problemKnowledgeBase/service/impl/CountryCardTempEOServiceImpl.java @@ -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 queryWrapper = new QueryWrapper<>(); + queryWrapper.orderByAsc("order_num"); + List 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 orderNumQueryWrapper = new QueryWrapper<>(); + orderNumQueryWrapper.ge("order_num", inputOrderNum) + .orderByAsc("order_num"); + List 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); + } + } + } }