Browse Source

新闻类别维护,新增独立功能标记字段

hotfix/yujt_opt
yujt 5 years ago
parent
commit
ecc5e815a6
  1. 4
      epdc-cloud-news/pom.xml
  2. 18
      epdc-cloud-news/src/main/java/com/elink/esua/epdc/controller/NewsCategoryController.java
  3. 17
      epdc-cloud-news/src/main/java/com/elink/esua/epdc/entity/NewsCategoryEntity.java
  4. 17
      epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/NewsCategoryService.java
  5. 46
      epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/NewsCategoryServiceImpl.java
  6. 57
      epdc-cloud-news/src/main/resources/mapper/NewsCategoryDao.xml
  7. 4
      epdc-cloud-news/src/main/resources/mapper/NewsDao.xml

4
epdc-cloud-news/pom.xml

@ -173,9 +173,9 @@
<spring.redis.password>epdc!redis@master1405</spring.redis.password> <spring.redis.password>epdc!redis@master1405</spring.redis.password>
<spring.datasource.druid.url> <spring.datasource.druid.url>
<![CDATA[jdbc:mysql://47.104.224.45:3308/esua_epdc_news?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]> <![CDATA[jdbc:mysql://47.104.224.45:3308/yushan_esua_epdc_news?allowMultiQueries=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false&serverTimezone=Asia/Shanghai]]>
</spring.datasource.druid.url> </spring.datasource.druid.url>
<spring.datasource.druid.username>epdc</spring.datasource.druid.username> <spring.datasource.druid.username>epdcyushan</spring.datasource.druid.username>
<spring.datasource.druid.password>elink833066</spring.datasource.druid.password> <spring.datasource.druid.password>elink833066</spring.datasource.druid.password>
<nacos.register-enabled>true</nacos.register-enabled> <nacos.register-enabled>true</nacos.register-enabled>

18
epdc-cloud-news/src/main/java/com/elink/esua/epdc/controller/NewsCategoryController.java

@ -65,12 +65,6 @@ public class NewsCategoryController {
public Result save(@RequestBody NewsCategoryDTO dto){ public Result save(@RequestBody NewsCategoryDTO dto){
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, AddGroup.class, DefaultGroup.class);
if(newsCategoryService.checkCodeCategory(dto.getCategoryCode(),dto.getId())>0){
return new Result().error("类别编码已存在");
}
if(newsCategoryService.checkNameCategory(dto.getCategoryName(),dto.getId())>0){
return new Result().error("类别名称已存在");
}
newsCategoryService.save(dto); newsCategoryService.save(dto);
return new Result(); return new Result();
} }
@ -79,15 +73,6 @@ public class NewsCategoryController {
public Result update(@RequestBody NewsCategoryDTO dto){ public Result update(@RequestBody NewsCategoryDTO dto){
//效验数据 //效验数据
ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class); ValidatorUtils.validateEntity(dto, UpdateGroup.class, DefaultGroup.class);
if(newsCategoryService.checkIsExist(dto.getId())){
return new Result().error("该类别下存在新闻不允许修改");
}
if(newsCategoryService.checkCodeCategory(dto.getCategoryCode(),dto.getId())>0){
return new Result().error("类别编码已存在");
}
if(newsCategoryService.checkNameCategory(dto.getCategoryName(),dto.getId())>0){
return new Result().error("类别名称已存在");
}
newsCategoryService.update(dto); newsCategoryService.update(dto);
return new Result(); return new Result();
} }
@ -96,9 +81,6 @@ public class NewsCategoryController {
public Result delete(@RequestBody String[] ids){ public Result delete(@RequestBody String[] ids){
//效验数据 //效验数据
AssertUtils.isArrayEmpty(ids, "id"); AssertUtils.isArrayEmpty(ids, "id");
if(newsCategoryService.checkIsExist(ids[0])){
return new Result().error("该类别下存在新闻不允许删除");
}
newsCategoryService.delete(ids); newsCategoryService.delete(ids);
return new Result(); return new Result();
} }

17
epdc-cloud-news/src/main/java/com/elink/esua/epdc/entity/NewsCategoryEntity.java

@ -32,30 +32,35 @@ import java.util.Date;
* @since v1.0.0 2019-09-04 * @since v1.0.0 2019-09-04
*/ */
@Data @Data
@EqualsAndHashCode(callSuper=false) @EqualsAndHashCode(callSuper = false)
@TableName("epdc_news_category") @TableName("epdc_news_category")
public class NewsCategoryEntity extends BaseEpdcEntity { public class NewsCategoryEntity extends BaseEpdcEntity {
private static final long serialVersionUID = 1L; private static final long serialVersionUID = 7223413908033436511L;
/** /**
* 类别名称 * 类别名称
*/ */
private String categoryName; private String categoryName;
/** /**
* 类别编码 * 类别编码
*/ */
private String categoryCode; private String categoryCode;
/** /**
* 描述 * 描述
*/ */
private String description; private String description;
/** /**
* 排序 * 排序
*/ */
private Integer sort; private Integer sort;
/**
* 是否有独立的模块功能 0:;1:
*/
private String independentFlag;
} }

17
epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/NewsCategoryService.java

@ -93,25 +93,8 @@ public interface NewsCategoryService extends BaseService<NewsCategoryEntity> {
*/ */
void delete(String[] ids); void delete(String[] ids);
/**
*检查名字是否重复
*/
int checkNameCategory(String categoryName,String id);
/**
*检查标签编码是否重复
*/
int checkCodeCategory(String categoryCode,String id);
/**
* 检查标签下是否存在新闻
*/
boolean checkIsExist(String id);
/** /**
* 查出所有类别 * 查出所有类别
*/ */
List<Map<String,String>> listCategory(); List<Map<String,String>> listCategory();
} }

46
epdc-cloud-news/src/main/java/com/elink/esua/epdc/service/impl/NewsCategoryServiceImpl.java

@ -20,6 +20,8 @@ package com.elink.esua.epdc.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl; import com.elink.esua.epdc.commons.mybatis.service.impl.BaseServiceImpl;
import com.elink.esua.epdc.commons.tools.constant.NumConstant;
import com.elink.esua.epdc.commons.tools.exception.RenException;
import com.elink.esua.epdc.commons.tools.page.PageData; import com.elink.esua.epdc.commons.tools.page.PageData;
import com.elink.esua.epdc.commons.tools.utils.ConvertUtils; import com.elink.esua.epdc.commons.tools.utils.ConvertUtils;
import com.elink.esua.epdc.commons.tools.constant.FieldConstant; import com.elink.esua.epdc.commons.tools.constant.FieldConstant;
@ -84,6 +86,7 @@ public class NewsCategoryServiceImpl extends BaseServiceImpl<NewsCategoryDao, Ne
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void save(NewsCategoryDTO dto) { public void save(NewsCategoryDTO dto) {
checkCategoryCodeAndName(dto.getId(), dto.getCategoryCode(), dto.getCategoryName());
NewsCategoryEntity entity = ConvertUtils.sourceToTarget(dto, NewsCategoryEntity.class); NewsCategoryEntity entity = ConvertUtils.sourceToTarget(dto, NewsCategoryEntity.class);
insert(entity); insert(entity);
} }
@ -91,31 +94,48 @@ public class NewsCategoryServiceImpl extends BaseServiceImpl<NewsCategoryDao, Ne
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void update(NewsCategoryDTO dto) { public void update(NewsCategoryDTO dto) {
NewsCategoryEntity entity = ConvertUtils.sourceToTarget(dto, NewsCategoryEntity.class);
if (checkIsExist(dto.getId())) {
throw new RenException("该类别下存在新闻不允许修改");
}
checkCategoryCodeAndName(dto.getId(), dto.getCategoryCode(), dto.getCategoryName());
NewsCategoryEntity entity = ConvertUtils.sourceToTarget(dto, NewsCategoryEntity.class);
updateById(entity); updateById(entity);
} }
/**
* 判断新闻类别名称或编码是否已存在
*
* @param id 新闻类别id
* @param code 新闻类别编码
* @param name 新闻类别名称
* @return void
* @author
* @date 2020/5/21 16:58
*/
private void checkCategoryCodeAndName(String id, String code, String name) {
if (baseDao.selectCodeCount(code, id) > NumConstant.ZERO) {
throw new RenException("类别编码已存在");
}
if (baseDao.selectNameCount(name, id) > NumConstant.ZERO) {
throw new RenException("类别名称已存在");
}
}
@Override @Override
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public void delete(String[] ids) { public void delete(String[] ids) {
if (checkIsExist(ids[0])) {
throw new RenException("该类别下存在新闻不允许删除");
}
// 逻辑删除(@TableLogic 注解) // 逻辑删除(@TableLogic 注解)
baseDao.deleteBatchIds(Arrays.asList(ids)); baseDao.deleteBatchIds(Arrays.asList(ids));
} }
@Override
public int checkNameCategory(String categoryName, String id) {
return baseDao.selectNameCount(categoryName, id);
}
@Override private boolean checkIsExist(String id) {
public int checkCodeCategory(String categoryCode, String id) { return newsService.checkCountByCategoryId(id) > NumConstant.ZERO;
return baseDao.selectCodeCount(categoryCode, id);
}
@Override
public boolean checkIsExist(String id) {
return newsService.checkCountByCategoryId(id) > 0 ? true : false;
} }
@Override @Override

57
epdc-cloud-news/src/main/resources/mapper/NewsCategoryDao.xml

@ -3,44 +3,33 @@
<mapper namespace="com.elink.esua.epdc.dao.NewsCategoryDao"> <mapper namespace="com.elink.esua.epdc.dao.NewsCategoryDao">
<resultMap type="com.elink.esua.epdc.entity.NewsCategoryEntity" id="newsCategoryMap">
<result property="id" column="ID"/>
<result property="categoryName" column="CATEGORY_NAME"/>
<result property="categoryCode" column="CATEGORY_CODE"/>
<result property="description" column="DESCRIPTION"/>
<result property="sort" column="SORT"/>
<result property="delFlag" column="DEL_FLAG"/>
<result property="revision" column="REVISION"/>
<result property="createdBy" column="CREATED_BY"/>
<result property="createdTime" column="CREATED_TIME"/>
<result property="updatedBy" column="UPDATED_BY"/>
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<select id="selectCodeCount" resultType="int"> <select id="selectCodeCount" resultType="int">
SELECT SELECT
COUNT(CATEGORY_CODE) AS codeCount COUNT(CATEGORY_CODE) AS codeCount
FROM FROM
esua_epdc_news.epdc_news_category epdc_news_category
WHERE WHERE
CATEGORY_CODE = #{categoryCode} CATEGORY_CODE = #{categoryCode}
<if test="id!=null and id!=''"> <if test="id!=null and id!=''">
AND id != #{id} AND id != #{id}
</if> </if>
AND DEL_FLAG= '0' AND DEL_FLAG= '0'
</select> </select>
<select id="selectNameCount" resultType="int"> <select id="selectNameCount" resultType="int">
SELECT SELECT
COUNT(CATEGORY_NAME) AS codeCount COUNT(CATEGORY_NAME) AS codeCount
FROM FROM
esua_epdc_news.epdc_news_category epdc_news_category
WHERE WHERE
CATEGORY_NAME = #{categoryName} CATEGORY_NAME = #{categoryName}
<if test="id!=null and id!=''"> <if test="id!=null and id!=''">
AND id != #{id} AND id != #{id}
</if> </if>
AND DEL_FLAG= '0' AND DEL_FLAG= '0'
</select> </select>
<select id="selectListCategory" resultType="Map"> <select id="selectListCategory" resultType="Map">
SELECT ID as id,CATEGORY_NAME as name FROM esua_epdc_news.epdc_news_category where DEL_FLAG= '0' SELECT ID as id,CATEGORY_NAME as name FROM epdc_news_category where DEL_FLAG= '0'
</select> </select>
</mapper> </mapper>

4
epdc-cloud-news/src/main/resources/mapper/NewsDao.xml

@ -7,9 +7,9 @@
SELECT SELECT
COUNT(*) AS count COUNT(*) AS count
FROM FROM
esua_epdc_news.epdc_news epdc_news
WHERE WHERE
NEWS_CATERORY_ID = #{categoryId} NEWS_CATERORY_ID = #{categoryId} and del_flag = '0'
</select> </select>
<select id="selectListAppNews" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO"> <select id="selectListAppNews" resultType="com.elink.esua.epdc.dto.epdc.result.EpdcNewsListResultDTO">

Loading…
Cancel
Save