Prechádzať zdrojové kódy

Merge branch 'dev' of http://192.168.1.220:10080/Amoy/patient-co-management into dev

huangwenjie 7 rokov pred
rodič
commit
34d2c32488
21 zmenil súbory, kde vykonal 705 pridanie a 200 odobranie
  1. 117 0
      common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/NewArticleStatisticsModel.java
  2. 0 132
      patient-co-manage/wlyy-manage/src/main/java/TestImportJxl.java
  3. 6 3
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/survey/QuestionnaireController.java
  4. 99 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/survey/QuestionnairePrize.java
  5. 134 0
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/survey/QuestionnaireWinning.java
  6. 33 15
      patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/survey/QuestionnaireService.java
  7. 5 2
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/questionnaire/prize/prize_list.jsp
  8. 16 19
      patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/questionnaire/prize/prize_list_js.jsp
  9. 22 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/jkedu/repository/JkeduStatisticsArticleDao.java
  10. 1 1
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/questionnaire/QuestionnaireUsersDao.java
  11. 61 4
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/questionnaire/QuestionnaireUsersService.java
  12. 7 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/survey/PatientQuestionnaireService.java
  13. 7 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/template/DoctorGuidanceTempService.java
  14. 27 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/CommonUtil.java
  15. 13 0
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandlingController.java
  16. 9 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/health/DoctorHealthGuidanceController.java
  17. 27 3
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/questionnaire/QuestionnaireUsersController.java
  18. 48 2
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/survey/PatientQuestionnaireController.java
  19. 67 4
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkedu/service/EduArticleService.java
  20. 3 4
      patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/wx/WechatMenuController.java
  21. 3 3
      patient-co/patient-co-wlyy/src/main/resources/wechat/weixin_menu_jimei.txt

+ 117 - 0
common/common-entity/src/main/java/com/yihu/edu/entity/dataClean/NewArticleStatisticsModel.java

@ -0,0 +1,117 @@
package com.yihu.edu.entity.dataClean;
import javax.persistence.*;
import java.util.Date;
/**
 * Created by zhangdan on 2017/9/29.
 */
@Entity
@Table(name = "user_articlestatistics")
public class NewArticleStatisticsModel {
    private  int ID;
    private String articleId;
    private int browseNumber;
    private int pointNumber;
    private int commentNumber;
    private int shareNumber;
    private int collectionNumber;
    private int pushNumber;
    private Date insertTime;
    @Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    public int getID() {
        return ID;
    }
    public void setID(int ID) {
        this.ID = ID;
    }
    @Column(name = "ArticleId")
    public String getArticleId() {
        return articleId;
    }
    public void setArticleId(String articleId) {
        this.articleId = articleId;
    }
    @Column(name = "BrowseNumber")
    public int getBrowseNumber() {
        return browseNumber;
    }
    public void setBrowseNumber(int browseNumber) {
        this.browseNumber = browseNumber;
    }
    @Column(name = "PointNumber")
    public int getPointNumber() {
        return pointNumber;
    }
    public void setPointNumber(int pointNumber) {
        this.pointNumber = pointNumber;
    }
    @Column(name = "CommentNumber")
    public int getCommentNumber() {
        return commentNumber;
    }
    public void setCommentNumber(int commentNumber) {
        this.commentNumber = commentNumber;
    }
    @Column(name = "ShareNumber")
    public int getShareNumber() {
        return shareNumber;
    }
    public void setShareNumber(int shareNumber) {
        this.shareNumber = shareNumber;
    }
    @Column(name = "CollectionNumber")
    public int getCollectionNumber() {
        return collectionNumber;
    }
    public void setCollectionNumber(int collectionNumber) {
        this.collectionNumber = collectionNumber;
    }
    @Column(name = "PushNumber")
    public int getPushNumber() {
        return pushNumber;
    }
    public void setPushNumber(int pushNumber) {
        this.pushNumber = pushNumber;
    }
    @Column(name = "InsertTime")
    public Date getInsertTime() {
        return insertTime;
    }
    public void setInsertTime(Date insertTime) {
        this.insertTime = insertTime;
    }
}

+ 0 - 132
patient-co-manage/wlyy-manage/src/main/java/TestImportJxl.java

@ -1,132 +0,0 @@
import com.yihu.wlyy.entity.Hospital;
import com.yihu.wlyy.entity.HospitalDept;
import com.yihu.wlyy.entity.survey.QuestionnairePrize;
import com.yihu.wlyy.repository.survey.QuestionnairePrizeDao;
import com.yihu.wlyy.service.common.excel.ExcelData;
import com.yihu.wlyy.service.manager.wlyyrole.WlyyUserRoleService;
import com.yihu.wlyy.util.ReadExcelUtil;
import com.yihu.wlyy.util.RivaEDCode;
import com.yihu.wlyy.vo.UserPrizeVO;
import jxl.*;
import jxl.write.*;
import org.apache.commons.lang3.StringUtils;
import org.junit.Test;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import java.io.File;
import java.text.ParseException;
import java.util.*;
/**
 * Created by Reece on 2018/1/28/028.
 */
