瀏覽代碼

Merge branch 'dev' of http://192.168.1.220:10080/Amoy2/wlyy2.0 into dev

wangzhinan 4 年之前
父節點
當前提交
7266b8f465

+ 18 - 2
business/base-service/src/main/java/com/yihu/jw/hospital/message/dao/BaseBannerDao.java

@ -2,16 +2,32 @@ package com.yihu.jw.hospital.message.dao;
import com.yihu.jw.entity.hospital.message.BaseBannerDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import org.hibernate.annotations.SQLInsert;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.Pageable;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
import java.util.Map;
/**
 * @author wangzhinan
 * @vsrsion 2.0
 * Created at 2020.07.08
 */
public interface BaseBannerDao extends PagingAndSortingRepository<BaseBannerDO, String>, JpaSpecificationExecutor<BaseBannerDO> {
    @Query(value = "select * from base_banner p where p.name like %?1% and p.status = ?2 order by  p.sort desc limit ?3,?4 ",nativeQuery = true)
    List<BaseBannerDO> queryByNameAndStatus(String name,Integer status,Integer pageNo,Integer pageSize);
    @Query(value = "select * from base_banner p where p.name like %?1% order by  p.sort desc limit ?2,?3 ",nativeQuery = true)
    List<BaseBannerDO> queryByName(String name,Integer pageNo,Integer pageSize);
    @Query( value = "select max(t.sort) from base_banner t",nativeQuery = true)
    Integer getMaxSort();
    @Query( value = "select min(t.sort) from base_banner t",nativeQuery = true)
    Integer getMinSort();
    @Query(value = "select * from base_banner where id = ( select id from base_banner where sort > ?1 order by sort desc limit 0,1)",nativeQuery = true)
    BaseBannerDO upBanner(Integer sort);
    @Query(value = "select * from base_banner where id = ( select id from base_banner where sort < ?1 order by sort desc limit 0,1)",nativeQuery = true)
    BaseBannerDO downBanner(Integer sort);
}

+ 1 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/message/dao/BaseBannerDoctorDao.java

@ -11,6 +11,7 @@ import org.springframework.data.repository.PagingAndSortingRepository;
 * Created at 2020.07.08
 */
public interface BaseBannerDoctorDao extends PagingAndSortingRepository<BaseBannerDoctorDO, String>, JpaSpecificationExecutor<BaseBannerDoctorDO> {
    //批量新增的接口
}

+ 26 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/message/service/BaseBannerDoctorService.java

@ -0,0 +1,26 @@
package com.yihu.jw.hospital.message.service;
import com.yihu.jw.entity.hospital.message.BaseBannerDO;
import com.yihu.jw.entity.hospital.message.BaseBannerDoctorDO;
import com.yihu.jw.hospital.message.dao.BaseBannerDao;
import com.yihu.jw.hospital.message.dao.BaseBannerDoctorDao;
import com.yihu.mysql.query.BaseJpaService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class BaseBannerDoctorService extends BaseJpaService<BaseBannerDoctorDO, BaseBannerDoctorDao> {
    @Autowired
    private BaseBannerDoctorDao baseBannerDoctorDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    //批量新增锦旗
    public void bannerGive(String patientId, String doctorId, List<String> list,Integer relationType){
    }
}

+ 220 - 0
business/base-service/src/main/java/com/yihu/jw/hospital/message/service/BaseBannerService.java

