完成协议帮助模块,并解决帮助模块参数长度检查bug.

This commit is contained in:
little-cat-sweet 2021-08-03 14:41:15 +08:00
parent 252bdb9c86
commit 9bfb559a80
9 changed files with 408 additions and 6 deletions

View File

@ -0,0 +1,57 @@
package com.xhpc.general.controller;
import com.xhpc.common.core.web.controller.BaseController;
import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.common.core.web.page.TableDataInfo;
import com.xhpc.general.domain.XhpcAgreement;
import com.xhpc.general.service.IXhpcAgreementService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
/**
* 协议管理controller
* program: ruoyi
* User: HongYun
* Date:2021-08-03 09
*/
@RestController
@RequestMapping("/agreement")
public class XhpcAgreementController extends BaseController {
@Autowired
IXhpcAgreementService iXhpcAgreementService;
@PostMapping("/delete")
public AjaxResult delete(@RequestBody XhpcAgreement xhpcAgreement){
return iXhpcAgreementService.deleteAgreementItem(xhpcAgreement.getAgreementId());
}
@PostMapping("/add")
public AjaxResult add(@RequestBody XhpcAgreement xhpcAgreement){
return iXhpcAgreementService.insertAgreementItem(xhpcAgreement.getTitle(),xhpcAgreement.getType(),xhpcAgreement.getContent());
}
@PostMapping("/update")
public AjaxResult update(@RequestBody XhpcAgreement xhpcAgreement){
return iXhpcAgreementService.updateAgreementItem(xhpcAgreement.getAgreementId(),xhpcAgreement.getTitle(),xhpcAgreement.getType(),xhpcAgreement.getContent()
);
}
@GetMapping("/listAll")
public TableDataInfo listAll( String title,String createBy,Integer type){
startPage();
return getDataTable(iXhpcAgreementService.selectAgreementItems(title,createBy,type));
}
@GetMapping("/listOne")
public AjaxResult listOne(@RequestParam Long agreementId){
return AjaxResult.success(iXhpcAgreementService.selectAgreementItem(agreementId));
}
}

View File

@ -0,0 +1,67 @@
package com.xhpc.general.domain;
import com.xhpc.common.core.web.domain.BaseEntity;
/**
* 协议管理实体类
* program: ruoyi
* User: HongYun
* Date:2021-08-03 09
*/
public class XhpcAgreement extends BaseEntity {
private Long agreementId;
private String title;
private String content;
private Integer type;
private Integer status;
private Integer delFlag;
public Long getAgreementId() {
return agreementId;
}
public void setAgreementId(Long agreementId) {
this.agreementId = agreementId;
}
public String getTitle() {
return title;
}
public void setTitle(String title) {
this.title = title;
}
public String getContent() {
return content;
}
public void setContent(String content) {
this.content = content;
}
public Integer getType() {
return type;
}
public void setType(Integer type) {
this.type = type;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public Integer getDelFlag() {
return delFlag;
}
public void setDelFlag(Integer delFlag) {
this.delFlag = delFlag;
}
}

View File

@ -0,0 +1,34 @@
package com.xhpc.general.mapper;
import com.xhpc.general.domain.XhpcAgreement;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* 协议管理Mapper接口
* program: ruoyi
* User: HongYun
* Date:2021-08-03 09
*/
public interface XhpcAgreementMapper {
int deleteAgreementItem(@Param("agreementId") Long agreementId);
/**
* Getting the number of title which is fit with the type.
* @param type
* @param title
* @return
*/
int countSameTypeTitle(@Param("type") Integer type,@Param("title") String title);
int insertAgreementItem(@Param("title") String title,@Param("type") Integer type,@Param("content") String content);
int updateAgreementItem(@Param("agreementId") Long agreementId,@Param("title") String title,@Param("type")Integer type,@Param("content") String content);
List<XhpcAgreement> selectAgreementItems(@Param("title") String title, @Param("createBy") String createBy, @Param("type") Integer type);
XhpcAgreement selectAgreementItem(@Param("agreementId") Long agreementId);
}

View File

@ -0,0 +1,28 @@
package com.xhpc.general.service;
import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.common.core.web.page.TableDataInfo;
import com.xhpc.general.domain.XhpcAgreement;
import org.apache.commons.math3.genetics.Fitness;
import java.util.List;
/**
* 协议管理Service接口
* program: ruoyi
* User: HongYun
* Date:2021-08-03 09
*/
public interface IXhpcAgreementService {
AjaxResult deleteAgreementItem(Long agreementId);
AjaxResult insertAgreementItem(String title,Integer type,String content);
AjaxResult updateAgreementItem(Long agreementId,String title,Integer type,String content);
List<XhpcAgreement> selectAgreementItems(String title, String createBy,Integer type);
XhpcAgreement selectAgreementItem(Long agreementId);
}

View File

@ -0,0 +1,113 @@
package com.xhpc.general.service;
import com.xhpc.common.core.web.domain.AjaxResult;
import com.xhpc.general.domain.XhpcAgreement;
import com.xhpc.general.mapper.XhpcAgreementMapper;
import com.xhpc.general.util.lengthCheckUtil.AgreementEntityLengthCheckUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* 协议管理Service业务层处理
* program: ruoyi
* User: HongYun
* Date:2021-08-03 09
*/
@Service
public class XhpcAgreementServiceImpl implements IXhpcAgreementService {
@Autowired
XhpcAgreementMapper xhpcAgreementMapper;
@Override
@Transactional
public AjaxResult deleteAgreementItem(Long agreementId) {
int res=xhpcAgreementMapper.deleteAgreementItem(agreementId);
if(res==0){
return AjaxResult.error("删除失败");
}
return AjaxResult.success();
}
@Override
@Transactional
public AjaxResult insertAgreementItem(String title, Integer type, String content) {
//Ensuring parameter is valid
title=title.trim();
if(title.equals("")){
return AjaxResult.error("标题不能为空");
}
content=content.trim();
if(content.equals("")){
return AjaxResult.error("内容不能为空");
}
//Check parameter's length.
if(!AgreementEntityLengthCheckUtil.checkTitleL(title.length())){
return AjaxResult.error("标题的长度大于"+AgreementEntityLengthCheckUtil.getTitleL());
}
//Ensuring the title which you wanna insert is unique.
int res1 = xhpcAgreementMapper.countSameTypeTitle(type, title);
if (res1 != 0) {
return AjaxResult.error("此协议类型已有此标题");
}
int res2=xhpcAgreementMapper.insertAgreementItem(title, type, content);
if(res2==0){
return AjaxResult.error("增加失败");
}
return AjaxResult.success();
}
@Override
@Transactional
public AjaxResult updateAgreementItem(Long agreementId, String title, Integer type, String content) {
//Ensuring parameter is valid
title=title.trim();
if(title.equals("")){
return AjaxResult.error("标题不能为空");
}
content=content.trim();
if(content.equals("")){
return AjaxResult.error("内容不能为空");
}
//Check parameter's length.
if(!AgreementEntityLengthCheckUtil.checkTitleL(title.length())){
return AjaxResult.error("标题长度大于"+AgreementEntityLengthCheckUtil.getTitleL());
}
XhpcAgreement xhpcAgreement=xhpcAgreementMapper.selectAgreementItem(agreementId);
if(!xhpcAgreement.getTitle().equals(title)) {
int res = xhpcAgreementMapper.countSameTypeTitle(type,title);
if (res != 0) {
return AjaxResult.error("此协议类型已有此标题");
}
}
int res1=xhpcAgreementMapper.updateAgreementItem(agreementId, title, type, content);
if(res1==0){
return AjaxResult.error("修改失败");
}
return AjaxResult.success();
}
@Override
public List<XhpcAgreement> selectAgreementItems(String title, String createBy, Integer type) {
return xhpcAgreementMapper.selectAgreementItems(title, createBy, type);
}
@Override
public XhpcAgreement selectAgreementItem(Long agreementId) {
return xhpcAgreementMapper.selectAgreementItem(agreementId);
}
}

View File

@ -167,11 +167,13 @@ public class XhpcDictBizServiceImpl implements IXhpcDictBizService{
@Transactional @Transactional
public AjaxResult deleteParentItem(Long id) { public AjaxResult deleteParentItem(Long id) {
//At first delete father's item.
int size=xhpcDictBizMapper.deleteChildDictionaryItemById(id); try {
if(size==0){ xhpcDictBizMapper.deleteChildDictionaryItemById(id);
} catch (Exception e) {
return AjaxResult.error("删除失败"); return AjaxResult.error("删除失败");
} }
try { try {
//Deleting their child. //Deleting their child.
xhpcDictBizMapper.deleteChildItemsFollowParent(id); xhpcDictBizMapper.deleteChildItemsFollowParent(id);

View File

@ -37,16 +37,25 @@ public class XhpcHelpServiceImpl implements IXhpcHelpService{
@Override @Override
@Transactional @Transactional
public AjaxResult insertHelpItem(String title, String content, Integer type) { public AjaxResult insertHelpItem(String title, String content, Integer type) {
//Ensuring parameter is valid
title=title.trim();
if(title.equals("")){
return AjaxResult.error("标题不能为空");
}
content=content.trim();
if(content.equals("")){
return AjaxResult.error("内容不能为空");
}
//Checking title's length. //Checking title's length.
if(!HelpEntityLengthCheckUtil.checkTitleL(title.length())){ if(!HelpEntityLengthCheckUtil.checkTitleL(title.length())){
return AjaxResult.error("标题的长度不能大于"+HelpEntityLengthCheckUtil.getTitleLL()); return AjaxResult.error("标题的长度不能大于"+HelpEntityLengthCheckUtil.getTitleLL());
} }
//Ensuring the title is unique. //Ensuring the title is unique.
int res1=xhpcHelpMapper.countSameTypeTitle(type,title); int res1 = xhpcHelpMapper.countSameTypeTitle(type, title);
if(res1!=0){ if (res1 != 0) {
return AjaxResult.error("此类型已有此标题"); return AjaxResult.error("此类型已有此标题");
} }
int res2=xhpcHelpMapper.insertHelpItem(title, content, type); int res2=xhpcHelpMapper.insertHelpItem(title, content, type);
if(res2==0){ if(res2==0){
return AjaxResult.error("插入失败"); return AjaxResult.error("插入失败");
@ -58,6 +67,15 @@ public class XhpcHelpServiceImpl implements IXhpcHelpService{
@Override @Override
@Transactional @Transactional
public AjaxResult updateHelpItem(Long helpId, String title, String content, Integer type) { public AjaxResult updateHelpItem(Long helpId, String title, String content, Integer type) {
//Ensuring parameter is valid
title=title.trim();
if(title.equals("")){
return AjaxResult.error("标题不能为空");
}
content=content.trim();
if(content.equals("")){
return AjaxResult.error("内容不能为空");
}
//Checking the title's length. //Checking the title's length.
if(!HelpEntityLengthCheckUtil.checkTitleL(title.length())){ if(!HelpEntityLengthCheckUtil.checkTitleL(title.length())){

View File

@ -0,0 +1,18 @@
package com.xhpc.general.util.lengthCheckUtil;
/**
* program: ruoyi
* User: HongYun
* Date:2021-08-03 10
*/
public class AgreementEntityLengthCheckUtil {
private static final Integer titleL=50;
public static boolean checkTitleL(int length){
return length<=titleL;
}
public static Integer getTitleL() {
return titleL;
}
}

View File

@ -0,0 +1,65 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
"http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.xhpc.general.mapper.XhpcAgreementMapper">
<resultMap id="BaseResultMap" type="com.xhpc.general.domain.XhpcAgreement">
<result property="agreementId" column="agreement_id"/>
<result property="title" column="title"/>
<result property="content" column="content"/>
<result property="type" column="type"/>
<result property="status" column="status"/>
<result property="delFlag" column="del_flag"/>
<result property="createTime" column="create_time"/>
<result property="createBy" column="create_by"/>
<result property="updateTime" column="update_time"/>
<result property="updateBy" column="update_by"/>
<result property="remark" column="remark"/>
</resultMap>
<!-- 通用查询映射结果 -->
<update id="deleteAgreementItem">
update xhpc_agreement set del_flag=1 where agreement_id=#{agreementId}
</update>
<select id="countSameTypeTitle" resultType="java.lang.Integer">
select count(agreement_id) from xhpc_agreement where type=#{type} and title=#{title} and del_flag=0
</select>
<insert id="insertAgreementItem">
insert into xhpc_agreement (title,type,content) values(#{title},#{type},#{content})
</insert>
<update id="updateAgreementItem">
update xhpc_agreement set title=#{title},type=#{type},content=#{content} where agreement_id=#{agreementId}
</update>
<select id="selectAgreementItems" resultMap="BaseResultMap">
select *
from xhpc_agreement
where del_flag=0
<if test="title!=null and title!=''">
and title=#{title}
</if>
<if test="createBy!=null and createBy!=''">
and create_by=#{createBy}
</if>
<if test="type!=null">
and type=#{type}
</if>
</select>
<select id="selectAgreementItem" resultMap="BaseResultMap">
select *
from xhpc_agreement
where agreement_id=#{agreementId}
</select>
</mapper>