Browse Source

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

liuwenbin 6 years ago
parent
commit
1c99dd18d7
39 changed files with 2011 additions and 464 deletions
  1. 116 35
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/ActivityDO.java
  2. 0 48
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/ActivityRuleDO.java
  3. 23 1
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/CreditsDetailDO.java
  4. 108 30
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskDO.java
  5. 64 0
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskDictDO.java
  6. 75 0
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskGoodsDO.java
  7. 25 23
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskDetailDO.java
  8. 75 0
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskRangDO.java
  9. 68 12
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskRuleDO.java
  10. 20 0
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/health/bank/HealthBankMapping.java
  11. 3 0
      svr/svr-wlyy-health-bank/src/main/java/META-INF/MANIFEST.MF
  12. 26 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/AccountController.java
  13. 29 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/ActivityController.java
  14. 0 95
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/ActivityDetailController.java
  15. 42 11
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/CreditsDetailController.java
  16. 47 6
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskController.java
  17. 5 5
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskDetailController.java
  18. 100 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskDictController.java
  19. 102 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskGoodsController.java
  20. 56 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskPatientDetailController.java
  21. 102 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskRangController.java
  22. 103 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskRuleController.java
  23. 0 11
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/ActivityRuleDao.java
  24. 15 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskDictDao.java
  25. 15 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskGoodsDao.java
  26. 2 2
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskDetailDao.java
  27. 15 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskRangDao.java
  28. 0 109
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/ActivityRuleService.java
  29. 47 1
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/ActivityService.java
  30. 94 33
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/CreditsDetailService.java
  31. 15 15
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskDetailService.java
  32. 86 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskDictService.java
  33. 85 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskGoodsService.java
  34. 127 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskPatientDtailService.java
  35. 85 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskRangService.java
  36. 82 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskRuleService.java
  37. 115 26
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskService.java
  38. 38 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/util/ISqlUtils.java
  39. 1 1
      svr/svr-wlyy-health-bank/src/main/resources/application.yml

+ 116 - 35
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/ActivityDO.java

