Browse Source

启用、禁用分类

dev_shibei_match
sunyuchao 4 years ago
parent
commit
fc3952b77a
  1. 15
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java
  2. 11
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java
  3. 7
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java
  4. 33
      epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java
  5. 25
      epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml
  6. 36
      epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IsDisableCategoryFormDTO.java

15
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/controller/IssueProjectCategoryDictController.java

@ -28,16 +28,14 @@ import com.epmet.commons.tools.validator.group.AddGroup;
import com.epmet.commons.tools.validator.group.DefaultGroup;
import com.epmet.commons.tools.validator.group.UpdateGroup;
import com.epmet.dto.IssueProjectCategoryDictDTO;
import com.epmet.dto.form.CategoryTagInitFormDTO;
import com.epmet.dto.form.DelCategoryFormDTO;
import com.epmet.dto.form.IssueProjectCategoryDictListFormDTO;
import com.epmet.dto.form.ProjectSaveCategoryFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.CustomerCategoryListResultDTO;
import com.epmet.dto.result.ProjectIssueCategoryResultDTO;
import com.epmet.excel.IssueProjectCategoryDictExcel;
import com.epmet.project.dto.CustomerCategoryDTO;
import com.epmet.project.dto.result.ProjectCategoryDictResultDTO;
import com.epmet.service.IssueProjectCategoryDictService;
import com.epmet.utils.ModuleConstants;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
@ -154,8 +152,13 @@ public class IssueProjectCategoryDictController {
* @Author sun
**/
@PostMapping("isdisablecategory")
public Result<ProjectIssueCategoryResultDTO> isDisableCategory(@RequestBody ProjectSaveCategoryFormDTO formDTO) {
return new Result<ProjectIssueCategoryResultDTO>().ok(issueProjectCategoryDictService.isDisableCategory(formDTO));
public Result isDisableCategory(@RequestBody IsDisableCategoryFormDTO formDTO) {
ValidatorUtils.validateEntity(formDTO, IsDisableCategoryFormDTO.IsDisableCategory.class);
if(!ModuleConstants.ID_ENABLE.equals(formDTO.getType())&&!ModuleConstants.IS_DISABLE.equals(formDTO.getType())){
throw new RuntimeException("参数错误,操作类型值错误!");
}
issueProjectCategoryDictService.isDisableCategory(formDTO);
return new Result();
}
/**

11
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/dao/IssueProjectCategoryDictDao.java

@ -20,6 +20,7 @@ package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.IssueProjectCategoryDictDTO;
import com.epmet.dto.form.DelCategoryFormDTO;
import com.epmet.dto.form.IsDisableCategoryFormDTO;
import com.epmet.dto.form.IssueProjectCategoryDictListFormDTO;
import com.epmet.dto.result.CustomerCategoryListResultDTO;
import com.epmet.entity.IssueProjectCategoryDictEntity;
@ -101,5 +102,15 @@ public interface IssueProjectCategoryDictDao extends BaseDao<IssueProjectCategor
*/
int delCategory(DelCategoryFormDTO formDTO);
/**
* 查询客户全部子类分类信息
* @author sun
*/
List<ProjectCategoryDictResultDTO> selectSubCustomerCategoryDict(@Param("customerId") String customerId, @Param("pid") String pid);
/**
* 批量修改分类启用禁用状态
* @author sun
*/
int updateCustomerCategory(IsDisableCategoryFormDTO formDTO);
}

7
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/IssueProjectCategoryDictService.java

@ -20,10 +20,7 @@ package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.IssueProjectCategoryDictDTO;
import com.epmet.dto.form.CategoryTagInitFormDTO;
import com.epmet.dto.form.DelCategoryFormDTO;
import com.epmet.dto.form.IssueProjectCategoryDictListFormDTO;
import com.epmet.dto.form.ProjectSaveCategoryFormDTO;
import com.epmet.dto.form.*;
import com.epmet.dto.result.CustomerCategoryListResultDTO;
import com.epmet.dto.result.ProjectIssueCategoryResultDTO;
import com.epmet.entity.IssueProjectCategoryDictEntity;
@ -137,7 +134,7 @@ public interface IssueProjectCategoryDictService extends BaseService<IssueProjec
* @Description 分类启用与禁用
* @Author sun
**/
ProjectIssueCategoryResultDTO isDisableCategory(ProjectSaveCategoryFormDTO formDTO);
void isDisableCategory(IsDisableCategoryFormDTO formDTO);
/**
* @Description 分类删除

33
epmet-module/gov-issue/gov-issue-server/src/main/java/com/epmet/service/impl/IssueProjectCategoryDictServiceImpl.java

@ -54,6 +54,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
@ -220,8 +221,35 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl<IssuePr
* @Author sun
**/
@Override
public ProjectIssueCategoryResultDTO isDisableCategory(ProjectSaveCategoryFormDTO formDTO) {
return null;
@Transactional(rollbackFor = Exception.class)
public void isDisableCategory(IsDisableCategoryFormDTO formDTO) {
//1.查询客户分类信息
IssueProjectCategoryDictDTO dto = baseDao.selectByCustomerId(formDTO.getCustomerId(), formDTO.getCategoryId());
if (null == dto) {
throw new RuntimeException("未查询到客户分类信息!");
}
//2.汇总二级分类Id集合
//待修改的分类Id汇总
List<String> categoryList = new ArrayList<>();
//待修改的二级分类Id汇总
List<String> secondList = new ArrayList<>();
if("1".equals(dto.getCategoryType())){
//2-1.查询子类信息
List<ProjectCategoryDictResultDTO> subList = baseDao.selectSubCustomerCategoryDict(formDTO.getCustomerId(),formDTO.getCategoryId());
secondList = subList.stream().map(sub->sub.getId()).collect(Collectors.toList());
categoryList.add(formDTO.getCategoryId());
}else {
secondList.add(formDTO.getCategoryId());
}
categoryList.addAll(secondList);
formDTO.setCategoryList(categoryList);
//3.修改标签、分类表数据状态
if(baseDao.updateCustomerCategory(formDTO)<NumConstant.ONE){
logger.error(String.format("修改分类信息状态失败,客户Id->%s,分类Id->%s", formDTO.getCustomerId(), formDTO.getCategoryId()));
throw new RuntimeException("分类信息修改失败!");
}
//4.修改缓存中标签状态 todo
}
@ -231,6 +259,7 @@ public class IssueProjectCategoryDictServiceImpl extends BaseServiceImpl<IssuePr
* @Author sun
**/
@Override
@Transactional(rollbackFor = Exception.class)
public void delCategory(DelCategoryFormDTO formDTO) {
//1.查询分类信息
IssueProjectCategoryDictDTO dto = baseDao.selectByCustomerId(formDTO.getCustomerId(), formDTO.getCategoryId());

25
epmet-module/gov-issue/gov-issue-server/src/main/resources/mapper/IssueProjectCategoryDictDao.xml

@ -125,11 +125,22 @@
AND id = #{categoryId}
</select>
<select id="selectSubCustomerCategoryDict" resultType="com.epmet.project.dto.result.ProjectCategoryDictResultDTO">
SELECT
*
FROM
issue_project_category_dict
WHERE
del_flag = '0'
AND customer_id = #{customerId}
AND pid = #{categoryId}
</select>
<update id="delCategory">
UPDATE issue_project_category_dict
SET DEL_FLAG = '1'
SET del_flag = '1'
WHERE
CUSTOMER_ID = #{customerId}
customer_id = #{customerId}
<if test="level != null and '' != level and '1' == level ">
AND id = #{categoryId}
</if>
@ -138,4 +149,14 @@
</if>
</update>
<update id="updateCustomerCategory">
UPDATE issue_project_category_dict
SET is_disable = #{type}
WHERE
customer_id = #{customerId}
<foreach item="ids" collection="categoryList" separator="OR" open="AND (" close=")" index="">
id = #{ids}
</foreach>
</update>
</mapper>

36
epmet-module/gov-project/gov-project-client/src/main/java/com/epmet/dto/form/IsDisableCategoryFormDTO.java

@ -0,0 +1,36 @@
package com.epmet.dto.form;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import java.io.Serializable;
import java.util.List;
/**
* 议题保存/修改分类-接口入参
* @Author sun
*/
@Data
public class IsDisableCategoryFormDTO implements Serializable {
private static final long serialVersionUID = 2599592072265715951L;
public interface IsDisableCategory{}
/**
* 客户Id
*/
@NotBlank(message = "客户ID不能为空",groups = {IsDisableCategory.class})
private String customerId;
/**
* 分类Id
*/
@NotBlank(message = "分类ID不能为空",groups = {IsDisableCategory.class})
private String categoryId;
/**
* 操作类型(启用:enable 禁用:disable)
*/
@NotBlank(message = "是否启用类型不能为空",groups = {IsDisableCategory.class})
private String type;
private List<String> categoryList;
}
Loading…
Cancel
Save