@ -0,0 +1,220 @@
package com.yihu.jw.hospital.message.service;
import com.yihu.jw.entity.hospital.message.BaseBannerDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.hospital.message.dao.BaseBannerDao;
import com.yihu.jw.hospital.message.dao.SystemMessageDao;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.utils.StringUtil;
import com.yihu.jw.utils.hibernate.HibenateUtils;
import com.yihu.mysql.query.BaseJpaService;
import org.apache.commons.collections.map.HashedMap;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Pageable;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.jdbc.core.RowMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.persistence.criteria.CriteriaBuilder;
import java.util.Date;
import java.util.List;
import java.util.Map;
@Service
public class BaseBannerService extends BaseJpaService<BaseBannerDO, BaseBannerDao> {
    @Autowired
    private BaseBannerDao baseBannerDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private HibenateUtils hibenateUtils;
    /**
     * 医生锦旗管理查询
     * @param
     * @return
     * @throws Exception
     */
   /* public List<BaseBannerDO> queryBannerByNameAndStatus(String name, String status, Integer page, Integer pageSize){
        Integer queryStatus =0;
        Integer pageNo = (page-1)*pageSize;
        Pageable pageable = new PageRequest(page,pageSize);
        if (StringUtils.isNotEmpty(status)) {
            queryStatus = Integer.valueOf(status);
            List<BaseBannerDO> result = baseBannerDao.queryByNameAndStatus(name,queryStatus,pageNo,pageSize);
            return result;
      }else {
            List<BaseBannerDO> result = baseBannerDao.queryByName(name,pageNo,pageSize);
            return result;
        }
    }*/
    public Envelop queryBannerByNameAndStatus(String name, String status, Integer page, Integer pageSize){
        Map<String,Object> params = new HashedMap();
        String sqlcount = dealSql(name,status,true);
        String sql  = dealSql(name,status,false);
        if (StringUtils.isNotEmpty(status)){
            params.put("status",status);
        }
        Long count = 0L;
        List<Map<String,Object>> total = hibenateUtils.createSQLQuery(sqlcount,params);
        if(total!=null){
            //mysql 与 Oracle 聚合函数返回类型不一致,需要判断装换
            count = hibenateUtils.objTransformLong(total.get(0).get("total"));
        }
        List<Map<String,Object>> list = hibenateUtils.createSQLQuery(sql,params,page,pageSize);
        return MixEnvelop.getSuccessListWithPage(BaseHospitalRequestMapping.Prescription.api_success, list, page, pageSize, count);
    }
    private String dealSql(String name, String status,Boolean isCount){
        StringBuffer sql = new StringBuffer();
        if (isCount) {
            sql.append("SELECT COUNT(1) AS \"total\" FROM (");
        }
        sql.append("select * from base_banner p where 1=1");
        if(StringUtils.isNotEmpty(name)){
            sql.append(" and p.name like '%"+name+"%'");
        }if (StringUtils.isNotEmpty(status)){
            sql.append(" and p,status =:status");
        }
        sql.append(" order by  p.sort desc ");
        if (isCount) {
            sql.append(") t");
        }
        return sql.toString();
    }
    /**
     * 医生锦旗新增
     * @param
     * @return
     * @throws Exception
     */
    public BaseBannerDO creatBanner(BaseBannerDO baseBannerDO){
        String sql = "select max(sort) as sort from base_banner";
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);
        Map<String,Object> map = list.get(0);
        int sort = 0;
        if(null!=map){
            sort = Integer.valueOf(map.get("sort").toString());
        }
        baseBannerDO.setSort(sort+1);
        baseBannerDO.setUpdateTime(new Date());
        baseBannerDO.setCreateTime(new Date());
        BaseBannerDO result =  baseBannerDao.save(baseBannerDO);
        return result;
    }
    /**
     * 医生锦旗更新
     * @param
     * @return
     * @throws Exception
     */
    public BaseBannerDO updateBanner(String id,String name,String img,String status,String updateUser,String updateUserName){
        BaseBannerDO bannerDO = baseBannerDao.findOne(id);
        if (null == bannerDO){
            return null;
        }
        if (!StringUtil.isEmpty(name)){
            bannerDO.setName(name);
            bannerDO.setUpdateTime(new Date());
        }
        if (!StringUtil.isEmpty(img)){
            bannerDO.setImg(img);
        }
        if (!StringUtil.isEmpty(updateUser)){
            bannerDO.setUpdateUser(updateUser);
        }
        if (!StringUtil.isEmpty(updateUserName)){
            bannerDO.setUpdateUser(updateUserName);
        }
        if (!StringUtil.isEmpty(status)){
            bannerDO.setStatus(Integer.valueOf(status));
        }
        baseBannerDao.save(bannerDO);
        return bannerDO;
    }
    /**
     * 医生锦旗删除
     * @param
     * @return
     * @throws Exception
     */
    public Boolean deleteBanner(String id){
        BaseBannerDO bannerDO = baseBannerDao.findOne(id);
        if (null == bannerDO){
            return false;
        }
        baseBannerDao.delete(id);
        return true;
    }
    /**
     * 医生锦旗上移
     * @param
     * @return
     * @throws Exception
     */
    public BaseBannerDO upBanner(String id) throws Exception{
        BaseBannerDO bannerDO = baseBannerDao.findOne(id);
        int maxSort = baseBannerDao.getMaxSort();
        int sort = 0;
        if(null!=bannerDO){
            sort = bannerDO.getSort();
        }
        BaseBannerDO upPrevious = baseBannerDao.upBanner(sort);
        if (maxSort==sort){
            throw new Exception("不能上移");
        }
        //交换sort值
        bannerDO.setSort(upPrevious.getSort());
        upPrevious.setSort(sort);
        baseBannerDao.save(bannerDO);
        baseBannerDao.save(upPrevious);
        return bannerDO;
    }
    /**
     * 医生锦旗下移
     * @param
     * @return
     * @throws Exception
     */
    public BaseBannerDO downBanner(String id) throws Exception{
        //当前banner
        BaseBannerDO bannerDO = baseBannerDao.findOne(id);
        int minSort = baseBannerDao.getMinSort();
        int sort = 0;
        if(null!=bannerDO){
            sort = bannerDO.getSort();
        }
        //获取的下一条banner
        BaseBannerDO downPrevious = baseBannerDao.downBanner(sort);
        if (minSort==sort){
            throw new Exception("不能下移");
        }
        //交换sort值
        bannerDO.setSort(downPrevious.getSort());
        downPrevious.setSort(sort);
        baseBannerDao.save(bannerDO);
        baseBannerDao.save(downPrevious);
        return bannerDO;
    }
    /**
     * 锦旗开关
     * @param
     * @return
     * @throws Exception
     */
    public BaseBannerDO onOff(String id ,String status){
        BaseBannerDO bannerDO = baseBannerDao.findOne(id);
        if(null!=bannerDO){
            bannerDO.setStatus(Integer.valueOf(status));
        }
        baseBannerDao.save(bannerDO);
        return bannerDO;
    }
}