@ -6,6 +6,7 @@ import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;
@ -19,28 +20,49 @@ public class ActivityDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;//saasId
    @Column(name = "activity_title")
    private String activityTitle;//活动标题
    @Column(name = "organizer")
    private String organizer; // 主办方&&发布机构
    @Column(name = "title")
    private String title;//活动标题
    @Column(name = "description")
    private String description;//活动说明
    @Column(name = "location")
    private String location;//活动地点
    @Column(name = "activity_content")
    private String activityContent;//活动内容
    @Column(name = "img")
    private String img;//活动图片
    @Column(name = "start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date startTime;//开始时间
    @Column(name = "over_time")
    @Column(name = "end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date overTime; //结束时间
    private Date endTime; //结束时间
    @Column(name = "status")
    private int status;//状态(上架/下架)
    private int status;//状态(1代表有效,0代表无效,-1代表过期)
    @Column(name = "hospital")
    private String hospital;//社区
    @Column(name = "is_flag")
    private String isFlag;//标识是否有问卷(1:有,-1:没有)
    @Column(name = "organizer")
    private String organizer;//发布者
    @Column(name = "area")
    private String area;//区域
    @Column(name = "area_type")
    private int areaType; //区域类型
    @Column(name = "remark")
    private String remark;//活动备注
    @Transient
    private String patientId;//居民id
    @Transient
    private String openId;//微信编码
    public String getSaasId() {
        return saasId;
@ -50,46 +72,55 @@ public class ActivityDO extends IdEntityWithOperation implements Serializable {
        this.saasId = saasId;
    }
    public String getActivityTitle() {
        return activityTitle;
    public String getOrganizer() {
        return organizer;
    }
    public void setActivityTitle(String activityTitle) {
        this.activityTitle = activityTitle;
    public void setOrganizer(String organizer) {
        this.organizer = organizer;
    }
    public String getActivityContent() {
        return activityContent;
    public String getTitle() {
        return title;
    }
    public void setActivityContent(String activityContent) {
        this.activityContent = activityContent;
    public void setTitle(String title) {
        this.title = title;
    }
    public Date getStartTime() {
        return startTime;
    public String getDescription() {
        return description;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    public void setDescription(String description) {
        this.description = description;
    }
    public Date getOverTime() {
        return overTime;
    public String getLocation() {
        return location;
    }
    public void setOverTime(Date overTime) {
        this.overTime = overTime;
    public void setLocation(String location) {
        this.location = location;
    }
    public String getOrganizer() {
        return organizer;
    public String getImg() {
        return img;
    }
    public void setOrganizer(String organizer) {
        this.organizer = organizer;
    public void setImg(String img) {
        this.img = img;
    }
    public Date getStartTime() {
        return startTime;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    public int getStatus() {
        return status;
    }
@ -98,11 +129,61 @@ public class ActivityDO extends IdEntityWithOperation implements Serializable {
        this.status = status;
    }
    public String getHospital() {
        return hospital;
    public String getIsFlag() {
        return isFlag;
    }
    public void setIsFlag(String isFlag) {
        this.isFlag = isFlag;
    }
    public String getRemark() {
        return remark;
    }
    public void setRemark(String remark) {
        this.remark = remark;
    }
    public Date getEndTime() {
        return endTime;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    public String getArea() {
        return area;
    }
    public void setArea(String area) {
        this.area = area;
    }
    public int getAreaType() {
        return areaType;
    }
    public void setAreaType(int areaType) {
        this.areaType = areaType;
    }
    public String getOpenId() {
        return openId;
    }
    public void setOpenId(String openId) {
        this.openId = openId;
    }
    public String getPatientId() {
        return patientId;
    }
    public void setHospital(String hospital) {
        this.hospital = hospital;
    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }
}

+ 0 - 48
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/ActivityRuleDO.java

@ -1,48 +0,0 @@
package com.yihu.jw.entity.health.bank;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * Created by wang zhinan on 2018/4/27.
 */
@Entity
@Table(name = "wlyy_health_bank_activity_rule")
public class ActivityRuleDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;//saasid
    @Column(name = "activity_id")
    private String activityId;//活动id
    @Column(name = "rule_code")
    private String ruleCode;//规则代码
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getActivityId() {
        return activityId;
    }
    public void setActivityId(String activityId) {
        this.activityId = activityId;
    }
    public String getRuleCode() {
        return ruleCode;
    }
    public void setRuleCode(String ruleCode) {
        this.ruleCode = ruleCode;
    }
}

+ 23 - 1
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/CreditsDetailDO.java

@ -19,7 +19,7 @@ public class CreditsDetailDO extends IdEntityWithOperation implements Serializab
    private String saasId; //saasid
    @Column(name = "trade_type")
    private String tradeType; //交易类型
    private String tradeType; //交易类型交易类型:普通任务(NORMAL_TASK)、活动任务(ACTIVITY_TASK)、兑换商品(EXCHANGE_GOODS)
    @Column(name = "transaction_id")
    private String transactionId;//业务ID
@ -57,6 +57,12 @@ public class CreditsDetailDO extends IdEntityWithOperation implements Serializab
    @Transient
    private String name; //居民名称
    @Transient
    private String idCard; //身份证号码
    @Transient
    private String openId;//微信编号
    public String getSaasId() {
        return saasId;
    }
@ -168,4 +174,20 @@ public class CreditsDetailDO extends IdEntityWithOperation implements Serializab
    public void setName(String name) {
        this.name = name;
    }
    public String getIdCard() {
        return idCard;
    }
    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }
    public String getOpenId() {
        return openId;
    }
    public void setOpenId(String openId) {
        this.openId = openId;
    }
}

+ 108 - 30
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskDO.java

@ -1,5 +1,6 @@
package com.yihu.jw.entity.health.bank;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
@ -7,6 +8,8 @@ import javax.persistence.Entity;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
 * Created by wamg zhinan 2018/4/27.
@ -18,14 +21,14 @@ public class TaskDO extends IdEntityWithOperation implements Serializable{
    @Column(name = "saas_id")
    private String saasId; //saasid
    @Column(name = "task_title")
    private String taskTitle; //任务标题
    @Column(name = "title")
    private String title; //任务标题
    @Column(name = "task_content")
    private String taskContent; //任务内容
    @Column(name = "content")
    private String content; //任务内容
    @Column(name = "trade_type")
    private String tradeType; //交易类型
    @Column(name = "type")
    private String type; //交易类型
    @Column(name = "transaction_id")
    private String transactionId; // 业务id
@ -33,15 +36,34 @@ public class TaskDO extends IdEntityWithOperation implements Serializable{
    @Column(name = "period")
    private int period; //周期性
    @Column(name = "patient_id")
    private String patientId; //居民id
    @Column(name = "task_code")
    private String taskCode ; // 标识是什么任务
    @Transient
    @Column(name = "status")
    private int status; //状态
    @Column(name = "rule_code")
    private String ruleCode;//规则code
    @Column(name = "start_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date startTime;//开始时间
    @Column(name = "end_time")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date endTime; //结束时间
    @Transient
    private ActivityDO activityDO;//活动详情
    @Transient
    private String patientId;//居民id
    @Transient
    private String openId;//微信编码
    @Transient
    private Long total;//参加总数
    @Transient
    private List<TaskPatientDetailDO> taskPatientDetailDOS;//参与人详情
    public String getSaasId() {
        return saasId;
    }
@ -50,28 +72,28 @@ public class TaskDO extends IdEntityWithOperation implements Serializable{
        this.saasId = saasId;
    }
    public String getTaskTitle() {
        return taskTitle;
    public String getTitle() {
        return title;
    }
    public void setTaskTitle(String taskTitle) {
        this.taskTitle = taskTitle;
    public void setTitle(String title) {
        this.title = title;
    }
    public String getTaskContent() {
        return taskContent;
    public String getContent() {
        return content;
    }
    public void setTaskContent(String taskContent) {
        this.taskContent = taskContent;
    public void setContent(String content) {
        this.content = content;
    }
    public String getTradeType() {
        return tradeType;
    public String getType() {
        return type;
    }
    public void setTradeType(String tradeType) {
        this.tradeType = tradeType;
    public void setType(String type) {
        this.type = type;
    }
    public String getTransactionId() {
@ -90,12 +112,12 @@ public class TaskDO extends IdEntityWithOperation implements Serializable{
        this.period = period;
    }
    public String getPatientId() {
        return patientId;
    public String getTaskCode() {
        return taskCode;
    }
    public void setPatientId(String patientId) {
        this.patientId = patientId;
    public void setTaskCode(String taskCode) {
        this.taskCode = taskCode;
    }
    public int getStatus() {
@ -106,11 +128,67 @@ public class TaskDO extends IdEntityWithOperation implements Serializable{
        this.status = status;
    }
    public String getTaskCode() {
        return taskCode;
    public String getRuleCode() {
        return ruleCode;
    }
    public void setTaskCode(String taskCode) {
        this.taskCode = taskCode;
    public void setRuleCode(String ruleCode) {
        this.ruleCode = ruleCode;
    }
    public Date getStartTime() {
        return startTime;
    }
    public void setStartTime(Date startTime) {
        this.startTime = startTime;
    }
    public Date getEndTime() {
        return endTime;
    }
    public void setEndTime(Date endTime) {
        this.endTime = endTime;
    }
    public ActivityDO getActivityDO() {
        return activityDO;
    }
    public void setActivityDO(ActivityDO activityDO) {
        this.activityDO = activityDO;
    }
    public String getPatientId() {
        return patientId;
    }
    public void setPatientId(String patientId) {
        this.patientId = patientId;
    }
    public List<TaskPatientDetailDO> getTaskPatientDetailDOS() {
        return taskPatientDetailDOS;
    }
    public void setTaskPatientDetailDOS(List<TaskPatientDetailDO> taskPatientDetailDOS) {
        this.taskPatientDetailDOS = taskPatientDetailDOS;
    }
    public Long getTotal() {
        return total;
    }
    public void setTotal(Long total) {
        this.total = total;
    }
    public String getOpenId() {
        return openId;
    }
    public void setOpenId(String openId) {
        this.openId = openId;
    }
}

+ 64 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskDictDO.java

@ -0,0 +1,64 @@
package com.yihu.jw.entity.health.bank;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * @author wangzhinan
 * @create 2018-06-08 14:32
 * @desc 任务字典
 **/
@Entity
@Table(name = "wlyy_health_bank_task_dict" )
public class TaskDictDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private  String saasId;//环境id
    @Column(name = "dictType")
    private String dictType;//字典类型
    @Column(name = "dict_code")
    private String dictCode;//字典code
    @Column(name = "dict_name")
    private String dictName;//字典名称
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getDictType() {
        return dictType;
    }
    public void setDictType(String dictType) {
        this.dictType = dictType;
    }
    public String getDictCode() {
        return dictCode;
    }
    public void setDictCode(String dictCode) {
        this.dictCode = dictCode;
    }
    public String getDictName() {
        return dictName;
    }
    public void setDictName(String dictName) {
        this.dictName = dictName;
    }
}

+ 75 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskGoodsDO.java

@ -0,0 +1,75 @@
package com.yihu.jw.entity.health.bank;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * @author wangzhinan
 * @create 2018-06-08 14:40
 * @desc 活动商品
 **/
@Entity
@Table(name = "wlyy_health_bank_task_goods")
public class TaskGoodsDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;//环境id
    @Column(name = "task_id")
    private String taskId;//任务id
    @Column(name = "img")
    private String img;//商品图片
    @Column(name = "name")
    private String name;//商品名称
    @Column(name = "integrate")
    private int integrate;//积分
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getTaskId() {
        return taskId;
    }
    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }
    public String getImg() {
        return img;
    }
    public void setImg(String img) {
        this.img = img;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getIntegrate() {
        return integrate;
    }
    public void setIntegrate(int integrate) {
        this.integrate = integrate;
    }
}

+ 25 - 23
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskDetailDO.java

@ -11,30 +11,31 @@ import java.io.Serializable;
 * Created by wamg zhinan 2018/4/27.
 */
@Entity
@Table(name = "wlyy_health_bank_task_detail")
public class TaskDetailDO extends IdEntityWithOperation implements Serializable{
@Table(name = "wlyy_health_bank_task_patient_detail")
public class TaskPatientDetailDO extends IdEntityWithOperation implements Serializable{
    @Column(name = "saas_id")
    private String saasId; //saasid
    @Column(name = "status")
    private String status;//状态(完成/未完成)
    private int status;//任务完整状态:1完成,0参与,-1作废
    @Column(name = "patient_id")
    private String patientId;//居民id
    @Column(name = "doctor_id")
    private String doctorId;//医生id
    @Column(name = "patient_idcard")
    private String patientIdcard;//居民身份证
    @Column(name = "integrate")
    private int integrate;//积分
    @Column(name = "patient_openid")
    private String patientOpenid;//居民openid
    @Column(name = "trade_direction")
    private int tradeDirection;//交易方向
    @Column(name = "doctor_id")
    private String doctorId;//医生id
    @Column(name = "task_id")
    private String taskId;//任务id
    public String getSaasId() {
        return saasId;
    }
@ -43,11 +44,11 @@ public class TaskDetailDO extends IdEntityWithOperation implements Serializable{
        this.saasId = saasId;
    }
    public String getStatus() {
    public int getStatus() {
        return status;
    }
    public void setStatus(String status) {
    public void setStatus(int status) {
        this.status = status;
    }
@ -59,28 +60,28 @@ public class TaskDetailDO extends IdEntityWithOperation implements Serializable{
        this.patientId = patientId;
    }
    public String getDoctorId() {
        return doctorId;
    public String getPatientIdcard() {
        return patientIdcard;
    }
    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    public void setPatientIdcard(String patientIdcard) {
        this.patientIdcard = patientIdcard;
    }
    public int getIntegrate() {
        return integrate;
    public String getPatientOpenid() {
        return patientOpenid;
    }
    public void setIntegrate(int integrate) {
        this.integrate = integrate;
    public void setPatientOpenid(String patientOpenid) {
        this.patientOpenid = patientOpenid;
    }
    public int getTradeDirection() {
        return tradeDirection;
    public String getDoctorId() {
        return doctorId;
    }
    public void setTradeDirection(int tradeDirection) {
        this.tradeDirection = tradeDirection;
    public void setDoctorId(String doctorId) {
        this.doctorId = doctorId;
    }
    public String getTaskId() {
@ -90,4 +91,5 @@ public class TaskDetailDO extends IdEntityWithOperation implements Serializable{
    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }
}

+ 75 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskRangDO.java

@ -0,0 +1,75 @@
package com.yihu.jw.entity.health.bank;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.IdEntityWithOperation;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;
import java.io.Serializable;
/**
 * @author wangzhinan
 * @create 2018-06-08 14:43
 * @desc 活动范围
 **/
@Entity
@Table(name = "wlyy_health_bank_task_rang")
public class TaskRangDO extends IdEntityWithOperation implements Serializable {
    @Column(name = "saas_id")
    private String saasId;//环境id
    @Column(name = "task_id")
    private String taskId;//任务id
    @Column(name = "key")
    private String key;//范围KEY
    @Column(name = "value")
    private String value;// 范围value
    @Column(name = "status")
    private int status;//状态
    public String getSaasId() {
        return saasId;
    }
    public void setSaasId(String saasId) {
        this.saasId = saasId;
    }
    public String getTaskId() {
        return taskId;
    }
    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }
    public String getKey() {
        return key;
    }
    public void setKey(String key) {
        this.key = key;
    }
    public String getValue() {
        return value;
    }
    public void setValue(String value) {
        this.value = value;
    }
    public int getStatus() {
        return status;
    }
    public void setStatus(int status) {
        this.status = status;
    }
}

+ 68 - 12
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskRuleDO.java

@ -17,11 +17,27 @@ public class TaskRuleDO extends IdEntityWithOperation implements Serializable{
    @Column(name = "saas_id")
    private String saasId; //saasid
    @Column(name = "task_id")
    private String taskId; //任务id
    @Column(name = "name")
    private String name;//规则名称
    @Column(name = "description")
    private String description;//规则描述
    @Column(name = "integrate")
    private int integrate; //积分
    @Column(name = "trade_direction")
    private int tradeDirection;//交易方向 1增、-1减、0清零
    @Column(name = "type")
    private String type;//规则类型:NORMAL-手动,AUTO-自动
    @Column(name = "status")
    private int status; //状态
    @Column(name = "java_class_path")
    private String javaClassPath;//java反射类路径
    @Column(name = "rule_code")
    private String ruleCode; //任务编码
    public String getSaasId() {
        return saasId;
@ -31,19 +47,59 @@ public class TaskRuleDO extends IdEntityWithOperation implements Serializable{
        this.saasId = saasId;
    }
    public String getTaskId() {
        return taskId;
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public String getDescription() {
        return description;
    }
    public void setDescription(String description) {
        this.description = description;
    }
    public int getIntegrate() {
        return integrate;
    }
    public void setIntegrate(int integrate) {
        this.integrate = integrate;
    }
    public int getTradeDirection() {
        return tradeDirection;
    }
    public void setTradeDirection(int tradeDirection) {
        this.tradeDirection = tradeDirection;
    }
    public String getType() {
        return type;
    }
    public void setType(String type) {
        this.type = type;
    }
    public int getStatus() {
        return status;
    }
    public void setTaskId(String taskId) {
        this.taskId = taskId;
    public void setStatus(int status) {
        this.status = status;
    }
    public String getRuleCode() {
        return ruleCode;
    public String getJavaClassPath() {
        return javaClassPath;
    }
    public void setRuleCode(String ruleCode) {
        this.ruleCode = ruleCode;
    public void setJavaClassPath(String javaClassPath) {
        this.javaClassPath = javaClassPath;
    }
}

+ 20 - 0
common/common-request-mapping/src/main/java/com/yihu/jw/rm/health/bank/HealthBankMapping.java

@ -17,7 +17,22 @@ public class HealthBankMapping {
        public static final String deleteTask ="/deleteTask";
        public static final String findTask = "/findTask";
        public static final String updateTask ="/updateTask";
        public static final String selectByCode ="/selectByCode";
        public static final String createTaskDetail = "/createTaskDetail";
        public static final String createTaskRule = "/createTaskRule";
        public static final String updateTaskRule = "/updateTaskRule";
        public static final String findTaskRule ="/findTaskRule";
        public static final String createTaskDict = "/createTaskDict";
        public static final String updateTaskDict = "/updateTaskDict";
        public static final String findTaskDict ="/findTaskDict";
        public static final String createTaskGoods = "/createTaskGoods";
        public static final String updateTaskGoods = "/updateTaskGoods";
        public static final String findTaskGoods ="/findTaskGoods";
        public static final String createTaskRang = "/createTaskRang";
        public static final String updateTaskRang = "/updateTaskRang";
        public static final String findTaskRang = "/findTaskRang";
        public static final String attendTask = "/attendTask";
        public static final String selectByPatient = "/selectByPatient";
        public static final String createActivity="/createActivity";
        public static final String findActivity="/findActivity";
        public static final String updateActivity="/updateActivity";
@ -29,9 +44,14 @@ public class HealthBankMapping {
        public static final String updateGoods ="/updateGoods";
        public static final String createCreditsDetail = "/createCreditsDetail";
        public static final String findCreditsLogInfo ="/findCreditsLogInfo";
        public static final String selectByActivity = "/selectByActivity";
        public static final String selectByRanking = "/selectByRanking";
        public static final String updateCreditsLogInfo ="/updateCreditsLogInfo";
        public static final String exchangeGoods = "/exchangeGoods";
        public static final String findExchangeGoods="/findExchangeGoods";
        public static final String updateRule = "/updateRule";
        public static final String insertRule = "/insertRule";
        public static final String deleteRule = "/deleteRule";
        public static final String findRules = "/findRules";
    }
}

+ 3 - 0
svr/svr-wlyy-health-bank/src/main/java/META-INF/MANIFEST.MF

@ -0,0 +1,3 @@
Manifest-Version: 1.0
Main-Class: com.yihu.jw.SvrWlyyHealthBankApplication

+ 26 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/AccountController.java

@ -79,6 +79,32 @@ public class AccountController extends EnvelopRestController {
        }
    }
    /**
     *  获取银行账户
     *
     * @param account 银行账户对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.findAccount)
    @ApiOperation(value = "获取银行账户信息")
    public Envelop<AccountDO> select(@ApiParam(name = "account",value = "账户JSON")
                                     @RequestParam(value = "account",required = false)String account,
                                     @ApiParam(name = "page", value = "第几页,从1开始")
                                     @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
                                     @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                     @RequestParam(value = "size", required = false)Integer size){
        try{
            AccountDO accountDO = toEntity(account,AccountDO.class);
            return service.findByCondition(accountDO,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 查看银行账户信息

+ 29 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/ActivityController.java

@ -96,4 +96,33 @@ public class ActivityController extends EnvelopRestController{
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 查看参与的活动
     *
     * @param activity 活动对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.selectByPatient)
    @ApiOperation(value = "参与的活动")
    public Envelop<ActivityDO> selectByPatient(@ApiParam(name = "activity",value = "健康活动JSON")
                                           @RequestParam(value = "activity",required = false)String activity,
                                           @ApiParam(name = "page", value = "第几页,从1开始")
                                           @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
                                           @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                           @RequestParam(value = "size", required = false)Integer size){
        try{
            ActivityDO activityDO = toEntity(activity,ActivityDO.class);
            return service.selectByPatient(activityDO,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
}

+ 0 - 95
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/ActivityDetailController.java

@ -1,95 +0,0 @@
package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/4/27.
 */
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.service.ActivityRuleService;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author wangzhinan
 * @create 2018-04-27 15:24
 * @desc health activity info controller
 **/
@RestController
@RequestMapping(HealthBankMapping.api_health_bank_common)
@Api(tags = "健康活动参与情况相关操作",description = "健康活动参与情况相关操作")
public class ActivityDetailController extends EnvelopRestController {
    @Autowired
    private ActivityRuleService service;
    @Autowired
    private Tracer tracer;
/*
    *//**
     * patient attend activity
     *
     * @param activityInfo
     * @return
     *//*
    @PostMapping(value = HealthBankMapping.healthBank.createActivityInfo)
    @ApiOperation(value = "参与活动")
    public Envelop<Boolean> attendActivity(@ApiParam(name = "activityInfo",value = "健康活动详情JSON")
                                            @RequestParam(value = "activityInfo",required = true)String activityInfo){
        try {
            ActivityRuleDO activityRuleDO = toEntity(activityInfo,ActivityRuleDO.class);
            return service.insert(activityRuleDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    *//**
     * find health activity
     *
     * @param activityInfo
     * @param page
     * @param size
     * @return
     *//*
    @PostMapping(value = HealthBankMapping.healthBank.findActivityInfo)
    @ApiOperation(value = "查看健康活动")
    public Envelop<ActivityRuleDO> getActivityInfo(@ApiParam(name = "activityInfo",value = "健康活动JSON")
                                                @RequestParam(value = "activityInfo",required = false)String activityInfo,
                                                   @ApiParam(name = "page", value = "第几页,从1开始")
                                                @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
                                                   @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                                @RequestParam(value = "size", required = false)Integer size){
        try{
            ActivityRuleDO activityRuleDO = toEntity(activityInfo,ActivityRuleDO.class);
            return service.findByCondition(activityRuleDO,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    *//**
     * patient update activity status
     *
     * @param activityInfo
     * @return
     *//*
    @PostMapping(value = HealthBankMapping.healthBank.updateActivityInfo)
    @ApiOperation(value = "更新活动状态")
    public Envelop<Boolean> updateActivity(@ApiParam(name = "activityInfo",value = "健康活动JSON")
                                        @RequestParam(value = "activityInfo",required = true)String activityInfo){
        try {
            ActivityRuleDO activityRuleDO = toEntity(activityInfo,ActivityRuleDO.class);
            return service.update(activityRuleDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }*/
}

+ 42 - 11
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/CreditsDetailController.java

@ -2,9 +2,6 @@ package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/4/27.
 */
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.health.bank.AccountDO;
import com.yihu.jw.entity.health.bank.CreditsDetailDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
@ -15,10 +12,10 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author wangzhinan
@ -47,9 +44,9 @@ public class CreditsDetailController extends EnvelopRestController {
    @ApiOperation(value = "查看积分记录")
    public Envelop<CreditsDetailDO> selectCreditsLogInfo(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
                                                          @RequestParam(value = "creditsDetail",required = false)String creditsDetail,
                                                            @ApiParam(name = "page", value = "第几页,从1开始")
                                                         @ApiParam(name = "page", value = "第几页,从1开始")
                                                          @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
                                                            @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                                         @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                                          @RequestParam(value = "size", required = false)Integer size){
        try{
            CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
@ -62,6 +59,7 @@ public class CreditsDetailController extends EnvelopRestController {
    }
    /**
     * 添加积分
     *
@ -82,13 +80,46 @@ public class CreditsDetailController extends EnvelopRestController {
        }
    }
    /**
     * 根据活动查找积分
     *
     * @param activityId 活动id
     *
     * @param patientId 居民id
     *
     * @param page 页码
     *
     * @param size 分页大小
     *
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.selectByActivity)
    @ApiOperation(value = "根据活动查找积分")
    public Envelop<CreditsDetailDO> seletcByActivity(@ApiParam(name = "activityId",value = "活动id")
                                                         @RequestParam(value = "activityId",required = true)String activityId,
                                                         @ApiParam(name = "patientId",value = "居民id")
                                                         @RequestParam(value = "patientId",required = true) String patientId,
                                                         @ApiParam(name = "page", value = "第几页,从1开始")
                                                         @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
                                                         @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                                         @RequestParam(value = "size", required = false)Integer size){
        try{
            return service.selectByActivity(activityId,patientId,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 查看积分排行
     *
     * @param object {"filter":[""],"page":"","size":""}
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.selectByRanking)
  /*  @PostMapping(value = HealthBankMapping.healthBank.selectByRanking)
    @ApiOperation(value = "查询积分排名")
    public Envelop<AccountDO> selectByRanking(@RequestBody JSONObject object){
        try{
@ -105,7 +136,7 @@ public class CreditsDetailController extends EnvelopRestController {
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    }*/
}

+ 47 - 6
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskController.java

@ -2,6 +2,8 @@ package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/4/27.
 */
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.health.bank.TaskDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
@ -12,10 +14,7 @@ import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
/**
 * @author wangzhinan
@ -78,6 +77,48 @@ public class TaskController extends EnvelopRestController {
        }
    }
    /**
     * 根据编码查询
     *
     * @param object
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.selectByCode)
    @ApiOperation(value = "根据编码查询")
    public Envelop<TaskDO> selectByCode(@RequestBody JSONObject object){
        try {
            JSONArray array = object.getJSONArray("taskCode");
            String patientId = object.getString("patientId");
            Integer page = object.getInteger("page");
            Integer size = object.getInteger("size");
            return service.selectByTask(array,patientId,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 更新任务
     *
     * @param task 任务对象
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.updateTask)
    @ApiOperation(value = "更新任务")
    public Envelop<Boolean> udpateTask(@ApiParam(name = "task",value = "健康任务JSON")
                                          @RequestParam(value = "task",required = true)String task){
        try {
            TaskDO taskDO = toEntity(task,TaskDO.class);
            return service.update(taskDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**//**
@ -90,7 +131,7 @@ public class TaskController extends EnvelopRestController {
     *//*
    @GetMapping(value = HealthBankMapping.healthBank.findTask)
    @ApiOperation(value = "查看健康任务")
    public Envelop<TaskDetailDO> getTaskByPatient(@ApiParam(name = "patientId",value = "居民Id")
    public Envelop<TaskPatientDetailDO> getTaskByPatient(@ApiParam(name = "patientId",value = "居民Id")
                                                @RequestParam(value = "patientId",required = false)String patientId,
                                                  @ApiParam(name = "doctorId",value = "家庭医生Id")
                                                @RequestParam(value = "doctorId",required = false)String doctorId,
@ -112,7 +153,7 @@ public class TaskController extends EnvelopRestController {
    public Envelop<Boolean> updateTask(@ApiParam(name = "taskInfo",value = "健康任务JSON")
                                                @RequestParam(value = "taskInfo",required = true)String taskInfo){
        try{
            TaskDetailDO taskDetailDO = toEntity(taskInfo,TaskDetailDO.class);
            TaskPatientDetailDO taskDetailDO = toEntity(taskInfo,TaskPatientDetailDO.class);
            return service.update(taskDetailDO);
        }catch (Exception e){
            e.printStackTrace();

+ 5 - 5
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskDetailController.java

@ -2,7 +2,7 @@ package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/4/27.
 */
import com.yihu.jw.entity.health.bank.TaskDetailDO;
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
@ -42,8 +42,8 @@ public class TaskDetailController extends EnvelopRestController {
    public Envelop<Boolean> assigningTask(@ApiParam(name = "taskDetail",value = "健康任务JSON")
                                          @RequestParam(value = "taskDetail",required = true)String taskDetail){
        try {
            TaskDetailDO taskDetailDO = toEntity(taskDetail,TaskDetailDO.class);
            return service.insert(taskDetailDO);
            TaskPatientDetailDO taskPatientDetailDO = toEntity(taskDetail,TaskPatientDetailDO.class);
            return service.insert(taskPatientDetailDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
@ -62,7 +62,7 @@ public class TaskDetailController extends EnvelopRestController {
     *//*
    @GetMapping(value = HealthBankMapping.healthBank.findTask)
    @ApiOperation(value = "查看健康任务")
    public Envelop<TaskDetailDO> getTaskByPatient(@ApiParam(name = "patientId",value = "居民Id")
    public Envelop<TaskPatientDetailDO> getTaskByPatient(@ApiParam(name = "patientId",value = "居民Id")
                                                @RequestParam(value = "patientId",required = false)String patientId,
                                                  @ApiParam(name = "doctorId",value = "家庭医生Id")
                                                @RequestParam(value = "doctorId",required = false)String doctorId,
@ -84,7 +84,7 @@ public class TaskDetailController extends EnvelopRestController {
    public Envelop<Boolean> updateTask(@ApiParam(name = "taskInfo",value = "健康任务JSON")
                                                @RequestParam(value = "taskInfo",required = true)String taskInfo){
        try{
            TaskDetailDO taskDetailDO = toEntity(taskInfo,TaskDetailDO.class);
            TaskPatientDetailDO taskDetailDO = toEntity(taskInfo,TaskPatientDetailDO.class);
            return service.update(taskDetailDO);
        }catch (Exception e){
            e.printStackTrace();

+ 100 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskDictController.java

@ -0,0 +1,100 @@
package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.entity.health.bank.TaskDictDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.service.TaskDictService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author wangzhinan
 * @create 2018-06-08 16:42
 * @desc 任务字典 Controller
 **/
@RestController
@RequestMapping(HealthBankMapping.api_health_bank_common)
@Api(tags = "健康任务字典相关操作",description = "健康任务字典相关操作")
public class TaskDictController extends EnvelopRestController {
    @Autowired
    private TaskDictService service;
    @Autowired
    private Tracer tracer;
    /**
     * 添加任务字典
     *
     * @param taskDict 任务字典对象
     *
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.createTaskDict)
    @ApiOperation(value = "添加任务字典")
    public Envelop<Boolean> insert(@ApiParam(name = "taskDict",value = "任务字典JSON")
                                       @RequestParam(value = "taskDict",required = true)String taskDict){
        try {
            TaskDictDO taskDictDO = toEntity(taskDict,TaskDictDO.class);
            return service.insert(taskDictDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 更新任务字典
     * @param taskDict 更新任务字典
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.updateTaskDict)
    @ApiOperation(value = "更新任务字典")
    public Envelop<Boolean> update(@ApiParam(name = "taskDict",value = "任务字典JSON")
                                   @RequestParam(value = "taskDict",required = true)String taskDict){
        try {
            TaskDictDO taskDictDO = toEntity(taskDict,TaskDictDO.class);
            return service.update(taskDictDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 查询任务字典
     *
     * @param taskDict 任务字典对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.findTaskDict)
    @ApiOperation(value = "查询任务字典")
    public Envelop<TaskDictDO> select(@ApiParam(name = "taskDict",value = "任务字典JSON")
                                      @RequestParam(value = "taskDict",required = true)String taskDict,
                                      @ApiParam(name = "page", value = "第几页,从1开始")
                                      @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
                                      @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                      @RequestParam(value = "size", required = false)Integer size){
        try {
            TaskDictDO taskDictDO = toEntity(taskDict,TaskDictDO.class);
            return service.selectByCondition(taskDictDO,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
}

+ 102 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskGoodsController.java

@ -0,0 +1,102 @@
package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.entity.health.bank.TaskGoodsDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.service.TaskGoodsService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author wangzhinan
 * @create 2018-06-08 16:52
 * @desc 任务商品
 **/
@RestController
@RequestMapping(HealthBankMapping.api_health_bank_common)
@Api(tags = "健康任务商品相关操作",description = "健康任务商品相关操作")
public class TaskGoodsController extends EnvelopRestController {
    @Autowired
    private TaskGoodsService service;
    @Autowired
    private Tracer tracer;
    /**
     * 更新任务商品
     *
     * @param taskGoods 任务商品对象
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.createTaskGoods)
    @ApiOperation(value = "添加任务商品")
    public Envelop<Boolean> insert(@ApiParam(name = "taskGoods",value = "任务商品JSON")
                                   @RequestParam(value = "taskGoods",required = true)String taskGoods){
        try {
            TaskGoodsDO taskGoodsDO = toEntity(taskGoods,TaskGoodsDO.class);
            return service.insert(taskGoodsDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 更新任务商品
     *
     * @param taskGoods 任务商品
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.updateTaskGoods)
    @ApiOperation(value = "更新任务商品")
    public Envelop<Boolean> update(@ApiParam(name = "taskGoods",value = "任务商品JSON")
                                   @RequestParam(value = "taskGoods",required = true)String taskGoods){
        try {
            TaskGoodsDO taskGoodsDO = toEntity(taskGoods,TaskGoodsDO.class);
            return service.update(taskGoodsDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 查询任务商品
     *
     * @param taskGoods 任务商品对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.findTaskGoods)
    @ApiOperation(value = "查询任务商品")
    public Envelop<TaskGoodsDO> select(@ApiParam(name = "taskGoods",value = "任务商品JSON")
                                      @RequestParam(value = "taskGoods",required = true)String taskGoods,
                                  @ApiParam(name = "page", value = "第几页,从1开始")
                                      @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
                                  @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                      @RequestParam(value = "size", required = false)Integer size){
        try {
            TaskGoodsDO taskGoodsDO = toEntity(taskGoods,TaskGoodsDO.class);
            return service.selectByCondition(taskGoodsDO,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
}

+ 56 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskPatientDetailController.java

@ -0,0 +1,56 @@
package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/6/11.
 */
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.service.TaskPatientDtailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author wangzhinan
 * @create 2018-06-11 10:37
 * @desc 活动参与表
 **/
@RestController
@RequestMapping(HealthBankMapping.api_health_bank_common)
@Api(tags = "健康任务参与详情",description = "健康任务参与详情")
public class TaskPatientDetailController extends EnvelopRestController {
    @Autowired
    private TaskPatientDtailService service;
    @Autowired
    private Tracer tracer;
    /**
     * 参与活动
     *
     * @param taskPatientDetail 参与活动详情对象
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.attendTask)
    @ApiOperation(value = "参与活动")
    public Envelop<Boolean> insert(@ApiParam(name = "taskPatientDetail",value = "参与活动JSON")
                                   @RequestParam(value = "taskPatientDetail",required = true)String taskPatientDetail){
        try {
            TaskPatientDetailDO taskPatientDetailDO = toEntity(taskPatientDetail, TaskPatientDetailDO.class);
            return service.insert(taskPatientDetailDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
}

+ 102 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskRangController.java

@ -0,0 +1,102 @@
package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.entity.health.bank.TaskRangDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.service.TaskRangService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author wangzhinan
 * @create 2018-06-08 17:02
 * @desc 任务范围
 **/
@RestController
@RequestMapping(HealthBankMapping.api_health_bank_common)
@Api(tags = "健康任务范围相关操作",description = "健康任务范围相关操作")
public class TaskRangController extends EnvelopRestController {
    @Autowired
    private TaskRangService service;
    @Autowired
    private Tracer tracer;
    /**
     * 添加任务范围
     *
     * @param taskRang 任务范围对象
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.createTaskRang)
    @ApiOperation(value = "添加任务范围")
    public Envelop<Boolean> insert(@ApiParam(name = "taskRang",value = "任务范围JSON")
                                   @RequestParam(value = "taskRang",required = true)String taskRang){
        try {
            TaskRangDO taskRangDO = toEntity(taskRang,TaskRangDO.class);
            return service.insert(taskRangDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 更新任务范围
     *
     * @param taskRang 任务范围对象
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.updateTaskRang)
    @ApiOperation(value = "更新任务范围")
    public Envelop<Boolean> update(@ApiParam(name = "taskRang",value = "任务范围JSON")
                                   @RequestParam(value = "taskRang",required = true)String taskRang){
        try {
            TaskRangDO taskRangDO = toEntity(taskRang,TaskRangDO.class);
            return service.update(taskRangDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 查看任务范围
     *
     * @param taskRang 任务范围对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.findTaskRang)
    @ApiOperation(value = "查询任务范围")
    public Envelop<TaskRangDO> select(@ApiParam(name = "taskRang",value = "任务范围JSON")
                                      @RequestParam(value = "taskRang",required = true)String taskRang,
                                      @ApiParam(name = "page", value = "第几页,从1开始")
                                      @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
                                      @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                      @RequestParam(value = "size", required = false)Integer size){
        try {
            TaskRangDO taskRangDO = toEntity(taskRang,TaskRangDO.class);
            return service.selectByCondition(taskRangDO,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
}

+ 103 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskRuleController.java

@ -0,0 +1,103 @@
package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.entity.health.bank.TaskRuleDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.service.TaskRuleService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
 * @author wangzhinan
 * @create 2018-06-08 16:25
 * @desc 任务规则 controller
 **/
@RestController
@RequestMapping(HealthBankMapping.api_health_bank_common)
@Api(tags = "健康任务规则相关操作",description = "健康任务规则相关操作")
public class TaskRuleController extends EnvelopRestController {
    @Autowired
    private TaskRuleService service;
    @Autowired
    private Tracer tracer;
    /**
     * 添加任务规则
     *
     * @param taskRule 任务规则对象
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.createTaskRule)
    @ApiOperation(value = "添加任务规则")
    public Envelop<Boolean> insert(@ApiParam(name = "taskRule",value = "健康任务规则JSON")
                                          @RequestParam(value = "taskRule",required = true)String taskRule){
        try {
            TaskRuleDO taskRuleDO = toEntity(taskRule,TaskRuleDO.class);
            return service.insert(taskRuleDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 更新任务规则
     *
     * @param taskRule 任务规则对象
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.updateTaskRule)
    @ApiOperation(value = "更新任务规则")
    public Envelop<Boolean> update(@ApiParam(name = "taskRule",value = "健康任务规则JSON")
                                          @RequestParam(value = "taskRule",required = true)String taskRule){
        try {
            TaskRuleDO taskRuleDO = toEntity(taskRule,TaskRuleDO.class);
            return service.update(taskRuleDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**
     * 查看任务规则
     *
     * @param taskRule 任务规则对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.findTaskRule)
    @ApiOperation(value = "查询任务规则")
    public Envelop<TaskRuleDO> select(@ApiParam(name = "taskRule",value = "健康任务规则JSON")
                                         @RequestParam(value = "taskRule",required = true)String taskRule,
                                         @ApiParam(name = "page", value = "第几页,从1开始")
                                         @RequestParam(value = "page", defaultValue = "1",required = false)Integer page,
                                         @ApiParam(name = "size",defaultValue = "10",value = ",每页分页大小")
                                         @RequestParam(value = "size", required = false)Integer size){
        try {
            TaskRuleDO taskRuleDO = toEntity(taskRule,TaskRuleDO.class);
            return service.selectByCondition(taskRuleDO,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
}

+ 0 - 11
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/ActivityRuleDao.java

@ -1,11 +0,0 @@
package com.yihu.jw.dao;
import com.yihu.jw.entity.health.bank.ActivityRuleDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by wang zhinan on 2018/4/27.
 */
public interface ActivityRuleDao extends PagingAndSortingRepository<ActivityRuleDO,String>,JpaSpecificationExecutor<ActivityRuleDO>{
}

+ 15 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskDictDao.java

@ -0,0 +1,15 @@
package com.yihu.jw.dao;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.entity.health.bank.TaskDictDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * @author wangzhinan
 * @create 2018-06-08 15:20
 * @desc 字典DAO
 **/
public interface TaskDictDao extends PagingAndSortingRepository<TaskDictDO,String>,JpaSpecificationExecutor<TaskDictDO> {
}

+ 15 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskGoodsDao.java

@ -0,0 +1,15 @@
package com.yihu.jw.dao;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.entity.health.bank.TaskGoodsDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * @author wangzhinan
 * @create 2018-06-08 15:28
 * @desc 商品 dao
 **/
public interface TaskGoodsDao extends PagingAndSortingRepository<TaskGoodsDO,String>,JpaSpecificationExecutor<TaskGoodsDO> {
}

+ 2 - 2
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskDetailDao.java

@ -1,11 +1,11 @@
package com.yihu.jw.dao;
import com.yihu.jw.entity.health.bank.TaskDetailDO;
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * Created by wang zhinan on 2018/4/27.
 */
public interface TaskDetailDao extends PagingAndSortingRepository<TaskDetailDO,String>,JpaSpecificationExecutor<TaskDetailDO> {
public interface TaskPatientDetailDao extends PagingAndSortingRepository<TaskPatientDetailDO,String>,JpaSpecificationExecutor<TaskPatientDetailDO> {
}

+ 15 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskRangDao.java

@ -0,0 +1,15 @@
package com.yihu.jw.dao;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.jw.entity.health.bank.TaskRangDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.repository.PagingAndSortingRepository;
/**
 * @author wangzhinan
 * @create 2018-06-08 15:29
 * @desc 任务范围
 **/
public interface TaskRangDao extends PagingAndSortingRepository<TaskRangDO,String>,JpaSpecificationExecutor<TaskRangDO> {
}

+ 0 - 109
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/ActivityRuleService.java

@ -1,109 +0,0 @@
package com.yihu.jw.service;/**
 * Created by nature of king on 2018/4/27.
 */
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.ActivityDao;
import com.yihu.jw.dao.ActivityRuleDao;
import com.yihu.jw.dao.CredittsLogDetailDao;
import com.yihu.jw.entity.health.bank.ActivityRuleDO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.text.ParseException;
/**
 * @author wangzhinan
 * @create 2018-04-27 14:40
 * @desc health activity info Service
 **/
@Service
@Transactional
public class ActivityRuleService extends BaseJpaService<ActivityRuleDO,ActivityRuleDao> {
    @Autowired
    private ActivityRuleDao activityRuleDao;
    @Autowired
    private ActivityDao activityDao;
    @Autowired
    private CredittsLogDetailDao credittsLogDetailDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * insert activityRuleDO
     *
     * @param activityRuleDO
     * @return
    public Envelop<Boolean> insert(ActivityRuleDO activityRuleDO){
        activityRuleDao.save(activityRuleDO);
        Envelop<Boolean> envelop = new Envelop<>();
        envelop.setObj(true);
        return envelop;
    }
    *//**
     *  find by condition
     *
     * @param activityRuleDO
     * @param page
     * @param size
     * @return
     * @throws ParseException
     *//*
    public Envelop<ActivityRuleDO> findByCondition(ActivityRuleDO activityRuleDO, Integer page, Integer size) throws ParseException {
        String sql = new ISqlUtils().getSql(activityRuleDO,page,size,"*");
        List<ActivityRuleDO> activityRuleDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(ActivityRuleDO.class));
        List<ActivityRuleDO> activityRuleDOList = new ArrayList<>();
        for (ActivityRuleDO activityRuleDO1 : activityRuleDOS){
            ActivityDO activityDO = activityDao.findOne(activityRuleDO1.getActivityId());
            activityRuleDO1.setActivityDO(activityDO);
            activityRuleDOList.add(activityRuleDO1);
        }
        String sqlcount = new ISqlUtils().getSql(activityRuleDO,0,0,"count");
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, activityRuleDOList,page,size,count);
    }
    *//**
     * update activityRuleDO
     *
     * @param activityRuleDO
     * @return
     *//*
    public Envelop<Boolean> update(ActivityRuleDO activityRuleDO){
        ActivityDO activityDO = activityDao.findOne(activityRuleDO.getActivityId());
        ActivityRuleDO activityRuleDO1 = new ActivityRuleDO();
        activityRuleDO1 = activityRuleDao.findOne(activityRuleDO.getId());
        if (activityRuleDO.getStatus().equalsIgnoreCase("finished")){
            activityRuleDO.setIntegrate(activityDO.getIntegrate());
        }
        String sql = "select cl.status as status,cl.total as total from health_bank_credits_log cl order by cl.update_time desc";
        List<CreditsDetailDO> creditsLogDetailDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CreditsDetailDO.class));
        activityRuleDao.save(activityRuleDO);
        if (activityRuleDO.getStatus().equalsIgnoreCase("finished")&&!activityRuleDO1.getStatus().equalsIgnoreCase("unfinished")){
            CreditsDetailDO creditsLogDetailDO = new CreditsDetailDO();
            if (creditsLogDetailDOList == null || creditsLogDetailDOList.size() ==0){
                creditsLogDetailDO.setTotal(Long.parseLong(activityDO.getIntegrate()));
            }else {
                creditsLogDetailDO.setTotal(Long.parseLong(activityDO.getIntegrate().replace("+",""))+ creditsLogDetailDOList.get(0).getTotal());
            }
            creditsLogDetailDO.setPatientId(activityRuleDO.getPatientId());
            creditsLogDetailDO.setIntegrate("+"+ activityRuleDO.getIntegrate());
            creditsLogDetailDO.setIntegrateType("HEALTH_ACTIVITY");
            creditsLogDetailDO.setIntegrateId(activityRuleDO.getActivityId());
            creditsLogDetailDO.setStatus("unused");
            creditsLogDetailDO.setCommunity(activityDO.getCommunity());
            credittsLogDetailDao.save(creditsLogDetailDO);
        }
        Envelop<Boolean> envelop = new Envelop<>();
        envelop.setObj(true);
        return envelop;
    }*/
}

+ 47 - 1
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/ActivityService.java

@ -15,6 +15,7 @@ import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -39,6 +40,8 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
     * @return
     */
    public Envelop<Boolean> insert(ActivityDO activityDO){
        activityDO.setCreateTime(new Date());
        activityDO.setUpdateTime(new Date());
        activityDao.save(activityDO);
        Envelop<Boolean> envelop = new Envelop<>();
        envelop.setObj(true);
@ -71,7 +74,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
    /**
     * update activityDO
     *
     * @param activityDO 活动采参数对象
     * @param activityDO 活动参数对象
     * @return
     */
    public Envelop<Boolean> update(ActivityDO activityDO){
@ -80,4 +83,47 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
        envelop.setObj(true);
        return envelop;
    }
    /**
     * 获取参与的活动
     *
     * @param activityDO 活动对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    public Envelop<ActivityDO> selectByPatient(ActivityDO activityDO,Integer page,Integer size){
        String sql ="SELECT * " +
                " FROM wlyy_health_bank_activity " +
                "WHERE " +
                "id IN ( " +
                "SELECT bt.transaction_id " +
                "FROM wlyy_health_bank_task bt " +
                "WHERE id IN (" +
                " SELECT task_id FROM " +
                "wlyy_health_bank_task_patient_detail" +
                " WHERE " +
                " patient_openid = '"+activityDO.getOpenId()+ "' )" +
                " )" +
                " LIMIT "+(page-1)*size +","+size;
        List<ActivityDO> activityDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(ActivityDO.class));
        String sqlcount = "SELECT count(1) AS total" +
                " FROM wlyy_health_bank_activity " +
                "WHERE " +
                "id IN ( " +
                "SELECT bt.transaction_id " +
                "FROM wlyy_health_bank_task bt " +
                "WHERE id IN (" +
                " SELECT task_id FROM " +
                "wlyy_health_bank_task_patient_detail" +
                " WHERE " +
                " patient_openid = '"+activityDO.getOpenId()+ "' )" +
                " )";
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success,activityDOS,page,size,count);
    }
}

+ 94 - 33
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/CreditsDetailService.java

@ -7,6 +7,7 @@ import com.yihu.jw.dao.*;
import com.yihu.jw.entity.health.bank.*;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.util.DateUtils;
import com.yihu.jw.util.ISqlUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
@ -41,23 +42,23 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
    @Autowired
    private AccountDao accountDao;
    @Autowired
    private TaskDetailDao taskDetailDao;
    private TaskPatientDetailDao taskPatientDetailDao;
    @Autowired
    private TaskRuleDao taskRuleDao;
   /**
     *  find creditsLogInfo
     *
     * @return
     * @throws ParseException
     */
    public Envelop<CreditsDetailDO> findByCondition(CreditsDetailDO creditsDetailDO, Integer page, Integer size) throws ParseException {
   public Envelop<CreditsDetailDO> findByCondition(CreditsDetailDO creditsDetailDO, Integer page, Integer size) throws ParseException {
        String sql = new ISqlUtils().getSql(creditsDetailDO,page,size,"*");
        List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CreditsDetailDO.class));
        for (CreditsDetailDO creditsDetailDO1 : creditsDetailDOS){
            if (creditsDetailDO1.getTradeType().equalsIgnoreCase("HEALTH_TASK")){
                TaskDO taskDO = taskDao.findOne(creditsDetailDO1.getTransactionId());
                creditsDetailDO1.setTaskDO(taskDO);
            }else if(creditsDetailDO1.getTradeType().equalsIgnoreCase("HEALTH_ACTIVITY")){
                ActivityDO activityDO = activityDao.findOne(creditsDetailDO1.getTransactionId());
                creditsDetailDO1.setActivityDO(activityDO);
            }
        }
        String sqlcount = new ISqlUtils().getSql(creditsDetailDO,0,0,"count");
@ -109,7 +110,6 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
    /*
    public Envelop<Boolean> exchangeGoods(GoodsDO goodsDO){
        CreditsDetailDO creditsLogDetailDO = new CreditsDetailDO();
@ -224,31 +224,42 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                }
                TaskDO taskDO = new TaskDO();
                taskDO.setTaskCode(creditsDetailDO.getFlag());
                taskDO.setPatientId(creditsDetailDO.getPatientId());
                taskDO.setId(creditsDetailDO.getTransactionId());
                /*taskDO.setPatientId(creditsDetailDO.getPatientId());*/
                String sql = ISqlUtils.getSql(taskDO,1,1,"*");
                List<TaskDO> taskDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
                if (taskDOList != null && taskDOList.size() != 0){
                    creditsDetailDO.setTransactionId(taskDOList.get(0).getId());
                }else {
                    List<TaskDO> taskDOS = getTasks(taskDO.getPatientId());
                    for (TaskDO taskDO1:taskDOS){
                        taskDao.save(taskDO1);
                    }
                    List<TaskDO> taskDOList1 = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
                    creditsDetailDO.setTransactionId(taskDOList1.get(0).getId());
                }
                if (creditsDetailDO.getTradeDirection() == 1){
                    if (creditsDetailDO.getTradeType().equals("HEALTH_TASK")){
                        TaskDetailDO taskDetailDO = new TaskDetailDO();
                        taskDetailDO.setIntegrate(creditsDetailDO.getIntegrate());
                        taskDetailDO.setTaskId(creditsDetailDO.getTransactionId());
                        taskDetailDO.setSaasId(creditsDetailDO.getSaasId());
                        taskDetailDO.setPatientId(creditsDetailDO.getPatientId());
                        taskDetailDO.setTradeDirection(creditsDetailDO.getTradeDirection());
                        taskDetailDO.setStatus("1");
                        taskDetailDO.setCreateTime(new Date());
                        taskDetailDO.setUpdateTime(new Date());
                        taskDetailDao.save(taskDetailDO);
                creditsDetailDO.setTransactionId(taskDOList.get(0).getId());
                TaskRuleDO taskRuleDO = taskRuleDao.findOne(taskDOList.get(0).getRuleCode());
                creditsDetailDO.setIntegrate(taskRuleDO.getIntegrate());
                creditsDetailDO.setTradeDirection(taskRuleDO.getTradeDirection());
                String taskSql = "select * from wlyy_health_bank_task_patient_detail where task_id = '"+taskDOList.get(0).getId()+"' and patient_id = '" + creditsDetailDO.getPatientId() +"'";
                List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(taskSql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                if (taskPatientDetailDOS == null || taskPatientDetailDOS.size() ==0){
                    TaskPatientDetailDO taskPatientDetailDO = new TaskPatientDetailDO();
                    taskPatientDetailDO.setTaskId(creditsDetailDO.getTransactionId());
                    taskPatientDetailDO.setSaasId(creditsDetailDO.getSaasId());
                    taskPatientDetailDO.setPatientId(creditsDetailDO.getPatientId());
                    taskPatientDetailDO.setPatientIdcard(creditsDetailDO.getIdCard());
                    taskPatientDetailDO.setPatientOpenid(creditsDetailDO.getOpenId());
                    taskPatientDetailDO.setStatus(Integer.parseInt("0"));
                    taskPatientDetailDO.setCreateTime(new Date());
                    taskPatientDetailDO.setUpdateTime(new Date());
                    taskPatientDetailDao.save(taskPatientDetailDO);
                }else if (taskPatientDetailDOS != null && taskDOList.get(0).getPeriod() == 0){
                    String taskSql1 = "select * from wlyy_health_bank_task_patient_detail where task_id = '"+taskDOList.get(0).getId()+
                            "' and patient_id = '"+creditsDetailDO.getPatientId()+"' and create_time > '" + DateUtils.getDayBegin() +"' and create_time < '"+ DateUtils.getDayEnd() +"'";
                    List<TaskPatientDetailDO> taskPatientDetailDOS1 = jdbcTemplate.query(taskSql1,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                    if (taskPatientDetailDOS1 == null || taskPatientDetailDOS1.size() == 0){
                        TaskPatientDetailDO taskPatientDetailDO = new TaskPatientDetailDO();
                        taskPatientDetailDO.setTaskId(creditsDetailDO.getTransactionId());
                        taskPatientDetailDO.setSaasId(creditsDetailDO.getSaasId());
                        taskPatientDetailDO.setPatientId(creditsDetailDO.getPatientId());
                        taskPatientDetailDO.setPatientIdcard(creditsDetailDO.getIdCard());
                        taskPatientDetailDO.setPatientOpenid(creditsDetailDO.getOpenId());
                        taskPatientDetailDO.setStatus(Integer.parseInt("0"));
                        taskPatientDetailDO.setCreateTime(new Date());
                        taskPatientDetailDO.setUpdateTime(new Date());
                        taskPatientDetailDao.save(taskPatientDetailDO);
                    }
                }
                creditsDetailDO.setCreateTime(new Date());
@ -280,17 +291,67 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
        }
    }
    /**
     * 根据活动查询积分
     *
     * @param activityId 活动id
     *
     * @param patientId 居民id
     *
     * @param page 页码
     *
     * @param size 分页大小
     * @return
     */
    public Envelop<CreditsDetailDO> selectByActivity(String activityId,String patientId,Integer page,Integer size){
        String sql="SELECT * " +
                "FROM " +
                " wlyy_health_bank_credits_detail " +
                "WHERE" +
                " transaction_id IN ( " +
                " SELECT " +
                " bt.id " +
                " FROM " +
                " wlyy_health_bank_task bt " +
                " WHERE " +
                " transaction_id = '"+activityId +"' " +
                " ) " +
                " and patient_id = '" +patientId+
                "' LIMIT "+(page-1)*size +","+size;
        List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CreditsDetailDO.class));
        String sqlcount = "SELECT count(1) AS" +
                " total FROM " +
                " wlyy_health_bank_credits_detail " +
                "WHERE" +
                " transaction_id IN ( " +
                " SELECT " +
                " bt.id " +
                " FROM " +
                " wlyy_health_bank_task bt " +
                " WHERE " +
                " transaction_id = '"+activityId +"' " +
                " ) " +
                " and patient_id = '" +patientId+
                "'";
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success,creditsDetailDOS,page,size,count);
    }
    /**
     * 固定数据
     *
     * @param patientId
     * @return
     */
     *//*
    public List<TaskDO> getTasks(String patientId){
        List<TaskDO> taskDOList = new ArrayList<>();
        TaskDO taskDO = new TaskDO();
        taskDO.setPatientId(patientId);
        *//*taskDO.setPatientId(patientId);*//*
        taskDO.setTaskCode("BIND");
        taskDO.setPeriod(1);
        taskDO.setTaskTitle("首次绑定");
@ -301,7 +362,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
        taskDO.setUpdateTime(new Date());
        taskDOList.add(taskDO);
        TaskDO taskDO1 = new TaskDO();
        taskDO1.setPatientId(patientId);
        *//*taskDO1.setPatientId(patientId);*//*
        taskDO1.setTaskCode("MEASURE");
        taskDO1.setPeriod(0);
        taskDO1.setTaskTitle("每日测量");
@ -313,5 +374,5 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
        taskDOList.add(taskDO1);
        return taskDOList;
    }
*/
}

+ 15 - 15
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskDetailService.java

@ -4,8 +4,8 @@ package com.yihu.jw.service;/**
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.CredittsLogDetailDao;
import com.yihu.jw.dao.TaskDetailDao;
import com.yihu.jw.entity.health.bank.TaskDetailDO;
import com.yihu.jw.dao.TaskPatientDetailDao;
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
import com.yihu.jw.restmodel.common.Envelop;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
@ -21,9 +21,9 @@ import java.text.ParseException;
 **/
@Service
@Transactional
public class TaskDetailService extends BaseJpaService<TaskDetailDO,TaskDetailDao> {
public class TaskDetailService extends BaseJpaService<TaskPatientDetailDO,TaskPatientDetailDao> {
    @Autowired
    private TaskDetailDao taskDetailDao;
    private TaskPatientDetailDao taskPatientDetailDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
@ -33,11 +33,11 @@ public class TaskDetailService extends BaseJpaService<TaskDetailDO,TaskDetailDao
    /**
     * 参与任务
     *
     * @param taskDetailDO
     * @param taskPatientDetailDO
     * @return
     */
    public Envelop<Boolean> insert(TaskDetailDO taskDetailDO){
        taskDetailDao.save(taskDetailDO);
    public Envelop<Boolean> insert(TaskPatientDetailDO taskPatientDetailDO){
        taskPatientDetailDao.save(taskPatientDetailDO);
        Envelop<Boolean> envelop = new Envelop<>();
        envelop.setObj(true);
        return envelop;
@ -48,8 +48,8 @@ public class TaskDetailService extends BaseJpaService<TaskDetailDO,TaskDetailDao
     * @param taskDetailDO
     * @return
     *//*
    public Envelop<Boolean> insert(TaskDetailDO taskDetailDO){
        taskDetailDao.save(taskDetailDO);
    public Envelop<Boolean> insert(TaskPatientDetailDO taskDetailDO){
        taskPatientDetailDao.save(taskDetailDO);
        Envelop<Boolean> envelop = new Envelop<>();
        envelop.setObj(true);
        return envelop;
@ -64,12 +64,12 @@ public class TaskDetailService extends BaseJpaService<TaskDetailDO,TaskDetailDao
     * @return
     * @throws ParseException
     *//*
    public Envelop<TaskDetailDO> findTaskByPatient(String patientId, String doctorId, Integer page, Integer size) throws ParseException {
        TaskDetailDO taskDetailDO = new TaskDetailDO();
    public Envelop<TaskPatientDetailDO> findTaskByPatient(String patientId, String doctorId, Integer page, Integer size) throws ParseException {
        TaskPatientDetailDO taskDetailDO = new TaskPatientDetailDO();
        taskDetailDO.setDoctorId(doctorId);
        taskDetailDO.setPatientId(patientId);
        String sql = new ISqlUtils().getSql(taskDetailDO,page,size,"*");
        List<TaskDetailDO> taskDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDetailDO.class));
        List<TaskPatientDetailDO> taskDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
        String sqlcount = new ISqlUtils().getSql(taskDetailDO,0,0,"count");
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
@ -86,11 +86,11 @@ public class TaskDetailService extends BaseJpaService<TaskDetailDO,TaskDetailDao
     * @param taskDetailDO
     * @return
     *//*
    public Envelop<Boolean> update(TaskDetailDO taskDetailDO){
        TaskDetailDO taskDetailDO1 = taskDetailDao.findOne(taskDetailDO.getId());
    public Envelop<Boolean> update(TaskPatientDetailDO taskDetailDO){
        TaskPatientDetailDO taskDetailDO1 = taskPatientDetailDao.findOne(taskDetailDO.getId());
        String sql = "select cl.status as status,cl.total as total from health_bank_credits_log cl order by cl.update_time desc";
        List<CreditsDetailDO> creditsLogDetailDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CreditsDetailDO.class));
        taskDetailDao.save(taskDetailDO);
        taskPatientDetailDao.save(taskDetailDO);
        if (taskDetailDO.getStatus().equalsIgnoreCase("finished")&&!taskDetailDO1.getStatus().equalsIgnoreCase("unfinished")){
            CreditsDetailDO creditsLogDetailDO = new CreditsDetailDO();
            if (creditsLogDetailDOList == null || creditsLogDetailDOList.size() ==0){

+ 86 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskDictService.java

@ -0,0 +1,86 @@
package com.yihu.jw.service;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.TaskDictDao;
import com.yihu.jw.entity.health.bank.TaskDictDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.util.ISqlUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author wangzhinan
 * @create 2018-06-08 15:47
 * @desc 字典 service
 **/
@Service
@Transactional
public class TaskDictService extends BaseJpaService<TaskDictDO,TaskDictDao> {
    @Autowired
    private TaskDictDao taskDictDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 查看任务字典
     *
     * @param taskDictDO 任务字典对象
     *
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    public Envelop<TaskDictDO> selectByCondition(TaskDictDO taskDictDO, Integer page, Integer size){
        String sql = new ISqlUtils().getSql(taskDictDO,page,size,"*");
        List<TaskDictDO> taskDictDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDictDO.class));
        String sqlcount = new ISqlUtils().getSql(taskDictDO,0,0,"count");
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskDictDOS,page,size,count);
    }
    /**
     * 添加任务字典
     *
     *
     * @param taskDictDO 任务字典对象
     * @return
     */
    public Envelop<Boolean> insert(TaskDictDO taskDictDO){
        taskDictDO.setCreateTime(new Date());
        taskDictDO.setUpdateTime(new Date());
        Envelop<Boolean> envelop = new Envelop<>();
        taskDictDao.save(taskDictDO);
        envelop.setObj(true);
        return envelop;
    }
    /**
     * 更新任务字典
     *
     * @param taskDictDO 任务字典对象
     * @return
     */
    public Envelop<Boolean> update(TaskDictDO taskDictDO){
        Envelop<Boolean> envelop = new Envelop<>();
        String sql =  ISqlUtils.getUpdateSql(taskDictDO);
        jdbcTemplate.update(sql);
        envelop.setObj(true);
        return envelop;
    }
}

+ 85 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskGoodsService.java

@ -0,0 +1,85 @@
package com.yihu.jw.service;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.TaskGoodsDao;
import com.yihu.jw.entity.health.bank.TaskGoodsDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.util.ISqlUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author wangzhinan
 * @create 2018-06-08 15:46
 * @desc 活动商品 service
 **/
@Service
@Transactional
public class TaskGoodsService extends BaseJpaService<TaskGoodsDO,TaskGoodsDao> {
    @Autowired
    private TaskGoodsDao taskGoodsDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * 查看商品
     *
     * @param taskGoodsDO 活动商品对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    public Envelop<TaskGoodsDO> selectByCondition(TaskGoodsDO taskGoodsDO, Integer page, Integer size){
        String sql = new ISqlUtils().getSql(taskGoodsDO,page,size,"*");
        List<TaskGoodsDO> taskGoodsDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskGoodsDO.class));
        String sqlcount = new ISqlUtils().getSql(taskGoodsDO,0,0,"count");
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskGoodsDOS,page,size,count);
    }
    /**
     * 添加活动商品
     *
     * @param taskGoodsDO 活动商品对象
     * @return
     */
    public Envelop<Boolean> insert(TaskGoodsDO taskGoodsDO){
        taskGoodsDO.setCreateTime(new Date());
        taskGoodsDO.setUpdateTime(new Date());
        Envelop<Boolean> envelop = new Envelop<>();
        taskGoodsDao.save(taskGoodsDO);
        envelop.setObj(true);
        return envelop;
    }
    /**
     * 更新活动商品
     *
     * @param taskGoodsDO
     * @return
     */
    public Envelop<Boolean> update(TaskGoodsDO taskGoodsDO){
        Envelop<Boolean> envelop = new Envelop<>();
        String sql =  ISqlUtils.getUpdateSql(taskGoodsDO);
        jdbcTemplate.update(sql);
        envelop.setObj(true);
        return envelop;
    }
}

+ 127 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskPatientDtailService.java

@ -0,0 +1,127 @@
package com.yihu.jw.service;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.ActivityDao;
import com.yihu.jw.dao.TaskDao;
import com.yihu.jw.dao.TaskPatientDetailDao;
import com.yihu.jw.entity.health.bank.ActivityDO;
import com.yihu.jw.entity.health.bank.TaskDO;
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
import com.yihu.jw.entity.health.bank.TaskRangDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.util.ISqlUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author wangzhinan
 * @create 2018-06-08 15:43
 * @desc 任务参与 Service
 **/
@Service
@Transactional
public class TaskPatientDtailService extends BaseJpaService<TaskPatientDetailDO,TaskPatientDetailDao> {
    @Autowired
    private TaskPatientDetailDao taskPatientDetailDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private TaskDao taskDao;
    @Autowired
    private ActivityDao activityDao;
    /**
     * 查看任务参与情况
     *
     * @param taskPatientDetailDO 任务参与对象
     *
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    public Envelop<TaskRangDO> selectByCondition(TaskPatientDetailDO taskPatientDetailDO, Integer page, Integer size){
        String sql = new ISqlUtils().getSql(taskPatientDetailDO,page,size,"*");
        List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
        String sqlcount = new ISqlUtils().getSql(taskPatientDetailDO,0,0,"count");
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskPatientDetailDOS,page,size,count);
    }
    /**
     * 添加任务参与
     *
     * @param taskPatientDetailDO 任务参与对象
     * @return
     */
    public Envelop<Boolean> insert(TaskPatientDetailDO taskPatientDetailDO) throws Exception{
        Envelop<Boolean> envelop = new Envelop<>();
        taskPatientDetailDO.setCreateTime(new Date());
        taskPatientDetailDO.setUpdateTime(new Date());
        taskPatientDetailDO.setStatus(Integer.parseInt("0"));
        String sql = "select * from wlyy_health_bank_task_patient_detail where patient_openid = '"+taskPatientDetailDO.getPatientOpenid()+"'";
        List<TaskPatientDetailDO> taskPatientDetailDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
        if (taskPatientDetailDOList != null && taskPatientDetailDOList.size() !=0){
            throw new Exception("该微信账号已报名过!");
        }
        taskPatientDetailDao.save(taskPatientDetailDO);
        envelop.setObj(true);
        return envelop;
    }
    /**
     * 更新任务参与
     *
     * @param taskPatientDetailDO 任务参与对象
     * @return
     */
    public Envelop<Boolean> update(TaskPatientDetailDO taskPatientDetailDO){
        Envelop<Boolean> envelop = new Envelop<>();
        String sql =  ISqlUtils.getUpdateSql(taskPatientDetailDO);
        jdbcTemplate.update(sql);
        envelop.setObj(true);
        return envelop;
    }
    /**
     * 我参与的活动
     *
     * @param taskPatientDetailDO 参与信息对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    public Envelop<TaskPatientDetailDO> selectByPatient(TaskPatientDetailDO taskPatientDetailDO,Integer page,Integer size){
        String sql = new ISqlUtils().getSql(taskPatientDetailDO,page,size,"*");
        List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
        for (TaskPatientDetailDO taskPatientDetailDO1:taskPatientDetailDOS){
            TaskDO taskDO = taskDao.findOne(taskPatientDetailDO1.getTaskId());
            ActivityDO activityDO = activityDao.findOne(taskDO.getTransactionId());
            taskDO.setActivityDO(activityDO);
            taskPatientDetailDO1.setTaskDO(taskDO);
        }
        String sqlcount = new ISqlUtils().getSql(taskPatientDetailDO,0,0,"count");
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskPatientDetailDOS,page,size,count);
    }
}

+ 85 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskRangService.java

@ -0,0 +1,85 @@
package com.yihu.jw.service;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.TaskRangDao;
import com.yihu.jw.entity.health.bank.TaskRangDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.util.ISqlUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author wangzhinan
 * @create 2018-06-08 15:41
 * @desc 任务范围
 **/
@Service
@Transactional
public class TaskRangService extends BaseJpaService<TaskRangDO,TaskRangDao> {
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private TaskRangDao taskRangDao;
    /**
     * 查看任务范围
     *
     * @param taskRangDO 任务范围对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    public Envelop<TaskRangDO> selectByCondition(TaskRangDO taskRangDO, Integer page, Integer size){
        String sql = new ISqlUtils().getSql(taskRangDO,page,size,"*");
        List<TaskRangDO> taskRangDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskRangDO.class));
        String sqlcount = new ISqlUtils().getSql(taskRangDO,0,0,"count");
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskRangDOS,page,size,count);
    }
    /**
     * 添加任务范围
     *
     * @param taskRangDO 任务范围对象
     * @return
     */
    public Envelop<Boolean> insert(TaskRangDO taskRangDO){
        Envelop<Boolean> envelop = new Envelop<>();
        taskRangDO.setCreateTime(new Date());
        taskRangDO.setUpdateTime(new Date());
        taskRangDao.save(taskRangDO);
        envelop.setObj(true);
        return envelop;
    }
    /**
     * 更新任务范围
     *
     * @param taskRangDO 任务范围对象
     * @return
     */
    public Envelop<Boolean> update(TaskRangDO taskRangDO){
        Envelop<Boolean> envelop = new Envelop<>();
        String sql =  ISqlUtils.getUpdateSql(taskRangDO);
        jdbcTemplate.update(sql);
        envelop.setObj(true);
        return envelop;
    }
}

+ 82 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskRuleService.java

@ -0,0 +1,82 @@
package com.yihu.jw.service;/**
 * Created by nature of king on 2018/6/8.
 */
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.TaskRuleDao;
import com.yihu.jw.entity.health.bank.TaskRuleDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.util.ISqlUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
 * @author wangzhinan
 * @create 2018-06-08 15:42
 * @desc 任务规则
 **/
@Service
@Transactional
public class TaskRuleService extends BaseJpaService<TaskRuleDO,TaskRuleDao>{
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private TaskRuleDao taskRuleDao;
    /**
     * 获取任务规则列表
     *
     * @param taskRuleDO 任务规则对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
    public Envelop<TaskRuleDO> selectByCondition(TaskRuleDO taskRuleDO, Integer page, Integer size){
        String sql = new ISqlUtils().getSql(taskRuleDO,page,size,"*");
        List<TaskRuleDO> taskRuleDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskRuleDO.class));
        String sqlcount = new ISqlUtils().getSql(taskRuleDO,0,0,"count");
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
        Long count = 0L;
        if(rstotal!=null&&rstotal.size()>0){
            count = (Long) rstotal.get(0).get("total");
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskRuleDOS,page,size,count);
    }
    /**
     * 添加规则
     * @param taskRuleDO 任务规则对象
     * @return
     */
    public Envelop<Boolean> insert(TaskRuleDO taskRuleDO){
        Envelop<Boolean> envelop = new Envelop<>();
        taskRuleDO.setCreateTime(new Date());
        taskRuleDO.setUpdateTime(new Date());
        taskRuleDao.save(taskRuleDO);
        envelop.setObj(true);
        return envelop;
    }
    /**
     * 更新规则
     *
     * @param taskRuleDO 规则对象
     * @return
     */
    public Envelop<Boolean> update(TaskRuleDO taskRuleDO){
        Envelop<Boolean> envelop = new Envelop<>();
        String sql =  ISqlUtils.getUpdateSql(taskRuleDO);
        jdbcTemplate.update(sql);
        envelop.setObj(true);
        return envelop;
    }
}

+ 115 - 26
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskService.java

@ -2,11 +2,14 @@ package com.yihu.jw.service;/**
 * Created by nature of king on 2018/5/10.
 */
import com.alibaba.fastjson.JSONArray;
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.ActivityDao;
import com.yihu.jw.dao.TaskDao;
import com.yihu.jw.dao.TaskDetailDao;
import com.yihu.jw.dao.TaskPatientDetailDao;
import com.yihu.jw.entity.health.bank.ActivityDO;
import com.yihu.jw.entity.health.bank.TaskDO;
import com.yihu.jw.entity.health.bank.TaskDetailDO;
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.util.DateUtils;
@ -36,16 +39,41 @@ public class TaskService extends BaseJpaService<TaskDO,TaskDao>{
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private TaskDetailDao taskDetailDao;
    private TaskPatientDetailDao taskPatientDetailDao;
    @Autowired
    private ActivityDao activityDao;
    /**
     * 添加任务
     *
     * @param taskDO 任务对象
     * @return
     */
    public Envelop<Boolean> insert(TaskDO taskDO){
        taskDO.setCreateTime(new Date());
        taskDO.setUpdateTime(new Date());
        taskDao.save(taskDO);
        Envelop<Boolean> envelop = new Envelop<>();
        envelop.setObj(true);
        return envelop;
    }
    /**
     *  更新任务
     *
     * @param taskDO
     * @return
     */
    public Envelop<Boolean> update(TaskDO taskDO){
        String sql = ISqlUtils.getUpdateSql(taskDO);
        jdbcTemplate.update(sql);
        Envelop<Boolean> envelop = new Envelop<>();
        envelop.setObj(true);
        return envelop;
    }
   /* public Envelop<CreditsDetailDO> findByCondition(TaskDO taskDO, Integer page, Integer size) throws ParseException {
        String sql = new ISqlUtils().getSql(taskDO,page,size,"*");
        List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(CreditsDetailDO.class));
@ -58,29 +86,37 @@ public class TaskService extends BaseJpaService<TaskDO,TaskDao>{
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, creditsDetailDOS,page,size,count);
    }*/
    /**
     * 查找数据
     *
     * @param taskDO 任务对象
     * @param page 页码
     * @param size 分页大小
     * @return
     */
   public Envelop<TaskDO> selectByCondition(TaskDO taskDO,Integer page,Integer size){
       String sql = new ISqlUtils().getSql(taskDO,page,size,"*");
       List<TaskDO> taskDOS1 = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
       if (taskDOS1 == null || taskDOS1.size() ==0){
           List<TaskDO> taskDOList = getTasks(taskDO.getPatientId());
           for (TaskDO taskDO1:taskDOList){
                taskDao.save(taskDO1);
           }
       }
       List<TaskDO> taskDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
       List<TaskDO> taskDOList = new ArrayList<>();
       for (TaskDO taskDO1 : taskDOS){
           if (taskDO1.getPeriod() == 0){
               String taskSql1 = "SELECT * FROM wlyy_health_bank_task_detail td WHERE" +
                       " td.task_id = '" +taskDO1.getId()+
                       "' AND td.create_time > '" + DateUtils.getDayBegin()+
                       "' AND td.create_time < '"+DateUtils.getDayEnd()+"'";
               List<TaskDetailDO> taskDetailList = jdbcTemplate.query(taskSql1,new BeanPropertyRowMapper(TaskDetailDO.class));
               if (taskDetailList != null && taskDetailList.size() != 0){
                   taskDO1.setStatus(1);
               }
       for (TaskDO taskDO1:taskDOS){
           if (taskDO1.getType().equalsIgnoreCase("ACTIVITY_TASK")){
               ActivityDO activityDO = activityDao.findOne(taskDO1.getTransactionId());
               taskDO1.setActivityDO(activityDO);
           }
           //参与活动的详情
           String taskSql = "select * from wlyy_health_bank_task_patient_detail where task_id = '"+taskDO1.getId()+
                   "' and patient_openid = '"+taskDO.getOpenId()+"'";
           List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(taskSql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
           taskDO1.setTaskPatientDetailDOS(taskPatientDetailDOS);
           //参与人数
           String taskSql1 = "select count(1) as total from wlyy_health_bank_task_patient_detail where task_id = '"+taskDO1.getId()+"'";
           List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(taskSql1);
           Long count = 0L;
           if(rstotal!=null&&rstotal.size()>0){
               count = (Long) rstotal.get(0).get("total");
           }
           taskDOList.add(taskDO1);
           taskDO1.setTotal(count);
           taskDO1.setPatientId(taskDO.getPatientId());
       }
       String sqlcount = new ISqlUtils().getSql(taskDO,0,0,"count");
       List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
@ -88,12 +124,65 @@ public class TaskService extends BaseJpaService<TaskDO,TaskDao>{
       if(rstotal!=null&&rstotal.size()>0){
           count = (Long) rstotal.get(0).get("total");
       }
       return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskDOS,page,size,count);
   }
    /**
     * 查看当前的任务
     * @param array taskCode集合
     * @param patientId 居民id
     * @param page 页码
     * @param size 分页大小
     * @return
     */
   public Envelop<TaskDO> selectByTask(JSONArray array,String patientId,Integer page,Integer size){
       StringBuffer buffer = new StringBuffer();
       List<String> taskCodes = new ArrayList<>();
       for (int i=0;i<array.size();i++){
           taskCodes.add(array.getString(i));
       }
       buffer.append(" bt.task_code in(");
       if (taskCodes == null || taskCodes.size() == 0){
           buffer.append("''");
       }else {
           for (int i=0;i<taskCodes.size();i++){
               buffer.append("'"+taskCodes.get(i)+"'").append(",");
           }
           buffer.deleteCharAt(buffer.length()-1);
       }
       buffer.append(") ");
       String sql = "select * from wlyy_health_bank_task bt where "+buffer +" ORDER BY update_time DESC LIMIT "+(page-1)*size+","+size;
       List<TaskDO> taskDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
       for (TaskDO taskDO:taskDOList){
           if (taskDO.getType().equalsIgnoreCase("ACTIVITY_TASK")){
               ActivityDO activityDO = activityDao.findOne(taskDO.getTransactionId());
               taskDO.setActivityDO(activityDO);
           }
           if (taskDO.getPeriod() == 1){
               String taskSql = "select * from wlyy_health_bank_task_patient_detail where task_id = '"+taskDO.getId()+
                       "' and patient_id = '"+patientId+"'";
               List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(taskSql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
               taskDO.setTaskPatientDetailDOS(taskPatientDetailDOS);
           }else if (taskDO.getPeriod() == 0){
               String taskSql = "select * from wlyy_health_bank_task_patient_detail where task_id = '"+taskDO.getId()+
                       "' and patient_id = '"+patientId+"' and create_time > '" + DateUtils.getDayBegin() +"' and create_time < '"+ DateUtils.getDayEnd() +"'";
               List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(taskSql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
               taskDO.setTaskPatientDetailDOS(taskPatientDetailDOS);
           }
           taskDO.setPatientId(patientId);
       }
       String sqlcount = "select COUNT(1) AS  total from wlyy_health_bank_task bt where "+buffer ;
       List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
       Long count = 0L;
       if(rstotal!=null&&rstotal.size()>0){
           count = (Long) rstotal.get(0).get("total");
       }
       return Envelop.getSuccessListWithPage(HealthBankMapping.api_success, taskDOList,page,size,count);
   }
    public List<TaskDO> getTasks(String patientId){
   /* public List<TaskDO> getTasks(String patientId){
       List<TaskDO> taskDOList = new ArrayList<>();
       TaskDO taskDO = new TaskDO();
       taskDO.setPatientId(patientId);
       *//*taskDO.setPatientId(patientId);*//*
       taskDO.setTaskCode("BIND");
       taskDO.setPeriod(1);
       taskDO.setTaskTitle("首次绑定");
@ -104,7 +193,7 @@ public class TaskService extends BaseJpaService<TaskDO,TaskDao>{
       taskDO.setUpdateTime(new Date());
       taskDOList.add(taskDO);
       TaskDO taskDO1 = new TaskDO();
       taskDO1.setPatientId(patientId);
   *//*    taskDO1.setPatientId(patientId);*//*
       taskDO1.setTaskCode("MEASURE");
       taskDO1.setPeriod(0);
       taskDO1.setTaskTitle("每日测量");
@ -115,5 +204,5 @@ public class TaskService extends BaseJpaService<TaskDO,TaskDao>{
       taskDO1.setUpdateTime(new Date());
       taskDOList.add(taskDO1);
       return taskDOList;
    }
    }*/
}

+ 38 - 0
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/util/ISqlUtils.java

@ -2,6 +2,8 @@ package com.yihu.jw.util;/**
 * Created by nature of king on 2018/4/27.
 */
import com.alibaba.fastjson.JSONObject;
import javax.persistence.Column;
import javax.persistence.Table;
import java.lang.reflect.Field;
@ -89,4 +91,40 @@ public class ISqlUtils {
        }
        return sb.toString();
    }
    public static  String getUpdateSql(Object object){
        StringBuffer sb = new StringBuffer();
        Class c = object.getClass();
        Table table = (Table)c.getAnnotation(Table.class);
        String tableName = table.name();
        sb.append("update ").append(tableName).append(" set ");
        Field[] fArray = c.getDeclaredFields();
        for (Field f:fArray){
            String getMethoName = "";
            boolean isCExist = f.isAnnotationPresent(Column.class);
            if (isCExist){
                Column mc = f.getAnnotation(Column.class);
                String columeName = mc.name();
                String name = f.getName();
                Object value= null;
                getMethoName = "get" + name.substring(0,1).toUpperCase()+name.substring(1);
                try {
                    Method m = c.getMethod(getMethoName);
                    value = (Object)m.invoke(object);
                    if (value == null || "".equals(value)||value.equals(Integer.parseInt("0"))){
                        continue;
                    }
                    else if (value instanceof  String){
                        value = "' "+value+"'";
                    }
                }catch (Exception e){
                    e.printStackTrace();
                }
                sb.append(columeName + "=").append(value+"");
            }
        }
        JSONObject jsonObject = (JSONObject) JSONObject.toJSON(object);
        sb.append(" where ").append("id = ").append(jsonObject.get("id"));
        return sb.toString();
    }
}

+ 1 - 1
svr/svr-wlyy-health-bank/src/main/resources/application.yml

@ -50,7 +50,7 @@ spring:
  profiles: jwdev
  datasource:
    url: jdbc:mysql://172.19.103.77:3306/wlyy_health_bank?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    url: jdbc:mysql://172.19.103.77:3306/health_bank?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    username: root
    password: 123456
  data: