LAPTOP-KB9HII50\70708 2 years ago
parent
commit
c707eaed6d

+ 78 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/article/BaseNewsArticleDO.java

@ -0,0 +1,78 @@
package com.yihu.jw.entity.hospital.article;
import com.yihu.jw.entity.UuidIdentityEntityWithCreateTime;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
/**
 * 新闻动态
 * Created by yeshijie on 2022/11/7.
 */
@Entity
@Table(name = "base_news_article")
public class BaseNewsArticleDO extends UuidIdentityEntityWithCreateTime {
    private String articleId;//文章id
    private Integer sort;//排序
    private String status;//状态(1生效 0失效)
    private String statusName;//状态(1生效 0失效)
    private String articleName;//文章名称
    private String image;//文章封面
    @Column(name = "article_id")
    public String getArticleId() {
        return articleId;
    }
    public void setArticleId(String articleId) {
        this.articleId = articleId;
    }
    @Column(name = "sort")
    public Integer getSort() {
        return sort;
    }
    public void setSort(Integer sort) {
        this.sort = sort;
    }
    @Column(name = "status")
    public String getStatus() {
        return status;
    }
    public void setStatus(String status) {
        this.status = status;
    }
    @Transient
    public String getStatusName() {
        return statusName;
    }
    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }
    @Transient
    public String getArticleName() {
        return articleName;
    }
    public void setArticleName(String articleName) {
        this.articleName = articleName;
    }
    @Transient
    public String getImage() {
        return image;
    }
    public void setImage(String image) {
        this.image = image;
    }
}

+ 4 - 3
server/svr-authentication/src/main/java/com/yihu/jw/security/oauth2/provider/endpoint/WlyyLoginEndpoint.java

@ -428,9 +428,10 @@ public class WlyyLoginEndpoint extends AbstractEndpoint {
                throw new UnsupportedGrantTypeException("Unsupported grant type: " + tokenRequest.getGrantType());
            }
        boolean past = testPwd(parameters.get("password"));
        if (!"family".equals(flag)) {
            if (!past) {
            //账户密码登录的才验证密码强度
        String grant_type = parameters.get("grant_type");
        if ("password".equals(grant_type)) {
            if (!testPwd(parameters.get("password"))) {
                throw new PwdException("密码强度低,请用验证码登录,或者修改密码后在从新登录!");
            }
        }

+ 13 - 0
svr/svr-base/src/main/java/com/yihu/jw/base/dao/article/BaseNewsArticleDao.java

@ -0,0 +1,13 @@
package com.yihu.jw.base.dao.article;
import com.yihu.jw.entity.hospital.article.BaseNewsArticleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by yeshijie on 2022/11/7.
 */
public interface BaseNewsArticleDao extends PagingAndSortingRepository<BaseNewsArticleDO, String>, JpaSpecificationExecutor<BaseNewsArticleDO> {
}

+ 60 - 3
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/article/ArticleEndpoint.java

@ -10,13 +10,10 @@ import com.yihu.jw.base.service.article.KnowledgeArticleService;
import com.yihu.jw.base.service.article.KnowledgeArticleUserService;
import com.yihu.jw.base.service.article.KnowledgeCategoryService;
import com.yihu.jw.doctor.dao.BaseDoctorHospitalDao;
import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.patient.BasePatientBusinessDO;
import com.yihu.jw.entity.base.role.RoleDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleUserDO;
import com.yihu.jw.entity.hospital.article.KnowledgeCategoryDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
@ -61,6 +58,66 @@ public class ArticleEndpoint extends EnvelopRestEndpoint {
	private UserDao userdao;
	@Autowired
	private RoleDao roleDao;
	@GetMapping(value = "findPageByArticleName")
	@ApiOperation(value = "获取新闻动态列表")
	public Envelop findPageByArticleName(
			@ApiParam(name = "articleName", value = "文章标题")
			@RequestParam(value = "articleName", required = false) String articleName,
			@ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
			@RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
			@ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
			@RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize){
		try {
			return knowledgeArticleService.findPageByArticleName(articleName, page, pageSize);
		}catch (Exception e){
			return failedException(e);
		}
	}
	@GetMapping(value = "findNewsArticle")
	@ApiOperation(value = "按id获取新闻动态")
	public Envelop findNewsArticle(
			@ApiParam(name = "id", value = "id",required = true)
			@RequestParam(value = "id", required = true) String id){
		try {
			return success("获取成功",knowledgeArticleService.findNewsArticle(id));
		}catch (Exception e){
			return failedException(e);
		}
	}
	@PostMapping(value = "delNewsArticle")
	@ApiOperation(value = "获取新闻动态列表")
	public Envelop delNewsArticle(
			@ApiParam(name = "id", value = "id",required = true)
			@RequestParam(value = "id", required = true) String id){
		try {
			knowledgeArticleService.delNewsArticle(id);
			return success("删除成功");
		}catch (Exception e){
			return failedException(e);
		}
	}
	@PostMapping(value = "addNewArticle")
	@ApiOperation(value = "新增或修改新闻动态列表")
	public Envelop addNewArticle(
			@ApiParam(name = "id", value = "id",required = false)
			@RequestParam(value = "id", required = false) String id,
			@ApiParam(name = "articleId", value = "文章id")
			@RequestParam(value = "articleId", required = true) String articleId,
			@ApiParam(name = "sort", value = "排序", required = true)
			@RequestParam(value = "sort", required = true)Integer sort,
			@ApiParam(name = "status", value = "状态", required = true)
			@RequestParam(value = "status", required = true)String status){
		try {
			return success("操作成功",knowledgeArticleService.addNewArticle(id,articleId,sort,status));
		}catch (Exception e){
			return failedException(e);
		}
	}
	
	@GetMapping(value = BaseHospitalRequestMapping.KnowledgeArticle.searchKnowledgePageList)
	@ApiOperation(value = "获取文章列表")

+ 26 - 1
svr/svr-base/src/main/java/com/yihu/jw/base/endpoint/menu/BaseMenuNoLoginEndpoint.java

@ -6,7 +6,6 @@ import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.base.BaseRequestMapping;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
@ -79,4 +78,30 @@ public class BaseMenuNoLoginEndpoint extends EnvelopRestEndpoint {
        }
    }
    @GetMapping(value = "findPageByArticleName")
    @ApiOperation(value = "获取新闻动态列表")
    public Envelop findPageByArticleName(
            @ApiParam(name = "page", value = "第几页,从1开始", required = true, defaultValue = "1")
            @RequestParam(value = "page", required = true,defaultValue = "1")Integer page,
            @ApiParam(name = "pageSize", value = "每页分页大小", required = true, defaultValue = "10")
            @RequestParam(value = "pageSize", required = true,defaultValue = "10")Integer pageSize){
        try {
            return knowledgeArticleService.findPageByArticleName(null, page, pageSize);
        }catch (Exception e){
            return failedException(e);
        }
    }
    @GetMapping(value = "findNewsArticle")
    @ApiOperation(value = "按id获取新闻动态")
    public Envelop findNewsArticle(
            @ApiParam(name = "id", value = "id",required = true)
            @RequestParam(value = "id", required = true) String id){
        try {
            return success("获取成功",knowledgeArticleService.findNewsArticle(id));
        }catch (Exception e){
            return failedException(e);
        }
    }
}

+ 87 - 4
svr/svr-base/src/main/java/com/yihu/jw/base/service/article/KnowledgeArticleService.java

@ -2,9 +2,9 @@ package com.yihu.jw.base.service.article;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.base.dao.article.KnowledgeArticleDictDao;
import com.yihu.jw.base.dao.article.BaseNewsArticleDao;
import com.yihu.jw.base.dao.article.KnowledgeArticleDeptDao;
import com.yihu.jw.base.dao.article.KnowledgeArticleMenuDao;
import com.yihu.jw.base.dao.article.KnowledgeArticleDictDao;
import com.yihu.jw.base.dao.article.KnowledgeArticleUserDao;
import com.yihu.jw.base.dao.menu.BaseMenuDictDao;
import com.yihu.jw.base.dao.user.UserDao;
@ -15,19 +15,19 @@ import com.yihu.jw.entity.base.doctor.BaseDoctorHospitalDO;
import com.yihu.jw.entity.base.menu.BaseMenuDictDO;
import com.yihu.jw.entity.base.patient.BasePatientBusinessDO;
import com.yihu.jw.entity.base.user.UserDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDO;
import com.yihu.jw.entity.hospital.article.BaseNewsArticleDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDeptDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleDictDO;
import com.yihu.jw.entity.hospital.article.KnowledgeArticleUserDO;
import com.yihu.jw.entity.hospital.consult.WlyyHospitalSysDictDO;
import com.yihu.jw.entity.hospital.survey.WlyySurveyTemplateDO;
import com.yihu.jw.entity.hospital.survey.WlyySurveyUserDO;
import com.yihu.jw.hospital.dict.WlyyHospitalSysDictDao;
import com.yihu.jw.hospital.survey.dao.SurveyTemplateDao;
import com.yihu.jw.hospital.survey.dao.SurveyUserDao;
import com.yihu.jw.patient.dao.BasePatientBusinessDao;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.utils.EntityUtils;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
@ -73,6 +73,89 @@ public class KnowledgeArticleService extends BaseJpaService<KnowledgeArticleDict
    private HibenateUtils hibenateUtils;
	@Autowired
	private UserDao userDao;
	@Autowired
	private BaseNewsArticleDao baseNewsArticleDao;
	/**
	 * 新闻动态分页
	 * @return
	 */
	public PageEnvelop<List<Map<String,Object>>> findPageByArticleName(String articleName, Integer page, Integer size){
		String sql = "SELECT a.id,a.sort,cast(a.status as char) status,a.article_id articleId,LEFT(a.create_time,19) createTime,IF(a.status=1,'生效','失效') statusName" +
				",d.title articleName,d.image from base_news_article a,wlyy_knowledge_article_dict d " +
				"WHERE a.article_id = d.id " ;
		String sqlCount = "SELECT count(a.id) from base_news_article a,wlyy_knowledge_article_dict d  " +
				" WHERE a.article_id = d.id ";
		String filter = " ";
		String limit = " limit "+(page-1)*size+","+size;
		if (StringUtils.isNotBlank(articleName)){
			filter +="and d.title like '%"+articleName+"%'";
		}
		List<Map<String, Object>> list = jdbcTemplate.queryForList(sql + filter+limit);
		for (Map<String,Object> map:list){
		}
		Long count = jdbcTemplate.queryForObject(sqlCount+filter,Long.class);
		return PageEnvelop.getSuccessListWithPage("success",list,page,size,count);
	}
	/**
	 * 删除新闻动态
	 */
	public void delNewsArticle(String id){
		if(baseNewsArticleDao.exists(id)){
			baseNewsArticleDao.delete(id);
		}
	}
	/**
	 * 按id查找
	 * @param id
	 * @return
	 */
	public BaseNewsArticleDO findNewsArticle(String id){
		BaseNewsArticleDO baseNewsArticleDO = baseNewsArticleDao.findOne(id);
		if(baseNewsArticleDO!=null){
			if(StringUtils.isNotBlank(baseNewsArticleDO.getArticleId())){
				KnowledgeArticleDictDO dictDO = knowledgeArticleDictDao.findByIdAndDel(baseNewsArticleDO.getArticleId());
				if(dictDO!=null){
					baseNewsArticleDO.setArticleName(dictDO.getTitle());
					baseNewsArticleDO.setImage(dictDO.getImage());
				}
			}
			baseNewsArticleDO.setStatusName("1".equals(baseNewsArticleDO.getStatus())?"生效":"失效");
		}
		return baseNewsArticleDO;
	}
	/**
	 * 新增或修改新闻动态
	 * @return
	 */
	public BaseNewsArticleDO addNewArticle(String id,String articleId,Integer sort,String status){
		if(StringUtils.isNotBlank(id)){
			BaseNewsArticleDO baseNewsArticleDO = baseNewsArticleDao.findOne(id);
			baseNewsArticleDO.setArticleId(articleId);
			baseNewsArticleDO.setSort(sort);
			baseNewsArticleDO.setStatus(status);
			baseNewsArticleDao.save(baseNewsArticleDO);
			return baseNewsArticleDO;
		}else {
			BaseNewsArticleDO baseNewsArticleDO = new BaseNewsArticleDO();
			baseNewsArticleDO.setArticleId(articleId);
			baseNewsArticleDO.setSort(sort);
			baseNewsArticleDO.setStatus(status);
			baseNewsArticleDO.setCreateTime(new Date());
			baseNewsArticleDao.save(baseNewsArticleDO);
			return baseNewsArticleDO;
		}
	}
	//查询文章列表
	public List<Map<String,Object>> findArticleList(String first,String second ,String key,Integer page ,Integer pageSize){
		String sql ="select b.id as \"id\", " +