+ 34 - 6
common/common-entity/src/main/java/com/yihu/jw/entity/hospital/message/BaseBannerDO.java

@ -22,12 +22,15 @@ public class BaseBannerDO extends UuidIdentityEntityWithOperator {
     *锦旗名称
     */
    private String name;
    /*
      *医生id
     */
    private String saasId;
    /**
     *锦旗描述
     */
    private String desc;
    private String description;
    /**
     *锦旗图标
     */
@ -38,8 +41,30 @@ public class BaseBannerDO extends UuidIdentityEntityWithOperator {
     * 排序
     */
    private Integer sort;
    /*
    *状态
     */
    private Integer status;
    @Column(name = "saas_id")
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    @Column(name = "status")
    public Integer getStatus() {
        return status;
    }
    public void setStatus(Integer status) {
        this.status = status;
    }
    @Column(name = "name")
    public String getName() {
        return name;
    }
@ -48,14 +73,16 @@ public class BaseBannerDO extends UuidIdentityEntityWithOperator {
        this.name = name;
    }
    public String getDesc() {
        return desc;
    @Column(name = "description")
    public String getDescription() {
        return description;
    }
    public void setDesc(String desc) {
        this.desc = desc;
    public void setDescription(String description) {
        this.description = description;
    }
    @Column(name = "img")
    public String getImg() {
        return img;
    }
@ -64,6 +91,7 @@ public class BaseBannerDO extends UuidIdentityEntityWithOperator {
        this.img = img;
    }
    @Column(name = "sort")
    public Integer getSort() {
        return sort;
    }

+ 16 - 1
common/common-request-mapping/src/main/java/com/yihu/jw/rm/hospital/BaseHospitalRequestMapping.java

@ -1,6 +1,8 @@
package com.yihu.jw.rm.hospital;
import com.sun.javafx.image.PixelUtils;
/**
 * Created by Trick on 2019/5/16.
 */
@ -1109,8 +1111,21 @@ public class BaseHospitalRequestMapping {
        public static final String updateMessage  = "/updateMessage";
        public static final String searchMessagePageList  = "/searchMessagePageList";
        public static final String queryById  = "/queryById";
    }
    }
    /**
     * 医生礼物管理
     */
    public static class BaseBannerssage extends Basic{
        public static final String baseBanner  = "/baseBanner";
        public static final String queryByAndStatud = "/getByNameAndStatus";
        public static final String createBanner = "/creaetBanner";
        public static final String updateBanner = "/updateBanner";
        public static final String deleteBanner = "/deleteBanner";
        public static final String upBanner = "/upBanner";
        public static final String downBanner = "/downBanner";
        public static final String onOff = "/onOff";
    }
    /**
     * 医生分析总览
     */

+ 145 - 0
svr/svr-internet-hospital/src/main/java/com/yihu/jw/hospital/endpoint/message/BaseBannerController.java

@ -0,0 +1,145 @@
package com.yihu.jw.hospital.endpoint.message;
import com.yihu.jw.entity.hospital.message.BaseBannerDO;
import com.yihu.jw.entity.hospital.message.SystemMessageDO;
import com.yihu.jw.entity.wlyy.agreement.WlyyAgreementDO;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.restmodel.web.ListEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.hospital.message.service.BaseBannerService;
import com.yihu.jw.restmodel.web.Envelop;
import com.yihu.jw.rm.hospital.BaseHospitalRequestMapping;
import com.yihu.jw.utils.StringUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping(value = BaseHospitalRequestMapping.BaseBannerssage.baseBanner)
@Api(value = "医生锦旗管理", description = "医生锦旗管理", tags = {"互联网医院 - 医生锦旗管理接口"})
public class BaseBannerController extends EnvelopRestEndpoint{
    private static Logger logger = LoggerFactory.getLogger(SystemMessageController.class);
    @Autowired
    private BaseBannerService baseBannerService;
    @ApiOperation("查询锦旗")
    @PostMapping(value= BaseHospitalRequestMapping.BaseBannerssage.queryByAndStatud)
    public Envelop queryByAndStatud(@ApiParam(name = "name", value = "锦旗名称")
                                                   @RequestParam(value = "name", required = false) String name,
                                        @ApiParam(name = "status", value = "锦旗状态")
                                                   @RequestParam(value = "status", required = false) String status,
                                        @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){
            return success( baseBannerService.queryBannerByNameAndStatus(name,status,page,pageSize));
    }
    @PostMapping(value= BaseHospitalRequestMapping.BaseBannerssage.createBanner)
    @ApiOperation("新增医生锦旗")
    public Envelop createBanner(
            @ApiParam(name = "json", value = "Json数据", required = true)
            @RequestParam(value = "json", required = false)String json)throws Exception{
        BaseBannerDO bannerDO = toEntity(json,BaseBannerDO.class);
        BaseBannerDO result = baseBannerService.creatBanner(bannerDO);
        if (null == result){
            return failed("新增失败");
        }
        return success("新增成功");
    }
    @PostMapping(value= BaseHospitalRequestMapping.BaseBannerssage.updateBanner)
    @ApiOperation("更新锦旗信息")
    public Envelop updateMessage(
            @ApiParam(name = "id", value = "id", required = true)
            @RequestParam(value = "id", required = true)String id,
            @ApiParam(name = "name", value = "name", required = false)
            @RequestParam(value = "name", required = false)String name,
            @ApiParam(name = "img", value = "img", required = false)
            @RequestParam(value = "img", required = false)String img,
            @ApiParam(name = "status", value = "status", required = false)
            @RequestParam(value = "status", required = false)String status)throws Exception {
        String updateUser = getUID();
        String updateUserName = getUNAME();
        BaseBannerDO result = baseBannerService.updateBanner(id,name,img,status,updateUser,updateUserName);
        if (null == result) {
            return failed("更新失败,礼物不存在");
        }
        return success("更新成功");
    }
    @GetMapping(value= BaseHospitalRequestMapping.BaseBannerssage.deleteBanner)
    @ApiOperation("删除礼物信息")
    public Envelop deleteBanner(@ApiParam(name = "id", value = "id", required = true)
                                    @RequestParam(value = "id", required = true)String id){
        boolean flag = baseBannerService.deleteBanner(id);
        if (true==flag){
            return success("删除成功");
        }else {
            return failed("删除失败");
        }
    }
    @GetMapping(value= BaseHospitalRequestMapping.BaseBannerssage.upBanner)
    @ApiOperation("上移锦旗信息")
    public Envelop upBanner(@ApiParam(name = "id", value = "id", required = true)
                                @RequestParam(value = "id", required = true)String id){
        BaseBannerDO bannerDO = new BaseBannerDO();
        String erroMessage = null;
        try {
            bannerDO = baseBannerService.upBanner(id);
        } catch (Exception e) {
            erroMessage = e.getMessage();
        }
        if (StringUtils.isNotEmpty(erroMessage)){
            return failed("上移失败"+erroMessage);
        }else {
            return success("上移成功");
        }
    }
    @GetMapping(value= BaseHospitalRequestMapping.BaseBannerssage.downBanner)
    @ApiOperation("下移锦旗信息")
    public Envelop downBanner(@ApiParam(name = "id", value = "id", required = true)
                                 @RequestParam(value = "id", required = true)String id){
        BaseBannerDO bannerDO = new BaseBannerDO();
        String erroMessage = null;
        try {
            bannerDO = baseBannerService.downBanner(id);
        } catch (Exception e) {
            erroMessage = e.getMessage();
        }
        if (StringUtils.isNotEmpty(erroMessage)){
            return failed("下移失败"+erroMessage);
        }else {
            return success("下移成功");
        }
    }
    @GetMapping(value= BaseHospitalRequestMapping.BaseBannerssage.onOff)
    @ApiOperation("锦旗开关")
    public Envelop onOff(@ApiParam(name = "id", value = "id", required = true)
                              @RequestParam(value = "id", required = true)String id,
                         @ApiParam(name = "status", value = "status", required = true)
                         @RequestParam(value = "status", required = true)String status){
       BaseBannerDO bannerDO = baseBannerService.onOff(id,status);
       if (null!=bannerDO.getId()){
           return success("开关切换成功");
       }else {
           return failed("开关失败");
       }
    }
}