public class TestImportJxl {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private QuestionnairePrizeDao prizeDao;
    @Autowired
    private WlyyUserRoleService roleService;
    @Test
    public void test()throws Exception{
            Workbook book = Workbook.getWorkbook(new File(
                    "C:\\Users\\Administrator\\Desktop\\奖品表.xls"));
        importData(book);
        }
    /**
     *  导入奖品信息Excel表格
     * @param workbook
     * @return
     * @throws ParseException
     */
    public boolean importData(Workbook workbook) throws ParseException {
        Sheet[] sheets = workbook.getSheets();
        Sheet sheet = sheets[0];
        int rows = ReadExcelUtil.getRightRows(sheet);//表格行数
        List<QuestionnairePrize> prizeList = new ArrayList<>();
        for (int row = 1; row < rows; row++) {  //索引从0开始,第一行为标题
            //读取单行数据并取单元格数据保存到实体类部分字段中(单元格从0开始)
            QuestionnairePrize prize = new QuestionnairePrize();
            //映射实体类部分字段
            Map<Integer, ExcelData> mappingPrize = mappingQuestionnairePrize(prize);
            int finalRow = row;
            mappingPrize.forEach((index, excelData) -> {
                String value = sheet.getCell(index, finalRow).getContents().trim();
                excelData.transform(value);
            });
            //判断导入的奖品资源是否存在,不存在则保存
//            QuestionnairePrize prize = prizeDao.findByPrizeType(1,"");
            if(prize==null){
//                需要从表格取值
                prize = new QuestionnairePrize();
                prize.setCode("");
                prize.setType(1);
                //加密
                String prizeCode = RivaEDCode.passEncode("LUZ7TN3KOT8AWCD3ZA4NBMI5VNF7E50F6XYEP2WZM68JQYY5JE02L4L5FS9R4NGUGMHSCAPW9AL","C3SHUI8OWBOA4ZASS7FEYJ6RIVXA9SW6U5OA56ERUYZTRFHCRZO8AHT4TTW2MAGT80MGXN","");
                prize.setPrizeCode(prizeCode);
                prize.setValidity(new Date());
                prize.setAddress("");
                prize.setUsed(0);
                prize.setDel(0);
                prize.setCreateTime(new Date());
                prize.setUpdateTime(new Date());
                prizeList.add(prize);
            }
        }
        prizeDao.save(prizeList);
        return true;
    }
    public List<UserPrizeVO> searchListCount(String name, String idCard) throws Exception{
        String sql = "SELECT w.user_name, w.user_idcard, w.user_openid, w.prize_type, w.prize_code, p.validity, p.address FROM wlyy_questionnaire_winning w, wlyy_questionnaire_prize p WHERE w.prize_code = p.`code` and w.winning = 1 and w.del = 0 and p.used = 1 and p.del = 0  " +
                "and type = 2";
        if (StringUtils.isNotEmpty(name) && StringUtils.isNotEmpty(idCard)){
            sql += " w.user_name = " + name + " w.user_idcard = " + idCard;
        }else if (StringUtils.isEmpty(name) && StringUtils.isNotEmpty(idCard)){
            sql += " w.user_idcard = " + idCard;
        }else if (StringUtils.isNotEmpty(name) && StringUtils.isEmpty(idCard)){
            sql += " w.user_name = " + name;
        }
        sql += " order by w.idCard desc ";
        List<UserPrizeVO> userPrizeVOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<UserPrizeVO>());
        return userPrizeVOList;
    }
    private Map<Integer, ExcelData> mappingQuestionnairePrize(QuestionnairePrize prize) {
        Map<Integer, ExcelData> dataMap = new HashMap<>();
        //兑奖码
        dataMap.put(0, new ExcelData() {
            @Override
            public void transform(String data) {
                prize.setPrizeCode(data);
            }
        });
        //有效期
        dataMap.put(1, new ExcelData() {
            @Override
            public void transform(String data) {
                prize.setValidity(new Date());
            }
        });
        //领取地址
        dataMap.put(2, new ExcelData() {
            @Override
            public void transform(String data) {
                prize.setAddress(data);
            }
        });
        return dataMap;
    }
}

+ 6 - 3
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/controller/manager/survey/QuestionnaireController.java

@ -2,6 +2,8 @@ package com.yihu.wlyy.controller.manager.survey;
import com.yihu.wlyy.controller.BaseController;
import com.yihu.wlyy.entity.WlyyUserRole;
import com.yihu.wlyy.entity.survey.QuestionnairePrize;
import com.yihu.wlyy.entity.survey.QuestionnaireWinning;
import com.yihu.wlyy.service.manager.survey.QuestionnaireService;
import com.yihu.wlyy.service.manager.wlyyrole.WlyyUserRoleService;
import com.yihu.wlyy.vo.UserPrizeVO;
@ -40,13 +42,14 @@ public class QuestionnaireController extends BaseController {
    @RequestMapping(value = "list")
    @ResponseBody
    public String searchList(
            @RequestParam(value = "type",defaultValue = "1")Integer type,
            @RequestParam(value = "name",required = false)String name,
            @RequestParam(value = "idCard",required = false)String idCard,
            @RequestParam(value = "idcard",required = false)String idcard,
            @RequestParam(value = "page",required = false)Integer page,
            @RequestParam(value = "rows",required = false)Integer pageSize){
        try{
            List<UserPrizeVO> userprizes = questionnaireService.searchList(name,idCard,page, pageSize);
            List<UserPrizeVO> total = questionnaireService.searchListCount(name,idCard);
            List<QuestionnaireWinning> userprizes = questionnaireService.searchList(type ,name,idcard,page, pageSize);
            List<QuestionnaireWinning> total = questionnaireService.searchListCount(type,name,idcard);
            return write(200,"操作成功",page,pageSize,total.size(),userprizes);
        }catch (Exception ex){
            error(ex);

+ 99 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/survey/QuestionnairePrize.java

@ -0,0 +1,99 @@
package com.yihu.wlyy.entity.survey;
import com.yihu.wlyy.entity.IdEntity;
import io.swagger.models.auth.In;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.xml.crypto.Data;
import java.util.Date;
/**
 * Created by Reece on 2017/01/27
 * 问卷调查奖品信息
 */
@Entity
@Table(name = "Wlyy_questionnaire_prize")
public class QuestionnairePrize extends IdEntity {
  private String code;      //UUID-业务逻辑ID
  private Integer type;     //奖品类型:1电影票
  private String prizeCode; //奖品兑奖码
  private Date validity;    //奖品有效期
  private String address;   //'兑奖地址'
  private Integer used;   //0为未领走,1为被领走
  private Integer del;    //0为有效,1为删除
  private Date createTime;  //创建时间
  private Date updateTime;  //'修改时间'
  public String getCode() {
    return code;
  }
  public void setCode(String code) {
    this.code = code;
  }
  public Integer getType() {
    return type;
  }
  public void setType(Integer type) {
    this.type = type;
  }
  public String getPrizeCode() {
    return prizeCode;
  }
  public void setPrizeCode(String prizeCode) {
    this.prizeCode = prizeCode;
  }
  public Date getValidity() {
    return validity;
  }
  public String getAddress() {
    return address;
  }
  public void setAddress(String address) {
    this.address = address;
  }
  public Integer getUsed() {
    return used;
  }
  public void setUsed(Integer used) {
    this.used = used;
  }
  public Integer getDel() {
    return del;
  }
  public void setDel(Integer del) {
    this.del = del;
  }
  public void setValidity(Date validity) {
    this.validity = validity;
  }
  public Date getCreateTime() {
    return createTime;
  }
  public void setCreateTime(Date createTime) {
    this.createTime = createTime;
  }
  public Date getUpdateTime() {
    return updateTime;
  }
  public void setUpdateTime(Date updateTime) {
    this.updateTime = updateTime;
  }
}

+ 134 - 0
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/entity/survey/QuestionnaireWinning.java

@ -0,0 +1,134 @@
package com.yihu.wlyy.entity.survey;
import com.yihu.wlyy.entity.IdEntity;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.xml.crypto.Data;
import java.util.Date;
/**
 * Created by Reece on 2017/01/27
 * 问卷调查中奖者名单
 */
@Entity
@Table(name = "wlyy_questionnaire_winning")
public class QuestionnaireWinning extends IdEntity {
    private String code;            //uuid-业务ID
    private String userCode;       //中奖人CODE
    private String userIdcard;     //中奖人身份证
    private String userName;        //中奖人姓名
    private String userOpenid;      //中奖人openid
    private Integer prizeType;      //奖品类型:1电影票
    private String address;       //兑换地址
    private Date validity;       //奖品有效期
    private String prizeCode;       //奖品兑换码
    private Integer winning;            //0未中奖,1已中奖
    private Integer del;            //0正常,1为删除
    private Date createTime;        //创建时间
    private Date updateTime;        //修改时间
    public String getAddress() {
        return address;
    }
    public void setAddress(String address) {
        this.address = address;
    }
    public Date getValidity() {
        return validity;
    }
    public void setValidity(Date validity) {
        this.validity = validity;
    }
    public Integer getWinning() {
        return winning;
    }
    public void setWinning(Integer winning) {
        this.winning = winning;
    }
    public String getCode() {
        return code;
    }
    public void setCode(String code) {
        this.code = code;
    }
    public String getUserCode() {
        return userCode;
    }
    public void setUserCode(String userCode) {
        this.userCode = userCode;
    }
    public String getUserIdcard() {
        return userIdcard;
    }
    public void setUserIdcard(String userIdcard) {
        this.userIdcard = userIdcard;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
    public String getUserOpenid() {
        return userOpenid;
    }
    public void setUserOpenid(String userOpenid) {
        this.userOpenid = userOpenid;
    }
    public Integer getPrizeType() {
        return prizeType;
    }
    public void setPrizeType(Integer prizeType) {
        this.prizeType = prizeType;
    }
    public String getPrizeCode() {
        return prizeCode;
    }
    public void setPrizeCode(String prizeCode) {
        this.prizeCode = prizeCode;
    }
    public Integer getDel() {
        return del;
    }
    public void setDel(Integer del) {
        this.del = del;
    }
    public Date getCreateTime() {
        return createTime;
    }
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }
    public Date getUpdateTime() {
        return updateTime;
    }
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }
}

+ 33 - 15
patient-co-manage/wlyy-manage/src/main/java/com/yihu/wlyy/service/manager/survey/QuestionnaireService.java

@ -2,6 +2,7 @@ package com.yihu.wlyy.service.manager.survey;
import com.yihu.wlyy.entity.HospitalDept;
import com.yihu.wlyy.entity.survey.QuestionnairePrize;
import com.yihu.wlyy.entity.survey.QuestionnaireWinning;
import com.yihu.wlyy.repository.*;
import com.yihu.wlyy.repository.survey.QuestionnairePrizeDao;
import com.yihu.wlyy.service.common.excel.ExcelData;
@ -27,6 +28,7 @@ import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;
/**
@ -44,15 +46,15 @@ public class QuestionnaireService extends BaseJpaService {
    @Value("${Riva.RIVAED_KEY2}")
    private String key2;//key2值
    public List<UserPrizeVO> searchList(String name,String idCard,Integer page,Integer pageSize) throws Exception{
    public List<QuestionnaireWinning> searchList(Integer type,String name,String idCard,Integer page,Integer pageSize) throws Exception{
        if(page <= 0){
            page = 1;
        }
        if(pageSize <= 0){
            pageSize = 15;
        }
    String sql = "SELECT w.user_name, w.user_idcard, w.user_openid, w.prize_type, w.prize_code, p.validity, p.address FROM wlyy_questionnaire_winning w, wlyy_questionnaire_prize p WHERE w.prize_code = p.`code` and w.winning = 1 and w.del = 0 and p.used = 1 and p.del = 0  " +
            "and type = 2";
    String sql = "SELECT w.* FROM wlyy_questionnaire_winning w WHERE w.winning = 1 and w.del = 0  " +
            "and w.prize_type = " + type;
        if (StringUtils.isNotEmpty(name) && StringUtils.isNotEmpty(idCard)){
            sql += " w.user_name = " + name + " w.user_idcard = " + idCard;
        }else if (StringUtils.isEmpty(name) && StringUtils.isNotEmpty(idCard)){
@ -61,14 +63,14 @@ public class QuestionnaireService extends BaseJpaService {
            sql += " w.user_name = " + name;
        }
        sql += " order by w.update_time desc limit " + (page-1) +"," +pageSize;
        List<UserPrizeVO> userPrizeVOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(UserPrizeVO.class));
        List<QuestionnaireWinning> userPrizeVOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(QuestionnaireWinning.class));
        return userPrizeVOList;
    }
    public List<UserPrizeVO> searchListCount(String name,String idCard) throws Exception{
    public List<QuestionnaireWinning> searchListCount(Integer type, String name, String idCard) throws Exception{
    String sql = "SELECT w.user_name, w.user_idcard, w.user_openid, w.prize_type, w.prize_code, p.validity, p.address FROM wlyy_questionnaire_winning w, wlyy_questionnaire_prize p WHERE w.prize_code = p.`code` and w.winning = 1 and w.del = 0 and p.used = 1 and p.del = 0  " +
            "and type = 2";
        String sql = "SELECT w.* FROM wlyy_questionnaire_winning w WHERE w.winning = 1 and w.del = 0  " +
                "and w.prize_type = " + type;
        if (StringUtils.isNotEmpty(name) && StringUtils.isNotEmpty(idCard)){
            sql += " w.user_name = " + name + " w.user_idcard = " + idCard;
        }else if (StringUtils.isEmpty(name) && StringUtils.isNotEmpty(idCard)){
@ -76,8 +78,8 @@ public class QuestionnaireService extends BaseJpaService {
        }else if (StringUtils.isNotEmpty(name) && StringUtils.isEmpty(idCard)){
            sql += " w.user_name = " + name;
        }
        sql += " order by w.idCard desc ";
        List<UserPrizeVO> userPrizeVOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper<UserPrizeVO>());
        sql += " order by w.update_time desc ";
        List<QuestionnaireWinning> userPrizeVOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(QuestionnaireWinning.class));
        return userPrizeVOList;
    }
@ -105,11 +107,10 @@ public class QuestionnaireService extends BaseJpaService {
            });
            //判断导入的奖品资源是否存在,不存在则保存
            QuestionnairePrize existPrize = prizeDao.findByPrizeType(1,prize.getPrizeCode());
            QuestionnairePrize existPrize = prizeDao.findByPrizeType(prize.getType(),prize.getPrizeCode());
            if(existPrize == null){
                //                需要从表格取值
                prize.setCode(getCode());
                prize.setType(1);
                prize.setUsed(0);
                prize.setDel(0);
                prize.setCreateTime(new Date());
@ -128,8 +129,19 @@ public class QuestionnaireService extends BaseJpaService {
     */
    private Map<Integer, ExcelData> mappingQuestionnairePrize(QuestionnairePrize prize) {
        Map<Integer, ExcelData> dataMap = new HashMap<>();
        //兑奖码
        //奖品类型
        dataMap.put(0, new ExcelData() {
            @Override
            public void transform(String data) {
                //加密
                Integer type = Integer.valueOf(data);
                prize.setType(type);
            }
        });
        //兑奖码
        dataMap.put(1, new ExcelData() {
            @Override
            public void transform(String data) {
                //加密
@ -140,15 +152,21 @@ public class QuestionnaireService extends BaseJpaService {
        });
        //有效期
        dataMap.put(1, new ExcelData() {
        dataMap.put(2, new ExcelData() {
            @Override
            public void transform(String data) {
                prize.setValidity(new Date());
                try {
                    SimpleDateFormat format = new SimpleDateFormat("yyyy/MM/dd HH:mm");
                    Date validity = format.parse(data);
                    prize.setValidity(validity);
                } catch (ParseException e) {
                    e.printStackTrace();
                }
            }
        });
        //领取地址
        dataMap.put(2, new ExcelData() {
        dataMap.put(3, new ExcelData() {
            @Override
            public void transform(String data) {
                prize.setAddress(data);

+ 5 - 2
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/questionnaire/prize/prize_list.jsp

@ -12,10 +12,13 @@
	<div class="m-retrieve-area f-h50 f-dn f-pr m-form-inline" data-role-form style='display: block;'>
		<div class="m-form-group f-mt10">
			<div class="m-form-control f-ml15">
				<input type="text" id="inp_name" placeholder="请输入医生姓名" class="f-ml10" data-attr-scan="name"/>
				<input type="text" id="inp_type" placeholder="请选择奖品类型" class="f-ml10" data-attr-scan="type"/>
			</div>
			<div class="m-form-control f-ml15">
				<input type="text" id="inp_mobile" placeholder="请输入身份证号" class="f-ml10" data-attr-scan="mobile"/>
				<input type="text" id="inp_name" placeholder="请输入姓名" class="f-ml10" data-attr-scan="name"/>
			</div>
			<div class="m-form-control f-ml15">
				<input type="text" id="inp_idcard" placeholder="请输入身份证号" class="f-ml10" data-attr-scan="idcard"/>
			</div>
			<sec:authorize url="/admin/questionnaire/list">
			<div id="btn_search" class="l-button u-btn u-btn-primary u-btn-small f-ib f-vam  f-ml10" >

+ 16 - 19
patient-co-manage/wlyy-manage/src/main/webapp/WEB-INF/views/questionnaire/prize/prize_list_js.jsp

@ -30,23 +30,22 @@
				$element: $('.m-retrieve-area'),
				$searchBtn: $('#btn_search'),
				$addBtn: $('#btn_add'),
				$name: $("#inp_name"),//人员姓名
				$code: $("#inp_code"),//医生code
				$mobile: $("#inp_mobile"),
				$hospital: $("#inp_hospital"),//医院code
				$type: $("#inp_type"),//奖品类型
				$name: $("#inp_name"),//获奖人姓名
				$idcard: $("#inp_idcard"),//获奖人身份证
				init: function () {
					this.$element.show();
					this.$element.attrScan();
					window.form = this.$element;
					this.$name.ligerTextBox({width: 200}); //姓名
					this.$code.ligerTextBox({width: 200}); //姓名
					this.$mobile.ligerTextBox({width: 200})//手机号
					this.$hospital.ligerTextBox({width: 200})//医院code
					this.$type.ligerTextBox({width: 200});
                    this.$name.ligerTextBox({width: 200});
					this.$idcard.ligerTextBox({width: 200});
					this.bindEvents();
				},
				bindEvents: function () {
					var self = this;
					self.$searchBtn.click(function () {
					    console.log(self);
						master.grid.options.newPage = 1;
						master.reloadGrid();
					});
@ -67,21 +66,19 @@
						ajaxHeaderValue: ajaxHeaderValue,
						columns: [
							{display: 'ID', name: 'id', hide: true},
							{display: '医生编码', name: 'code', width: '20%', align: "center"},
							{display: '医生姓名', name: 'name', width: '8%', align: "center"},
							{display: '姓名', name: 'userName', width: '10%', align: "center"},
							{display: '身份证号', name: 'userIdcard', width: '15%', align: "center"},
							{display: '微信标识', name: 'userOpenid', width: '20%', align: "center"},
                            {
                                display: '性别', name: 'sex', width: '5%', align: "center",
                                display: '奖品类型', name: 'prizeType', width: '10%', align: "center",
                                render: function (item) {
                                    if (!item.sex | item.sex == 0) return "未知";
                                    if (parseInt(item.sex) == 1) return '男';
                                    if (parseInt(item.sex) == 2) return '女';
                                    return '未知';
                                    if (parseInt(item.prizeType) == 1) return '电影票';
                                    return '其他';
                                }
                            },
							{display: '身份证号', name: 'idCard', width: '12%', align: "center"},
							{display: '手机号码', name: 'mobile', width: '10%', align: "center"},
							{display: '机构编码', name: 'hospital', width: '10%', align: "center"},
							{display: '所属机构', name: 'hospitalName', width: '20%', align: "left"},
							{display: '兑奖码', name: 'prizeCode', width: '15%', align: "center"},
							{display: '有效期', name: 'validity', width: '10%', align: "center"},
							{display: '领取地址', name: 'address', width: '20%', align: "left"},
						],
					}));

+ 22 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/jkedu/repository/JkeduStatisticsArticleDao.java

@ -0,0 +1,22 @@
package com.yihu.wlyy.jkedu.repository;
import com.yihu.edu.entity.dataClean.NewArticleStatisticsModel;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Modifying;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
public interface JkeduStatisticsArticleDao
		extends PagingAndSortingRepository<NewArticleStatisticsModel, Long>, JpaSpecificationExecutor<NewArticleStatisticsModel> {
	@Modifying
	@Transactional
	@Query("update NewArticleStatisticsModel s set s.shareNumber=?2,s.collectionNumber=?3," +
			"s.pushNumber=?4 where s.articleId=?1")
	int modifyStatics(String articleId, int shareNumber,int collectionNumber,int pushNumber);
}

+ 1 - 1
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/repository/questionnaire/QuestionnaireUsersDao.java

@ -18,6 +18,6 @@ public interface QuestionnaireUsersDao extends PagingAndSortingRepository<Questi
    @Modifying
    @Query("update QuestionnaireUsers t set t.name=?2,t.idcard=?3," +
            "t.mobile=?4,t.census=?5,t.address=?6,t.updateTime = ?7  where  t.code=?1")
    int modifyOption(String code, String name, String idCard, String mobile, String census, String address, Date updateTime);
    int modifyUser(String code, String name, String idCard, String mobile, String census, String address, Date updateTime);
}

+ 61 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/questionnaire/QuestionnaireUsersService.java

@ -1,11 +1,14 @@
package com.yihu.wlyy.service.questionnaire;
import com.yihu.es.entity.QuestionnaireWinningESDO;
import com.yihu.wlyy.entity.questionnaire.QuestionnaireUsers;
import com.yihu.wlyy.repository.questionnaire.QuestionnaireUsersDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.util.IdcardValidator;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.StringUtils;
import java.util.*;
@ -17,16 +20,70 @@ import java.util.*;
public class QuestionnaireUsersService extends BaseService {
    @Autowired
    private QuestionnaireUsersDao questionnaireUsersDao;
    @Autowired
    private QuestionnaireService questionnaireService;
    public void userInfo(String openId){
    public Map<String,Object> userInfo(String openId)throws Exception{
        Map<String,Object> map = new HashMap<>();
        QuestionnaireUsers questionnaireUsers = questionnaireUsersDao.findByOpoenId(openId);
        Map<String,Object> userMap = new HashMap<>();
        if (questionnaireUsers!=null){
            //TODO 根据身份证判断是否抽过奖,去es里查询,如果有抽过奖则返回code,没有返回实体类。
            //根据身份证判断是否抽过奖,去es里查询,如果有抽过奖则返回false,没有返回实体类。
            List<QuestionnaireWinningESDO> questionnaireWinningESDO = questionnaireService.getQuestionnaireWinningESDOByIdcardAndOpenid(questionnaireUsers.getIdcard(),openId);
            if (questionnaireUsers!=null){
                userMap.put("code",questionnaireUsers.getCode());
                userMap.put("name",questionnaireUsers.getName());
                userMap.put("idCard",questionnaireUsers.getIdcard());
                userMap.put("mobile",questionnaireUsers.getMobile());
                userMap.put("census",questionnaireUsers.getCensus());
                userMap.put("address",questionnaireUsers.getAddress());
                map.put("user",userMap);
                map.put("flag",false);
            }else {
                map.put("flag",true);
            }
        }else{
            map.put("flag",true);
        }
        return map;
    }
    public void SaveUser(QuestionnaireUsers questionnaireUsers){
    public Map<String,Object> SaveUpdateUser(QuestionnaireUsers questionnaireUsers)throws Exception{
        Map<String,Object> resultMap = new HashMap<>();
        String code = questionnaireUsers.getCode();
        String idCard= questionnaireUsers.getIdcard();
        String census = questionnaireUsers.getCensus();
        IdcardValidator idcardValidator = new IdcardValidator();
        boolean id18Flag = true;
        boolean id15Flag = true;
        boolean idFlag = true;
        id18Flag = idcardValidator.is18Idcard(idCard);
        id15Flag = idcardValidator.is15Idcard(idCard);
        if (!StringUtils.isEmpty(idCard) && "3502".equals(idCard.substring(0,4))){
            idFlag = false;
        }
        if (!id15Flag || !id18Flag || !idFlag){
            resultMap.put("flag",false);
            resultMap.put("msg","您的身份证不符合规定或者您是厦门户口,无法参加抽奖!");
            return  resultMap;
        }
        if (!StringUtils.isEmpty(census) && census.contains("厦门")){
            resultMap.put("flag",false);
            resultMap.put("msg","您的户籍是厦门,无法参加抽奖!");
            return resultMap;
        }
        Date date = new Date();
        if (StringUtils.isEmpty(code)){
            code = getCode();
            questionnaireUsers.setCode(code);
            questionnaireUsers.setCreateTime(date);
            questionnaireUsersDao.save(questionnaireUsers);
        }else{
            questionnaireUsersDao.modifyUser(code,questionnaireUsers.getName(),questionnaireUsers.getIdcard(),questionnaireUsers.getMobile(),questionnaireUsers.getCensus(),questionnaireUsers.getAddress(),date);
        }
        resultMap.put("flag",true);
        resultMap.put("msg","保存用户信息完成!");
        return resultMap;
    }
}

+ 7 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/survey/PatientQuestionnaireService.java

@ -1,9 +1,12 @@
package com.yihu.wlyy.service.survey;
import com.yihu.es.entity.QuestionnaireWinningESDO;
import com.yihu.wlyy.entity.doctor.survey.*;
import com.yihu.wlyy.entity.questionnaire.QuestionnaireUsers;
import com.yihu.wlyy.repository.doctor.*;
import com.yihu.wlyy.repository.questionnaire.QuestionnaireUsersDao;
import com.yihu.wlyy.service.BaseService;
import com.yihu.wlyy.service.questionnaire.QuestionnaireService;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
@ -41,7 +44,7 @@ public class PatientQuestionnaireService extends BaseService {
    @Autowired
    private SurveyTemplateOptionsDao surveyTemplateOptionsDao;
    @Autowired
    private QuestionnaireUsersDao questionnaireUsersDao;
    private QuestionnaireService questionnaireService;
    private Logger logger = LoggerFactory.getLogger(this.getClass());
@ -256,7 +259,7 @@ public class PatientQuestionnaireService extends BaseService {
        return  json;
    }
    public String saveAnswerAndLotto(JSONObject jsonData) throws Exception {
    public QuestionnaireWinningESDO saveAnswerAndLotto(JSONObject jsonData, QuestionnaireUsers questionnaireUsers) throws Exception {
        System.out.println("********jsonData********* " + jsonData);
        //解析json保存各种答案
        String surveyCode = jsonData.get("surveyCode").toString();
@ -296,7 +299,8 @@ public class PatientQuestionnaireService extends BaseService {
            }
        }
        return  UUID.randomUUID().toString();
        return  questionnaireService.questionnaireLottery(questionnaireUsers).get(0);
    }
}

+ 7 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/service/template/DoctorGuidanceTempService.java

@ -91,7 +91,7 @@ public class DoctorGuidanceTempService extends BaseService {
     * @param content 指导内容
     * @return
     */
    public DoctorGuidanceTemp add(String doctor, String content, String modelName, String imagesUrl) {
    public DoctorGuidanceTemp add(String doctor, String content, String modelName, String imagesUrl) throws Exception{
        DoctorGuidanceTemp guidanceTemp = new DoctorGuidanceTemp();
        String imageUrls = "";
        String imageRow = "";
@ -104,7 +104,11 @@ public class DoctorGuidanceTempService extends BaseService {
        guidanceTemp.setModelName(modelName);
        if (imagesUrl == null || "".equals(imagesUrl)) {
        if (StringUtils.isNotEmpty(imagesUrl)) {
            imagesUrl = CommonUtil.validateImages(imagesUrl);
        }
        /*if (imagesUrl == null || "".equals(imagesUrl)) {
            imagesUrl = null;
        } else {
            String[] images = imagesUrl.split(",");
@ -122,7 +126,7 @@ public class DoctorGuidanceTempService extends BaseService {
            imagesUrl = imageUrls + imageRow;
            imagesUrl = imagesUrl.substring(0, imagesUrl.length() - 1);
        }
        }*/
        guidanceTemp.setImagesUrl(imagesUrl);

+ 27 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/util/CommonUtil.java

@ -257,6 +257,33 @@ public class CommonUtil {
        }
    }
    /**
     * 校验图片本地路径掺杂网络路径,统一返回网路路径
     *
     * @param images
     * @throws Exception
     */
    public  String validateImages(String images) throws Exception {
        String imagePath = "";
        String imageUrls = "";
        String imageRow = "";
        String[] imgs = images.split(",");
        for (String image : imgs) {
            if (image.contains("group1")) {
                imageUrls += image + ",";
            } else {
                try {
                    imageRow += copyTempImage(image) + ",";
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        }
        imagePath += imageUrls + imageRow;
        imagePath = imagePath.substring(0, imagePath.length() - 1);
        return imagePath;
    }
    public void changeToMp3(String sourcePath, String targetPath) {
        File source = new File(sourcePath);

+ 13 - 0
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/data/DataHandlingController.java

@ -197,6 +197,19 @@ public class DataHandlingController extends BaseController {
        return write(200, "数据更新成功!", "data", flag);
    }
    @RequestMapping(value = "/getArticleStatics",method = RequestMethod.GET)
    @ResponseBody
    @ApiOperation("将旧数据文章的相关统计数据转移到新数据库")
    public String getArticleStatics(){
        boolean flag = eduArticleService.getArticleStatics();
        if (flag){
            return write(200, "数据更新成功!");
        }else {
            return write(200, "数据更新失败!");
        }
    }
    @RequestMapping(value = "/addBatchNo", method = RequestMethod.GET)
    @ResponseBody
    @Deprecated

+ 9 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/doctor/health/DoctorHealthGuidanceController.java

@ -13,12 +13,15 @@ import com.yihu.wlyy.service.template.DoctorGuidanceTempService;
import com.yihu.wlyy.service.template.DoctorTeamGuidanceService;
import com.yihu.wlyy.util.CommonUtil;
import com.yihu.wlyy.web.WeixinBaseController;
import com.yihu.wlyy.web.third.ylzpay.ThirdOnepayController;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.json.JSONArray;
import org.json.JSONObject;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.MediaType;
import org.springframework.stereotype.Controller;
@ -37,6 +40,8 @@ import org.springframework.web.bind.annotation.ResponseBody;
@Api(description = "健康指导")
public class DoctorHealthGuidanceController extends WeixinBaseController {
    private static final Logger logger = LoggerFactory.getLogger(DoctorHealthGuidanceController.class);
    @Autowired
    private PatientHealthGuidanceService patientHealthGuidanceService;
@ -176,8 +181,9 @@ public class DoctorHealthGuidanceController extends WeixinBaseController {
					images = CommonUtil.copyTempImage(images);
				}*/
                if (StringUtils.isNotEmpty(images)) {
                    images = doctorTeamGuidanceService.validateImages(images);
                    images = CommonUtil.validateImages(images);
                }
                logger.info("========================================> "+images);
                guidance.setImages(images);
                // 保存到居民端健康指导
@ -202,7 +208,7 @@ public class DoctorHealthGuidanceController extends WeixinBaseController {
                guidance.setPatient(patient);
                Doctor doctor = doctorService.findDoctorByCode(getUID());
                if (StringUtils.isNotEmpty(images)) {
                    images = doctorTeamGuidanceService.validateImages(images);
                    images = CommonUtil.validateImages(images);
                }
                /*if (images == null || "".equals(images)) {
                    images = null;
@ -224,6 +230,7 @@ public class DoctorHealthGuidanceController extends WeixinBaseController {
//                    images = imageUrls + imageRow;
//                    images = images.substring(0, images.length() - 1);
//                }
                logger.info("========================================> "+images);
                guidance.setImages(images);
                // 保存

+ 27 - 3
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/questionnaire/QuestionnaireUsersController.java

@ -1,5 +1,6 @@
package com.yihu.wlyy.web.patient.questionnaire;
import com.yihu.wlyy.entity.questionnaire.QuestionnaireUsers;
import com.yihu.wlyy.service.questionnaire.QuestionnaireUsersService;
import com.yihu.wlyy.service.survey.PatientQuestionnaireService;
import com.yihu.wlyy.web.BaseController;
@ -9,6 +10,7 @@ import io.swagger.annotations.ApiParam;
import org.json.JSONObject;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
@ -21,7 +23,7 @@ import java.util.concurrent.ConcurrentHashMap;
 * Created by Reece on 2017/3/14.
 */
@Controller
@RequestMapping(value = "/questionnaireUser/")
@RequestMapping(value = "/patient/questionnaireUser/")
@Api(description = "居民端问卷调查用户信息")
public class QuestionnaireUsersController extends BaseController {
@ -32,8 +34,30 @@ public class QuestionnaireUsersController extends BaseController {
    @ApiOperation(value = "获取用户信息并且判断是否已经抽过奖")
    @ResponseBody
    public String getSurveySummary(@ApiParam(name = "openId")@RequestParam(value = "openId")String openId) {
    return "";
        try {
            Map<String,Object> map = questionnaireUsersService.userInfo(openId);
            return write(200,"查询成功!","data",map);
        }catch (Exception e){
            e.printStackTrace();
            return write(-1,"查询失败!");
        }
    }
    @RequestMapping(value = "saveUpdateUser", method = RequestMethod.POST)
    @ApiOperation(value = "保存更新用户信息")
    @ResponseBody
    public String saveUpdateUser(@ApiParam(name = "questionnaireUsers")@RequestParam(value = "questionnaireUsers")QuestionnaireUsers questionnaireUsers) {
        try {
            Map<String,Object> map = questionnaireUsersService.SaveUpdateUser(questionnaireUsers);
            boolean flag = (Boolean) map.get("flag");
            if (flag){
                return write(200,"用户信息保存成功!");
            }else{
                return write(-1,map.get("msg").toString());
            }
        }catch (Exception e){
            e.printStackTrace();
            return write(-1,"用户信息保存失败!");
        }
    }
}

+ 48 - 2
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/patient/survey/PatientQuestionnaireController.java

@ -1,7 +1,12 @@
package com.yihu.wlyy.web.patient.survey;
import com.google.gson.JsonObject;
import com.yihu.es.entity.QuestionnaireWinningESDO;
import com.yihu.wlyy.entity.questionnaire.QuestionnaireUsers;
import com.yihu.wlyy.repository.questionnaire.QuestionnaireUsersDao;
import com.yihu.wlyy.rest.model.common.SimpleResult;
import com.yihu.wlyy.service.questionnaire.QuestionnaireService;
import com.yihu.wlyy.service.questionnaire.QuestionnaireUsersService;
import com.yihu.wlyy.service.survey.PatientQuestionnaireService;
import com.yihu.wlyy.web.BaseController;
import io.swagger.annotations.Api;
@ -16,6 +21,7 @@ import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.ResponseBody;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.ConcurrentHashMap;
@ -29,9 +35,12 @@ import java.util.concurrent.ConcurrentHashMap;
public class PatientQuestionnaireController extends BaseController {
    @Autowired
    private PatientQuestionnaireService patientQuestionnaireService;
    @Autowired
    private StringRedisTemplate redisTemplate;
    @Autowired
    private QuestionnaireService questionnaireService;
    @Autowired
    private QuestionnaireUsersDao questionnaireUsersDao;
    @RequestMapping(value = "getSurveySummary", method = RequestMethod.GET)
    @ApiOperation(value = "居民端获取问卷概述")
@ -85,6 +94,33 @@ public class PatientQuestionnaireController extends BaseController {
    }
    //----------------------电影票活动抽奖-------------------------------//
    @RequestMapping(value = "/checkLotto",method = RequestMethod.POST)
    @ApiOperation(value = "进入活动页面判断是否已经抽过奖")
    @ResponseBody
    public String checkLotto(@ApiParam(name = "checkParam")@RequestParam(value = "checkParam",required = true)String checkParam){
        Map<String,Object> resultMap = new HashMap<>();
        try{
            List<QuestionnaireWinningESDO> result = questionnaireService.getQuestionnaireWinningESDOByIdcardAndOpenid(checkParam,checkParam);
            if (result!= null){
                resultMap.put("flag",false);
                if (result!=null && result.size()>0){
                    resultMap.put("result",result.get(0));
                }else{
                    resultMap.put("result",null);
                }
                return write(200,"您已经抽过奖了!","data",resultMap);
            }else{
                resultMap.put("flag",true);
                return write(200,"您还未抽过奖!","data",resultMap);
            }
        }catch (Exception e){
            e.printStackTrace();
            return write(-1,"操作失败!");
        }
    }
    @RequestMapping(value = "/getAllQuestions",method = RequestMethod.GET)
    @ApiOperation(value = "电影票抽奖获取所有问卷题目")
    @ResponseBody
@ -116,9 +152,19 @@ public class PatientQuestionnaireController extends BaseController {
                pass = true;
                redisTemplate.delete(key);
            }
            //openid和身份证验证是否已经抽过奖
            QuestionnaireUsers questionnaireUsers = questionnaireUsersDao.findByOpoenId(openId);
            if (questionnaireUsers!=null){
                List<QuestionnaireWinningESDO> questionnaireWinningESDO = questionnaireService.getQuestionnaireWinningESDOByIdcardAndOpenid(questionnaireUsers.getIdcard(),openId);
                if (questionnaireWinningESDO!=null){
                    return write(-1,"您已经抽过奖了!");
                }
            }else {
                return write(-1,"请先填写个人信息!");
            }
            //验证成功,保存问卷进行抽奖
            if (pass){
                return write(200, "操作成功!","data",patientQuestionnaireService.saveAnswerAndLotto(json));
                return write(200, "操作成功!","data",patientQuestionnaireService.saveAnswerAndLotto(json,questionnaireUsers));
            }else{
                return write(-1, "验证码错误!");
            }

+ 67 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/third/jkedu/service/EduArticleService.java

@ -12,16 +12,14 @@ import com.yihu.wlyy.entity.doctor.team.admin.AdminTeam;
import com.yihu.wlyy.entity.education.HealthEduArticle;
import com.yihu.wlyy.entity.education.HealthEduArticlePatient;
import com.yihu.wlyy.entity.patient.Patient;
import com.yihu.wlyy.jkedu.repository.JkeduArticleDao;
import com.yihu.wlyy.jkedu.repository.JkeduBehaviorArticleDao;
import com.yihu.wlyy.jkedu.repository.JkeduCategoryDao;
import com.yihu.wlyy.jkedu.repository.JkeduCollectionArticleDao;
import com.yihu.wlyy.jkedu.repository.*;
import com.yihu.wlyy.repository.doctor.DoctorAdminTeamDao;
import com.yihu.wlyy.repository.doctor.DoctorDao;
import com.yihu.wlyy.repository.doctor.DoctorRoleDao;
import com.yihu.wlyy.repository.education.HealthEduArticleDao;
import com.yihu.wlyy.repository.patient.PatientDao;
import com.yihu.wlyy.service.common.account.RoleService;
import com.yihu.wlyy.service.third.jkEduArticle.ThirdJkEduArticleService;
import com.yihu.wlyy.util.DateUtil;
import com.yihu.wlyy.util.ElasticsearchUtil;
import com.yihu.wlyy.util.MapListUtils;
@ -83,6 +81,10 @@ public class EduArticleService {
    @Autowired
    private GcLabelService gcLabelService;
    @Autowired
    private ThirdJkEduArticleService thirdJkEduArticleService;
    @Autowired
    private JkeduStatisticsArticleDao jkeduStatisticsArticleDao;
    @Autowired
    private RoleService roleService;
    @Autowired
    private DoctorRoleDao doctorRoleDao;
@ -1263,4 +1265,65 @@ public class EduArticleService {
        return resultMap;
    }
    public boolean getArticleStatics(){
        int result = 0;
        int articleSize = 0;
        boolean flag = true;
        try {
            thirdJkEduArticleService.insertArticleStatistic();
            String articleSql = "SELECT code FROM wlyy_health_edu_article GROUP BY code";
            String collectSql ="SELECT article,COUNT(*) AS collectNumber FROM wlyy_health_edu_article_doctor GROUP BY article";
            String ophistorySql ="SELECT code,status,COUNT(*) AS statusCount FROM wlyy_health_edu_article_op_history GROUP BY code,status";
            String esSql = "SELECT articleId,count(*) as sendCount FROM "+esIndex+" where userType=1 group by articleId";
            List<Map<String,Object>> articleList = jdbcTemplate.queryForList(articleSql);
            List<Map<String,Object>> collectList = jdbcTemplate.queryForList(collectSql);
            List<Map<String,Object>> opList = jdbcTemplate.queryForList(ophistorySql);
            List<Map<String, Object>> esList = elasticsearchUtil.excuteDataModel(esSql);
            articleSize = articleList.size();
            for (Map<String,Object> map : articleList){
                int collection = 0;
                int share = 0;
                int push = 0;
                map.put("collection",0);
                map.put("share",0);
                map.put("push",0);
                //循环收藏人数
                for (Map<String,Object> cmap : collectList){
                    if (map.get("code").toString().equals(cmap.get("article").toString())){
                        collection = Integer.valueOf(String.valueOf(cmap.get("collectNumber")));
                    }
                }
                //循环1.阅读3.转发
                for (Map<String,Object> omap : opList){
                    if (map.get("code").toString().equals(omap.get("code").toString())){
                        if ("3".equals(omap.get("status").toString())){
                            share = Integer.valueOf(String.valueOf(omap.get("statusCount")));
                        }
                    }
                }
                //循环发送数目
                for (Map<String,Object> emap : esList){
                    if (map.get("code").toString().equals(emap.get("articleId").toString())){
                        push = Double.valueOf(String.valueOf(emap.get("sendCount"))).intValue();
                    }
                }
                //执行更新.
                int a = jkeduStatisticsArticleDao.modifyStatics(String.valueOf(map.get("code")),share,collection,push);
                result += a;
            }
        }catch (Exception e){
            e.printStackTrace();
            flag = false;
        }finally {
            if (result<articleSize){
                flag = false;
            }
        }
        return  flag;
    }
}

+ 3 - 4
patient-co/patient-co-wlyy/src/main/java/com/yihu/wlyy/web/wx/WechatMenuController.java

@ -11,7 +11,6 @@ import org.springframework.beans.factory.annotation.Value;
import org.springframework.http.MediaType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.bind.annotation.RestController;
import java.io.BufferedReader;
@ -46,7 +45,7 @@ public class WechatMenuController extends BaseController {
     * @return
     */
    @ApiOperation(value = "微信菜单创建")
    @RequestMapping(value = "/menu/create", method = RequestMethod.POST)
    @RequestMapping(value = "/menu/create", method = RequestMethod.GET)
    public String createMenuTest() {
        try {
            String filePath = WechatCoreController.class.getResource("/").getPath() +
@ -87,7 +86,7 @@ public class WechatMenuController extends BaseController {
     * @return
     */
    @ApiOperation(value = "集美区微信特色菜单菜单创建")
    @RequestMapping(value = "/menu/create/jimei", method = RequestMethod.POST)
    @RequestMapping(value = "/menu/create/jimei", method = RequestMethod.GET)
    public String createMenuTestJimei() {
        try {
            String filePath = WechatCoreController.class.getResource("/").getPath() +
@ -123,7 +122,7 @@ public class WechatMenuController extends BaseController {
     * @return
     */
    @ApiOperation(value = "医生助手微信菜单创建")
    @RequestMapping(value = "/menu/create/feldsher", method = RequestMethod.POST)
    @RequestMapping(value = "/menu/create/feldsher", method = RequestMethod.GET)
    public String createMenuTestFeldsher() {
        try {
            String filePath = WechatCoreController.class.getResource("/").getPath() +

+ 3 - 3
patient-co/patient-co-wlyy/src/main/resources/wechat/weixin_menu_jimei.txt

@ -50,9 +50,9 @@
            "url":"https://open.weixin.qq.com/connect/oauth2/authorize?appid=appId&redirect_uri=server_url%2fwx%2fhtml%2fjbsq%2fhtml%2fdisease-community.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
        },
        {
            "type":"view",
            "name":"孕检计划",
            "url":"https://open.weixin.qq.com/connect/oauth2/authorize?appid=appId&redirect_uri=server_url%2fwx%2fhtml%2ffybj%2fhtml%2fyunjianjihua.html&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
                    "type":"click",
                    "name":"妇幼保健",
                    "key":"fuyoubaojian"
        }
	  ]
   },