Explorar el Código

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

humingfen hace 6 años
padre
commit
ce6d25ac7d
Se han modificado 24 ficheros con 638 adiciones y 136 borrados
  1. 33 0
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/AccountDO.java
  2. 1 1
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/ActiveRecordDO.java
  3. 11 0
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/ActivityDO.java
  4. 22 0
      common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskPatientDetailDO.java
  5. 2 2
      common/common-request-mapping/src/main/java/com/yihu/jw/rm/health/bank/HealthBankMapping.java
  6. 6 0
      svr/svr-wlyy-health-bank/pom.xml
  7. 3 9
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/AccountController.java
  8. 24 13
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/ActiveRecordController.java
  9. 35 1
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/ActivityController.java
  10. 3 1
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/CreditsDetailController.java
  11. 30 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/TaskController.java
  12. 5 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskDao.java
  13. 8 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/dao/TaskPatientDetailDao.java
  14. 120 34
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/AccountService.java
  15. 9 3
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/ActiveRecordService.java
  16. 42 4
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/ActivityService.java
  17. 171 55
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/CreditsDetailService.java
  18. 17 3
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskPatientDtailService.java
  19. 18 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskRuleService.java
  20. 21 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/TaskService.java
  21. 26 0
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/util/DateUtils.java
  22. 16 7
      svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/util/ISqlUtils.java
  23. 13 1
      svr/svr-wlyy-health-bank/src/main/resources/application.yml
  24. 2 2
      svr/svr-wlyy-specialist/src/main/resources/application.yml

+ 33 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/AccountDO.java

@ -64,6 +64,15 @@ public class AccountDO extends IdEntityWithOperation implements Serializable {
    @Transient
    private List<String> patientIds;//团队居民id
    @Transient
    private String taskId;//任务id
    @Transient
    private Long activityRanking;//活动排名
    @Transient
    private Long activityIntegrate;//活动积分
    public String getSaasId() {
        return saasId;
    }
@ -191,4 +200,28 @@ public class AccountDO extends IdEntityWithOperation implements Serializable {
    public void setPatientIds(List<String> patientIds) {
        this.patientIds = patientIds;
    }
    public String getTaskId() {
        return taskId;
    }
    public void setTaskId(String taskId) {
        this.taskId = taskId;
    }
    public Long getActivityRanking() {
        return activityRanking;
    }
    public void setActivityRanking(Long activityRanking) {
        this.activityRanking = activityRanking;
    }
    public Long getActivityIntegrate() {
        return activityIntegrate;
    }
    public void setActivityIntegrate(Long activityIntegrate) {
        this.activityIntegrate = activityIntegrate;
    }
}

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

@ -124,7 +124,7 @@ public class ActiveRecordDO extends IdEntity implements Serializable {
    @CreatedDate
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    @Column(name = "create_time", nullable = true, length = 0,updatable = false)
    @Column(name = "create_time", nullable = false, length = 0,updatable = false)
    public Date getCreateTime() {
        return createTime;
    }

+ 11 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/ActivityDO.java

@ -83,6 +83,9 @@ public class ActivityDO extends IdEntityWithOperation implements Serializable {
    @Transient
    private List<TaskPatientDetailDO> taskPatientDetailDOS;//参与活动详情
    @Transient
    private List<TaskDO> taskDOS;//活动任务列表
    @Transient
    private Long sum;//活动积分总数
@ -264,4 +267,12 @@ public class ActivityDO extends IdEntityWithOperation implements Serializable {
    public void setSum(Long sum) {
        this.sum = sum;
    }
    public List<TaskDO> getTaskDOS() {
        return taskDOS;
    }
    public void setTaskDOS(List<TaskDO> taskDOS) {
        this.taskDOS = taskDOS;
    }
}

+ 22 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/TaskPatientDetailDO.java

@ -48,6 +48,12 @@ public class TaskPatientDetailDO extends IdEntityWithOperation implements Serial
    @Transient
    private AccountDO accountDO;//账户信息
    @Transient
    private int isFlag;//标识是否为当前用户
    @Transient
    private String taskCode;//任务标识
    public String getSaasId() {
        return saasId;
    }
@ -135,4 +141,20 @@ public class TaskPatientDetailDO extends IdEntityWithOperation implements Serial
    public void setUnionId(String unionId) {
        this.unionId = unionId;
    }
    public int getIsFlag() {
        return isFlag;
    }
    public void setIsFlag(int isFlag) {
        this.isFlag = isFlag;
    }
    public String getTaskCode() {
        return taskCode;
    }
    public void setTaskCode(String taskCode) {
        this.taskCode = taskCode;
    }
}

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

@ -1,7 +1,5 @@
package com.yihu.jw.rm.health.bank;
import javax.print.DocFlavor;
/**
 * Created by Trick on 2018/2/7.
 */
@ -20,6 +18,7 @@ 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 batchTask = "/batchTask";
        public static final String selectByCode ="/selectByCode";
        public static final String createTaskDetail = "/createTaskDetail";
        public static final String createTaskRule = "/createTaskRule";
@ -39,6 +38,7 @@ public class HealthBankMapping {
        public static final String createActivity="/createActivity";
        public static final String findActivity="/findActivity";
        public static final String updateActivity="/updateActivity";
        public static final String batchActivity = "/batchActivity";
        public static final String createActivityInfo ="/createActivityInfo";
        public static final String findActivityInfo = "/findActivityInfo";
        public static final String updateActivityInfo ="/updateActivityInfo";

+ 6 - 0
svr/svr-wlyy-health-bank/pom.xml

@ -107,6 +107,12 @@
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-config</artifactId>
        </dependency>
        <!-- redis start  -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-data-redis</artifactId>
        </dependency>
        <!-- redis end  -->
        <dependency>
            <groupId>com.sun.jna</groupId>
            <artifactId>jna</artifactId>

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

@ -144,20 +144,14 @@ public class AccountController extends EnvelopRestController {
    @ApiOperation(value = "按条件获取用户信息")
    public Envelop<AccountDO> select(@RequestBody JSONObject object){
        try{
            JSONArray patientIds = object.getJSONArray("patientIds");
            JSONArray patientIds = object.getJSONArray("patients");
            JSONArray deviceTypes = object.getJSONArray("deviceTypes");
            int bindStatus = object.getInteger("bindStatus");
            String ruleId = object.getString("ruleId");
            Integer page = object.getInteger("page");
            Integer size = object.getInteger("size");
            List<String> patientIds1 = new ArrayList<>();
            for (int i=0;patientIds != null && patientIds.size()!=0&& i<patientIds.size();i++){
                patientIds1.add(patientIds.getString(i));
            }
            List<String> deviceTypes1 = new ArrayList<>();
            for (int i=0;deviceTypes != null && deviceTypes.size()!=0&& i<deviceTypes.size();i++){
                deviceTypes1.add(deviceTypes.getString(i));
            }
            return service.findByCondition1(patientIds1,bindStatus,deviceTypes1,page,size);
            return service.findByCondition1(patientIds,ruleId,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());

+ 24 - 13
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/ActiveRecordController.java

@ -1,17 +1,19 @@
package com.yihu.jw.controller;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.health.bank.ActiveRecordDO;
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.ActiveRecordService;
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.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/**
@ -23,21 +25,30 @@ import org.springframework.web.bind.annotation.RestController;
public class ActiveRecordController extends EnvelopRestController {
    @Autowired
    private ActiveRecordService activeRecordService;
    @Autowired
    private TaskPatientDtailService taskPatientDtailService;
    @PostMapping(value = HealthBankMapping.healthBank.createActiveRecord)
    @ApiOperation(value = "添加健康银行活动活跃记录")
    public Envelop<ActiveRecordDO> addActiveRecord(@ApiParam(name = "saasId",value = "saasId")@RequestParam(value = "saasId",required = true)String saasId,
                                                   @ApiParam(name = "taskId",value = "任务id")@RequestParam(value = "taskId",required = false)String taskId,
                                                   @ApiParam(name = "activityId",value = "账户JSON")@RequestParam(value = "activityId",required = false)String activityId,
                                                   @ApiParam(name = "originalStatus",value = "原有状态")@RequestParam(value = "originalStatus",required = true)Integer originalStatus,
                                                   @ApiParam(name = "currentStatus",value = "当前状态")@RequestParam(value = "currentStatus",required = true)Integer currentStatus,
                                                   @ApiParam(name = "patientId",value = "居民code")@RequestParam(value = "patientId",required = true)String patientId){
    public Envelop<ActiveRecordDO> addActiveRecord(@RequestBody JSONObject object){
        try{
            ActiveRecordDO activeRecordDO = activeRecordService.insert(saasId,taskId,activityId,originalStatus,currentStatus,patientId);
            if(activeRecordDO!=null){
                return Envelop.getSuccess("添加成功",activeRecordDO);
            }else{
                return Envelop.getError("添加失败");
            String openId = object.getString("patientOpenid");
            String idCard = object.getString("patientIdcard");
            String unionId = object.getString("unionId");
            String taskCode = object.getString("taskCode");
            Integer originalStatus = object.getInteger("originalStatus");
            Integer currentStatus = object.getInteger("currentStatus");
            String patientId = object.getString("patientId");
            TaskPatientDetailDO taskPatientDetailDO = taskPatientDtailService.selectByPatientId(openId,idCard,unionId,taskCode);
            if (taskPatientDetailDO == null){
                return Envelop.getError("尚未报名!");
            }else {
                ActiveRecordDO activeRecordDO = activeRecordService.insert(taskPatientDetailDO.getSaasId(),taskPatientDetailDO.getTaskId(),taskPatientDetailDO.getActivityId(),originalStatus,currentStatus,patientId);
                if(activeRecordDO!=null){
                    return Envelop.getSuccess("添加成功",activeRecordDO);
                }else{
                    return Envelop.getError("添加失败");
                }
            }
        }catch (Exception e){
            return Envelop.getError("添加失败");

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

@ -2,6 +2,7 @@ package com.yihu.jw.controller;/**
 * Created by nature of king on 2018/4/27.
 */
import com.alibaba.fastjson.JSONArray;
import com.yihu.jw.entity.health.bank.ActivityDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.restmodel.common.EnvelopRestController;
@ -12,7 +13,13 @@ 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 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 java.util.ArrayList;
import java.util.List;
/**
 * @author wangzhinan
@ -124,5 +131,32 @@ public class ActivityController extends EnvelopRestController{
        }
    }
    /**
     * 批量删除数据
     *
     * @param ids id集合[""]
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.batchActivity)
    @ApiOperation(value = "批量删除活动")
    public Envelop<Boolean> batchDelete(@ApiParam(name="ids",value = "id集合")
                                        @RequestParam(value = "ids",required = false)String ids){
        try{
            Envelop<Boolean> envelop = new Envelop<>();
            JSONArray array = JSONArray.parseArray(ids);
            List<String> activityIds = new ArrayList<>();
            for (int i = 0;i<array.size();i++){
                activityIds.add(array.getString(i));
            }
            service.batchDelete(activityIds);
            envelop.setObj(true);
            return envelop;
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
}

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

@ -180,12 +180,14 @@ public class CreditsDetailController extends EnvelopRestController {
    @ApiOperation(value = "根据活动id查找全部排行")
    public Envelop<TaskPatientDetailDO> selectByActivityRanking1(@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.selectByActivityRanking1(activityId,page,size);
            return service.selectByActivityRanking1(activityId,patientId,page,size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());

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

@ -16,6 +16,9 @@ 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;
/**
 * @author wangzhinan
 * @create 2018-04-27 9:29
@ -120,6 +123,33 @@ public class TaskController extends EnvelopRestController {
    }
    /**
     * 删除任务
     *
     * @param ids id集合[]
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.batchTask)
    @ApiOperation(value = "批量删除任务")
    public Envelop<Boolean> batchDelete(@ApiParam(name="ids",value = "id集合[]")
                                        @RequestParam(value = "ids",required = false)String ids){
        try{
            Envelop<Boolean> envelop = new Envelop<>();
            JSONArray array = JSONArray.parseArray(ids);
            List<String> taskIds = new ArrayList<>();
            for (int i = 0;i<array.size();i++){
                taskIds.add(array.getString(i));
            }
            service.batchDelete(taskIds);
            envelop.setObj(true);
            return envelop;
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return Envelop.getError(e.getMessage());
        }
    }
    /**//**
     * patient find health task

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

@ -4,12 +4,17 @@ package com.yihu.jw.dao;/**
import com.yihu.jw.entity.health.bank.TaskDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * @author wangzhinan
 * @create 2018-05-10 11:17
 * @desc health bank task dao
 **/
public interface TaskDao extends PagingAndSortingRepository<TaskDO,String>,JpaSpecificationExecutor<TaskDO> {
    @Query("select t from TaskDO t where t.transactionId = ?1 and t.type='ACTIVITY_TASK'")
    List<TaskDO> selectByActivityId(String transactionId);
}

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

@ -2,10 +2,18 @@ package com.yihu.jw.dao;
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.data.jpa.repository.Query;
import org.springframework.data.repository.PagingAndSortingRepository;
import java.util.List;
/**
 * Created by wang zhinan on 2018/4/27.
 */
public interface TaskPatientDetailDao extends PagingAndSortingRepository<TaskPatientDetailDO,String>,JpaSpecificationExecutor<TaskPatientDetailDO> {
    @Query("select t from TaskPatientDetailDO t where t.activityId = ?1")
    List<TaskPatientDetailDO> selectByActivityId(String activityId);
    @Query("select t from TaskPatientDetailDO t where taskId = ?1")
    List<TaskPatientDetailDO> selectByTaskId(String taskId);
}

+ 120 - 34
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/AccountService.java

@ -2,14 +2,19 @@ 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.AccountDao;
import com.yihu.jw.dao.TaskRuleDao;
import com.yihu.jw.entity.health.bank.AccountDO;
import com.yihu.jw.entity.health.bank.CreditsDetailDO;
import com.yihu.jw.entity.health.bank.TaskDO;
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
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.DateUtils;
import com.yihu.jw.util.ISqlUtils;
import com.yihu.jw.util.date.DateUtil;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
@ -17,7 +22,9 @@ import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -34,6 +41,8 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
    private AccountDao accountDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    @Autowired
    private TaskRuleDao taskRuleDao;
    /**
     * 添加银行账户信息
@ -63,24 +72,41 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
        List<AccountDO> accountDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(AccountDO.class));
        for (AccountDO accountDO1:accountDOS){
            String sql1 = "select COALESCE(sum(bcd.integrate),0) as total from wlyy_health_bank_credits_detail bcd where bcd.trade_direction = 1" +
                    " AND bcd.create_time > '"+ DateUtils.getDayBegin()+"' AND bcd.create_time < '"+DateUtils.getDayEnd()+"' AND bcd.patient_id = " +
                    " '"+ accountDO1.getPatientId() +"'";
                    " AND bcd.create_time > '"+ DateUtils.getDayBegin()+"' AND bcd.create_time < '"+DateUtils.getDayEnd()+"' AND bcd.patient_id = '" + accountDO1.getPatientId() +"'"
                    +"AND transaction_id = '"+accountDO.getTaskId()+"'";
            List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sql1);
            Long count = 0L;
            if(rstotal!=null&&rstotal.size()>0){
                Object object = rstotal.get(0).get("total");
                count = Long.parseLong(object.toString());
                if (object != null){
                    count = Long.parseLong(object.toString());
                }
            }
            accountDO1.setNowTotal(count);
            String activitySql1 =" SELECT " +
                    " SUM(ptpd.total) AS total FROM wlyy_health_bank_task_patient_detail ptpd " +
                    " WHERE " +" task_id = '" + accountDO.getTaskId() + "' " +
                    "and patient_id = '"+accountDO1.getPatientId()+"'";
            List<Map<String,Object>> rstotal6 = jdbcTemplate.queryForList(activitySql1);
            Long activityIntegrate = 0L;
            if(rstotal6!=null&&rstotal6.size()>0){
                Object object = rstotal6.get(0).get("total");
                if (object!=null){
                    activityIntegrate = Long.parseLong(object.toString());
                }
            }
            accountDO1.setActivityIntegrate(activityIntegrate);
            String activitySql = "SELECT  COUNT(*) AS total FROM ( SELECT * FROM " +
                    "wlyy_health_bank_task_patient_detail " +
                    " WHERE patient_id = '" + accountDO1.getPatientId()+
                    "' GROUP BY activity_id ) btpd1";
                    "'AND activity_id != '' GROUP BY activity_id ) btpd1";
            List<Map<String,Object>> rstotal1 = jdbcTemplate.queryForList(activitySql);
            Long activityCount = 0L;
            if(rstotal1!=null&&rstotal1.size()>0){
                Object object = rstotal1.get(0).get("total");
                activityCount = Long.parseLong(object.toString());
                if (object != null){
                    activityCount = Long.parseLong(object.toString());
                }
            }
            accountDO1.setActivityTotal(activityCount);
            String taskSql = "SELECT  COUNT(*) AS total FROM ( SELECT * FROM " +
@ -91,7 +117,9 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
            Long taskCount = 0L;
            if(rstotal2!=null&&rstotal2.size()>0){
                Object object = rstotal2.get(0).get("total");
                taskCount = Long.parseLong(object.toString());
                if (object != null ){
                    taskCount = Long.parseLong(object.toString());
                }
            }
            accountDO1.setTaskTotal(taskCount);
            if (accountDO.getPatientIds() != null && accountDO.getPatientIds().size() != 0){
@ -103,8 +131,8 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                buffer.deleteCharAt(buffer.length()-1);
                buffer.append(") ");
                String accountSql = "select * from wlyy_health_bank_account where patient_id in "+buffer;
                List<AccountDO> accountDOS1 = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(AccountDO.class));
                if (accountDOS1 != null && accountDOS1.size() !=0){
                List<AccountDO> accountDOSList = jdbcTemplate.query(accountSql,new BeanPropertyRowMapper<>(AccountDO.class));
                if (accountDOSList != null && accountDOSList.size() !=0){
                    String sql2 = " SELECT " +
                            " ba.total + COALESCE (bacd1.sum, 0) AS total " +
                            " FROM " +
@ -125,13 +153,15 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                    Long Count = 0L;
                    if(rstotal3!=null&&rstotal3.size()>0){
                        Object object = rstotal3.get(0).get("total");
                        Count = Long.parseLong(object.toString());
                        if (object!=null){
                            Count = Long.parseLong(object.toString());
                        }
                    }
                    accountDO1.setSum(Count);
                    StringBuffer buffer1 = new StringBuffer();
                    buffer1.append(" (");
                    for (int i=0;i<accountDOS1.size();i++){
                        buffer1.append("'"+accountDOS1.get(i).getId()+"'").append(",");
                    for (int i=0;i<accountDOSList.size();i++){
                        buffer1.append("'"+accountDOSList.get(i).getId()+"'").append(",");
                    }
                    buffer1.deleteCharAt(buffer1.length()-1);
                    buffer1.append(") ");
@ -141,10 +171,10 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                            " ( " +
                            " SELECT " +
                            " ba.id AS id, " +
                            " ba.total + COALESCE (bacd1.sum, 0) AS sum " +
                            " ba.total /*+ COALESCE (bacd1.sum, 0)*/ AS sum " +
                            " FROM " +
                            " wlyy_health_bank_account ba " +
                            " LEFT JOIN ( " +
                            /*" LEFT JOIN ( " +
                            " SELECT " +
                            " COALESCE (SUM(bacd.integrate), 0) AS sum, " +
                            " bacd.account_id " +
@ -153,7 +183,7 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                            " WHERE " +
                            " bacd.trade_direction = - 1 " +
                            " GROUP BY " +
                            " bacd.account_id ) bacd1 ON ba.id = bacd1.account_id " +
                            " bacd.account_id ) bacd1 ON ba.id = bacd1.account_id "+*/
                            " WHERE " +
                            " ba.id IN " +buffer1+
                            " )ba1 WHERE ba1.sum > "+accountDO1.getSum();
@ -161,7 +191,10 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                    Integer Count1 = 0;
                    if(rstotal4!=null&&rstotal4.size()>0){
                        Object object = rstotal4.get(0).get("total");
                        Count1 = Integer.parseInt(object.toString());
                        if (object != null){
                            Count1 = Integer.parseInt(object.toString());
                        }
                    }
                    accountDO1.setTeamRanking(Count1);
@ -171,10 +204,10 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                            " ( " +
                            " SELECT " +
                            " ba.id AS id, " +
                            " ba.total + COALESCE (bacd1.sum, 0) AS sum " +
                            " ba.total /*+ COALESCE (bacd1.sum, 0)*/ AS sum " +
                            " FROM " +
                            " wlyy_health_bank_account ba " +
                            " LEFT JOIN ( " +
                            /*" LEFT JOIN ( " +
                            " SELECT " +
                            " COALESCE (SUM(bacd.integrate), 0) AS sum, " +
                            " bacd.account_id " +
@ -183,13 +216,15 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                            " WHERE " +
                            " bacd.trade_direction = - 1 " +
                            " GROUP BY " +
                            " bacd.account_id ) bacd1 ON ba.id = bacd1.account_id " +
                            " bacd.account_id ) bacd1 ON ba.id = bacd1.account_id " +*/
                            " )ba1 WHERE ba1.sum > "+accountDO1.getSum();
                    List<Map<String,Object>> rstotal5 = jdbcTemplate.queryForList(sql4);
                    Integer Count2 = 0;
                    if(rstotal5!=null&&rstotal5.size()>0){
                        Object object = rstotal5.get(0).get("total");
                        Count2 = Integer.parseInt(object.toString());
                        if (object != null){
                            Count2 = Integer.parseInt(object.toString());
                        }
                    }
                    accountDO1.setCityRanking(Count2);
                }
@ -208,29 +243,80 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
    /**
     * 根据条件活动用户信息
     *
     * @param patientIds 居民id
     * @param bindStatus 绑定状态
     *
     * @param deviceTypes 设备类型
     *
     * @param page 页码
     *
     * @param size 分页大小
     * @return
     */
    public Envelop<AccountDO> findByCondition1(List<String> patientIds ,int bindStatus,List<String> deviceTypes,Integer page,Integer size){
    public Envelop<AccountDO> findByCondition1(JSONArray patients, String ruleId, Integer page, Integer size){
        for (int i=0;i<patients.size();i++){
            String patientId = patients.getJSONObject(i).getString("code");
            String sql = "select * from wlyy_health_bank_account where patient_id = '"+patientId+"'";
            List<AccountDO> accountDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(AccountDO.class));
            if (accountDOS == null || accountDOS.size() == 0) {
                AccountDO accountDO1 = new AccountDO();
                accountDO1.setPatientId(patientId);
                accountDO1.setTotal(0);
                accountDO1.setAccountName(patients.getJSONObject(i).getString("name"));
                accountDO1.setCardNumber(patients.getJSONObject(i).getString("idcard"));
                accountDO1.setHospital("350205");
                accountDO1.setPassword("321321312321");
                accountDO1.setHospitalName("海沧区");
                accountDO1.setCreateTime(new Date());
                accountDO1.setUpdateTime(new Date());
                accountDao.save(accountDO1);
            }
        }
        TaskRuleDO taskRuleDO = taskRuleDao.findOne(ruleId);
        String taskSql = "select * from wlyy_health_bank_task where transaction_id = '"+taskRuleDO.getId()+"'";
        List<TaskDO> taskDOList = jdbcTemplate.query(taskSql,new BeanPropertyRowMapper(TaskDO.class));
        List<String> ids = new ArrayList<>();
        if(taskDOList != null && taskDOList.size() != 0){
            if (taskRuleDO.getPeriod() == 1){
                for (int i = 0;i<patients.size();i++){
                    String patientId = patients.getJSONObject(i).getString("code");
                    String sql = "select * from wlyy_health_bank_task_patient_detail where patient_id = '"+patientId+"' AND task_id = '"+taskDOList.get(0).getId()+"'";
                    List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                    if (taskPatientDetailDOS ==null || taskPatientDetailDOS.size() == 0){
                        ids.add(patientId);
                    }
                }
            }else if (taskRuleDO.getPeriod() == 0){
                for (int i = 0;i<patients.size();i++){
                    String patientId = patients.getJSONObject(i).getString("code");
                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
                    Date date = new Date();
                    String date1 = dateFormat.format(date);
                    String begin = DateUtils.getMinMonthDate(date1);
                    String end = DateUtils.getMaxMonthDate(date1);
                    String sql = "select * from wlyy_health_bank_task_patient_detail where patient_id = '"+patientId+"' AND task_id = '"+taskDOList.get(0).getId()+"' AND create_time > '"+begin+"' AND create_time < '"+end+"'";
                    List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                    if (taskPatientDetailDOS ==null || taskPatientDetailDOS.size() == 0){
                        ids.add(patientId);
                    }
                }
            }
        }else {
            for (int i = 0;i<patients.size();i++){
                String patientId = patients.getJSONObject(i).getString("code");
                ids.add(patientId);
            }
        }
        StringBuffer buffer = new StringBuffer();
        buffer.append(" btpd.patient_id in(");
        if (patientIds == null || patientIds.size() == 0){
        buffer.append("(");
        if (ids == null || ids.size() == 0){
            buffer.append("''");
        }else {
            for (int i=0;i<patientIds.size();i++){
                buffer.append("'"+patientIds.get(i)+"'").append(",");
            for (int i=0;i<ids.size();i++){
                buffer.append("'"+ids.get(i)+"'").append(",");
            }
            buffer.deleteCharAt(buffer.length()-1);
        }
        buffer.append(") ");
        StringBuffer buffer1 = new StringBuffer();
       /* StringBuffer buffer1 = new StringBuffer();//设备类型
        buffer1.append("(");
        if (deviceTypes == null || deviceTypes.size() == 0){
            buffer1.append("''");
@ -252,7 +338,7 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                    "  wlyy_health_bank_task_patient_detail btpd " +
                    " LEFT JOIN wlyy_health_bank_task bt ON bt.id = btpd.task_id WHERE " +
                    " bt.task_code IN "+buffer1 +" and "+buffer+")";
        }
        }*/
        String sql =
                "SELECT ba1.patient_id AS patient_id," +
                        "ba1.account_name AS account_name," +
@ -280,7 +366,7 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                        "cd.trade_direction = - 1" +
                        " GROUP BY " +
                        " cd.patient_id ) cd1 ON cd1.patient_id = ba.patient_id " +
                        " WHERE ba.patient_id IN " + sql1 +
                        " WHERE ba.patient_id IN " + buffer +
                        " ORDER BY" +
                        " ba.create_time DESC " +
                        "LIMIT "+(page-1)*size+","+size +")ba1" +
@ -301,7 +387,7 @@ public class AccountService extends BaseJpaService<AccountDO,AccountDao> {
                " GROUP BY " +
                " cd.patient_id " +
                " ) cd1 ON cd1.patient_id = ba.patient_id " +
                "WHERE ba.patient_id IN " + sql1 +
                "WHERE ba.patient_id IN " + buffer +
                " ORDER BY " +
                " ba.create_time, " +
                " (ba.total + COALESCE(cd1.total,0)) DESC ";

+ 9 - 3
svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/ActiveRecordService.java

@ -22,6 +22,7 @@ import org.springframework.util.StringUtils;
import javax.transaction.Transactional;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -56,6 +57,9 @@ public class ActiveRecordService extends BaseJpaService<ActiveRecordDO,ActiveRec
            activeRecordDO.setTaskId(taskId);
            TaskDO taskDO = taskDao.findOne(taskId);
            activeRecordDO.setTaskTitle(taskDO!=null?taskDO.getTitle():null);
            if(StringUtils.isEmpty(activityId)&&"ACTIVITY_TASK".equals(taskDO.getType())){
                activityId = taskDO.getTransactionId();
            }
        }
        if(!StringUtils.isEmpty(activityId)){
            activeRecordDO.setActivityId(activityId);
@ -71,10 +75,12 @@ public class ActiveRecordService extends BaseJpaService<ActiveRecordDO,ActiveRec
            activeRecordDO.setPatientName(result.get("name")+"");
        }
        String sql2 = "select f.* from wlyy.wlyy_sign_family f where f.patient='"+patientId+"' and f.status=1 and f.expenses_status=1";
        Map<String,Object> result2 = jdbcTemplate.queryForMap(sql2);
        if(result2!=null){
            activeRecordDO.setTeamId(result2.get("admin_team_code")!=null?(Integer)result2.get("admin_team_code"):null);;
//        Map<String,Object> result2 = jdbcTemplate.queryForMap(sql2);
        List<Map<String, Object>> result2 = jdbcTemplate.queryForList(sql2);
        if(result2!=null&&result2.size()>0){
            activeRecordDO.setTeamId(result2.get(0).get("admin_team_code")!=null?(Integer)result2.get(0).get("admin_team_code"):null);;
        }
        activeRecordDO.setCreateTime(new Date());
        return activeRecordDao.save(activeRecordDO);
    }

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

@ -4,18 +4,23 @@ package com.yihu.jw.service;/**
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.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.boot.autoconfigure.couchbase.CouchbaseProperties;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.text.ParseException;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -32,8 +37,13 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
    @Autowired
    private ActivityDao activityDao;
    @Autowired
    private TaskPatientDetailDao taskPatientDetailDao;
    @Autowired
    private TaskDao taskDao;
    @Autowired
    private JdbcTemplate jdbcTemplate;
    /**
     * insert activityDO
     *
@ -81,9 +91,12 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
            }
            activityDO1.setTotal(count);
            String taskSql1 = "select * from wlyy_health_bank_task_patient_detail btpd where activity_id = '"+activityDO1.getId()
                    +"' and patient_openid = '"+activityDO.getOpenId()+"'";
                    +"' and (patient_idcard = '"+activityDO.getPatientIdcard()+"' OR union_id = '"+activityDO.getUnionId()+"')";
            List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(taskSql1,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
            activityDO1.setTaskPatientDetailDOS(taskPatientDetailDOS);
            String tasksql = "select * from wlyy_health_bank_task where transaction_id = '"+activityDO1.getId()+"'";
            List<TaskDO> taskDOList = jdbcTemplate.query(tasksql,new BeanPropertyRowMapper(TaskDO.class));
            activityDO1.setTaskDOS(taskDOList);
        }
        String sqlcount = new ISqlUtils().getSql(activityDO,0,0,"count");
        List<Map<String,Object>> rstotal = jdbcTemplate.queryForList(sqlcount);
@ -172,13 +185,12 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
                    " COUNT(1) AS total1 " +
                    "FROM " +
                    " ( " +
                    " SELECT DISTINCT " +
                    "  (btpd.patient_openid) " +
                    " SELECT * " +
                    "  FROM " +
                    "  wlyy_health_bank_task_patient_detail btpd " +
                    "  WHERE " +
                    "  activity_id = '" +activityDO1.getId()+
                    "' ) btpd1";
                    "' GROUP BY patient_openid,patient_idcard,union_id) btpd1";
            List<Map<String,Object>> rstotal2 = jdbcTemplate.queryForList(taskSql);
            Long count2 = 0L;
            if(rstotal2!=null&&rstotal2.size()>0){
@ -205,4 +217,30 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
        }
        return Envelop.getSuccessListWithPage(HealthBankMapping.api_success,activityDOS,page,size,count);
    }
    /**
     * 批量删除活动
     *
     * @param ids 活动id集合
     * @return
     */
    public Envelop<Boolean> batchDelete(List<String> ids){
        Envelop<Boolean> envelop = new Envelop<>();
        for (int i =0;i<ids.size();i++){
            List<TaskDO> taskDOList = taskDao.selectByActivityId(ids.get(i));
            for (TaskDO taskDO:taskDOList){
                taskDO.setStatus(0);
                taskDao.save(taskDO);
            }
            List<TaskPatientDetailDO> taskPatientDetailDOS = taskPatientDetailDao.selectByActivityId(ids.get(i));
            for(TaskPatientDetailDO taskPatientDetailDO:taskPatientDetailDOS){
                taskPatientDetailDO.setStatus(-1);
                taskPatientDetailDao.save(taskPatientDetailDO);
            }
            ActivityDO activityDO = activityDao.findOne(ids.get(i));
            activityDO.setStatus(-1);
            activityDao.save(activityDO);
        }
        return envelop;
    }
}

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

@ -11,13 +11,18 @@ 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.apache.commons.lang3.StringUtils;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.stereotype.Service;
import javax.transaction.Transactional;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -32,7 +37,9 @@ import java.util.Map;
@Transactional
public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,CredittsLogDetailDao> {
    private Logger logger = LoggerFactory.getLogger(CreditsDetailService.class);
    private static String STEP = "health:blank:step";
    @Autowired
    private CredittsLogDetailDao credittsLogDetailDao;
    @Autowired
@ -47,6 +54,10 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
    private TaskPatientDetailDao taskPatientDetailDao;
    @Autowired
    private TaskRuleDao taskRuleDao;
    @Autowired
    private StringRedisTemplate redisTemplate;
    @Autowired
    private ActiveRecordService activeRecordService;
   /**
     *  find creditsLogInfo
@ -58,7 +69,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
        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() != null && creditsDetailDO1.getTradeType().equalsIgnoreCase("HEALTH_TASK")){
            if (creditsDetailDO1.getTradeType() != null && creditsDetailDO1.getTradeType().equalsIgnoreCase("ACTIVITY_TASK")){
                TaskDO taskDO = taskDao.findOne(creditsDetailDO1.getTransactionId());
                creditsDetailDO1.setTaskDO(taskDO);
            }
@ -149,7 +160,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                        "ba.hospital AS hospital," +
                        "ba.total AS total," +
                        "ba.create_time AS create_time," +
                        "(ba.total +COALESCE((cd1.total),0)) AS sum" +
                        " if(ba.total=0,ba.total,(ba.total +COALESCE((cd1.total),0))) AS sum" +
                        " FROM" +
                        " wlyy_health_bank_account ba" +
                        " LEFT JOIN ( " +
@ -167,7 +178,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                        " ba.create_time DESC " +
                        "LIMIT "+(page-1)*size+","+size +")ba1" +
                        " ORDER BY " +
                        " ba1.sum DESC";
                        " ba1.total DESC";
        List<AccountDO> accountDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(AccountDO.class));
        String sqlCount = "SELECT count(1) AS total"+
                " FROM " +
@ -231,7 +242,9 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                String sql = ISqlUtils.getSql(taskDO,1,1,"*");
                List<TaskDO> taskDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskDO.class));
                creditsDetailDO.setTransactionId(taskDOList.get(0).getId());
                TaskRuleDO taskRuleDO = taskRuleDao.findOne(taskDOList.get(0).getRuleCode());
                String ruleSql = "SELECT * FROM wlyy_health_bank_task_rule WHERE id= '"+taskDOList.get(0).getRuleCode()+"'";
                List<TaskRuleDO> taskRuleDOS = jdbcTemplate.query(ruleSql,new BeanPropertyRowMapper(TaskRuleDO.class));
                TaskRuleDO taskRuleDO = taskRuleDOS.get(0);
                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() +"'";
@ -247,6 +260,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                    taskPatientDetailDO.setStatus(Integer.parseInt("0"));
                    taskPatientDetailDO.setCreateTime(new Date());
                    taskPatientDetailDO.setUpdateTime(new Date());
                    taskPatientDetailDO.setActivityId(taskDOList.get(0).getTransactionId());
                    taskPatientDetailDO.setTotal(Long.parseLong("0"));
                    taskPatientDetailDao.save(taskPatientDetailDO);
                }else if (taskPatientDetailDOS != null && taskDOList.get(0).getPeriod() == 0){
@ -260,6 +274,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                        taskPatientDetailDO.setPatientId(creditsDetailDO.getPatientId());
                        taskPatientDetailDO.setPatientIdcard(creditsDetailDO.getIdCard());
                        taskPatientDetailDO.setPatientOpenid(creditsDetailDO.getOpenId());
                        taskPatientDetailDO.setActivityId(taskDOList.get(0).getTransactionId());
                        taskPatientDetailDO.setStatus(Integer.parseInt("0"));
                        taskPatientDetailDO.setCreateTime(new Date());
                        taskPatientDetailDO.setUpdateTime(new Date());
@ -347,10 +362,10 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                " WHERE " +
                " activity_id = '" + activityId +
                "' GROUP BY " +
                " patient_openid " +
                " patient_id " +
                " ORDER BY ptpd.create_time DESC " +
                " )btpd1 " +
                " WHERE  patient_openid IN "+buffer+
                " WHERE  patient_id IN "+buffer+
                " ORDER BY btpd1.total DESC "+" LIMIT " + (page-1)*size+","+size;
        List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
        for (TaskPatientDetailDO taskPatientDetailDO : taskPatientDetailDOS){
@ -453,7 +468,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
     * @param size 分页大小
     * @return
     */
    public Envelop<TaskPatientDetailDO> selectByActivityRanking1(String activityId,Integer page,Integer size){
    public Envelop<TaskPatientDetailDO> selectByActivityRanking1(String activityId,String patientId,Integer page,Integer size){
        String sql = "SELECT " +
                " * " +
                "FROM " +
@ -475,9 +490,35 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                " )btpd1 " +
                " ORDER BY btpd1.total DESC "+" LIMIT " + (page-1)*size+","+size;
        List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
        for (TaskPatientDetailDO taskPatientDetailDO : taskPatientDetailDOS){
        logger.info(taskPatientDetailDOS.toString()+""+taskPatientDetailDOS.size());
        for (int i = 0;taskPatientDetailDOS != null&&taskPatientDetailDOS.size()!=0 && i<taskPatientDetailDOS.size();i++){
            TaskPatientDetailDO taskPatientDetailDO = taskPatientDetailDOS.get(i);
            String accountSql = "select * from wlyy_health_bank_account where patient_id = '"+taskPatientDetailDO.getPatientId()+"'";
            List<AccountDO> accountDOS = jdbcTemplate.query(accountSql,new BeanPropertyRowMapper(AccountDO.class));
            if (taskPatientDetailDOS.get(i).getPatientId().equalsIgnoreCase(patientId)){
                /*String taskSql = "select count(1)+1 as total from (" +
                        "select *  from (SELECT " +
                        " SUM(ptpd.total) AS total, " +
                        " ptpd.patient_openid AS patient_openid, " +
                        " ptpd.task_id AS task_id, " +
                        " ptpd.activity_id AS activity_id, " +
                        " ptpd.create_time as create_time, " +
                        " ptpd.patient_id AS patient_id " +
                        " FROM " +
                        " wlyy_health_bank_task_patient_detail ptpd " +
                        " WHERE " +
                        " activity_id = '" + activityId + "')ptpd1 where" +
                        " ptpd1.patient_id = '"+patientId+"' AND ptpd1.total > "+taskPatientDetailDOS.get(i).getTotal()+") ptpd2";
                List<Map<String,Object>> rstotal1 = jdbcTemplate.queryForList(taskSql);
                Long count = 0L;
                if(rstotal1!=null&&rstotal1.size()>0){
                    count = (Long) rstotal1.get(0).get("total");
                }
                accountDOS.get(0).setActivityRanking(count);*/
                taskPatientDetailDO.setIsFlag(1);
            }else {
                taskPatientDetailDO.setIsFlag(0);
            }
            taskPatientDetailDO.setAccountDO(accountDOS.get(0));
        }
        String sqlCount =  "SELECT " +
@ -518,7 +559,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
     * @param ruleId 规则id
     * @return
     */
    public Envelop<Boolean> doctorAddIntegrate(JSONArray array, String ruleId, String description){
    public Envelop<Boolean> doctorAddIntegrate(JSONArray array, String ruleId, String description) throws Exception {
        Envelop<Boolean> envelop = new Envelop<>();
        for (int i=0;i<array.size();i++){
            TaskRuleDO taskRuleDO = taskRuleDao.findOne(ruleId);
@ -547,6 +588,24 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
            }else {
                taskDO1 = taskDOList.get(0);
            }
            if (taskRuleDO.getPeriod() == 1){
                    String sql = "select * from wlyy_health_bank_task_patient_detail where patient_id = '"+patientId+"'AND task_id ='"+taskDO1.getId()+"'";
                    List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                    if (taskPatientDetailDOS != null && taskPatientDetailDOS.size() != 0){
                        throw new Exception("已奖励过");
                    }
            }else if (taskRuleDO.getPeriod() == 0){
                    SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
                    Date date = new Date();
                    String date1 = dateFormat.format(date);
                    String begin = DateUtils.getMinMonthDate(date1);
                    String end = DateUtils.getMaxMonthDate(date1);
                    String sql = "select * from wlyy_health_bank_task_patient_detail where patient_id = '"+patientId+"'AND task_id ='"+taskDO1.getId()+"' AND create_time > '"+begin+"' AND create_time < '"+end+"'";
                    List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                    if (taskPatientDetailDOS != null && taskPatientDetailDOS.size() != 0){
                        throw new Exception("已奖励过");
                    }
            }
            String sql1 = "select * from wlyy_health_bank_task_patient_detail where task_id = '"+taskDO1.getId()+"' " +
                    "AND patient_idcard = '"+idCard+"' AND patient_openid = '"+openId+"' AND union_id = '"+unionId+"'";
            List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql1,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
@ -570,29 +629,33 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
            String sql = "select * from wlyy_health_bank_account where patient_id = '"+patientId+"'";
            List<AccountDO> accountDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(AccountDO.class));
            if (taskRuleDO.getTradeDirection() == -1 && taskRuleDO.getIntegrate() == 0){
                String integrateSql = "select * from wlyy_health_bank_credits_detail where patient_id = '"+patientId+"'";
                String integrateSql = "select * from wlyy_health_bank_credits_detail where patient_id = '"+patientId+"' " +
                        "AND transaction_id IN (SELECT id FROM wlyy_health_bank_task WHERE task_code IN ('BP_BIND','GLU_BIND','BP_MEASURE','GLU_MEASURE','RULE'))";
                List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(integrateSql,new BeanPropertyRowMapper(CreditsDetailDO.class));
                for (CreditsDetailDO creditsDetailDO:creditsDetailDOS){
                    creditsDetailDO.setStatus(0);
                    creditsDetailDO.setDescription(description);
                    credittsLogDetailDao.save(creditsDetailDO);
                    CreditsDetailDO creditsDetailDO1 = new CreditsDetailDO();
                    creditsDetailDO1.setStatus(1);
                    creditsDetailDO1.setAccountId(accountDOS.get(0).getId());
                    creditsDetailDO1.setHospital("350205");
                    creditsDetailDO1.setPatientId(patientId);
                    creditsDetailDO1.setIntegrate(taskRuleDO.getIntegrate());
                    creditsDetailDO1.setTradeDirection(taskRuleDO.getTradeDirection());
                    creditsDetailDO1.setDescription(description);
                    creditsDetailDO1.setCreateTime(new Date());
                    creditsDetailDO1.setUpdateTime(new Date());
                    creditsDetailDO1.setTransactionId(taskDO1.getId());
                    creditsDetailDO1.setTradeType("HEALTH_TASK");
                    credittsLogDetailDao.save(creditsDetailDO);
                    AccountDO accountDO = accountDOS.get(0);
                    accountDO.setTotal(0);
                    accountDao.save(accountDO);
                    if (creditsDetailDO.getTradeDirection()==1&&creditsDetailDO.getStatus()!=0){
                        AccountDO accountDO = accountDOS.get(0);
                        int total = accountDO.getTotal() - creditsDetailDO.getIntegrate();
                        creditsDetailDO.setStatus(0);
                        creditsDetailDO.setDescription(description);
                        credittsLogDetailDao.save(creditsDetailDO);
                        accountDO.setTotal(total);
                        accountDao.save(accountDO);
                    }
                }
                CreditsDetailDO creditsDetailDO1 = new CreditsDetailDO();
                creditsDetailDO1.setStatus(1);
                creditsDetailDO1.setAccountId(accountDOS.get(0).getId());
                creditsDetailDO1.setHospital("350205");
                creditsDetailDO1.setPatientId(patientId);
                creditsDetailDO1.setIntegrate(taskRuleDO.getIntegrate());
                creditsDetailDO1.setTradeDirection(taskRuleDO.getTradeDirection());
                creditsDetailDO1.setDescription(description);
                creditsDetailDO1.setCreateTime(new Date());
                creditsDetailDO1.setUpdateTime(new Date());
                creditsDetailDO1.setTransactionId(taskDO1.getId());
                creditsDetailDO1.setTradeType("ACTIVITY_TASK");
                credittsLogDetailDao.save(creditsDetailDO1);
            }else{
                CreditsDetailDO creditsDetailDO = new CreditsDetailDO();
                creditsDetailDO.setStatus(1);
@ -605,17 +668,23 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                creditsDetailDO.setCreateTime(new Date());
                creditsDetailDO.setUpdateTime(new Date());
                creditsDetailDO.setTransactionId(taskDO1.getId());
                creditsDetailDO.setTradeType("HEALTH_TASK");
                creditsDetailDO.setTradeType("ACTIVITY_TASK");
                credittsLogDetailDao.save(creditsDetailDO);
                if (taskRuleDO.getTradeDirection() == -1){
                    AccountDO accountDO = accountDOS.get(0);
                    int total = accountDO.getTotal() - taskRuleDO.getIntegrate();
                    if (total<0){
                        accountDO.setTotal(0);
                    }else {
                        accountDO.setTotal(total);
                    String integrateSql = "select * from wlyy_health_bank_credits_detail where patient_id = '"+patientId+"' " +
                            "AND transaction_id IN (SELECT id FROM wlyy_health_bank_task WHERE task_code IN ('BP_BIND','GLU_BIND','BP_MEASURE','GLU_MEASURE','RULE'))";
                    List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(integrateSql,new BeanPropertyRowMapper(CreditsDetailDO.class));
                    for (CreditsDetailDO creditsDetailDO1:creditsDetailDOS){
                        if (creditsDetailDO1.getTradeDirection()==1&&creditsDetailDO1.getStatus()!=0){
                            AccountDO accountDO = accountDOS.get(0);
                            int total = accountDO.getTotal() - creditsDetailDO1.getIntegrate();
                            creditsDetailDO1.setStatus(0);
                            creditsDetailDO1.setDescription(description);
                            credittsLogDetailDao.save(creditsDetailDO1);
                            accountDO.setTotal(total);
                            accountDao.save(accountDO);
                        }
                    }
                    accountDao.save(accountDO);
                }else if (taskRuleDO.getTradeDirection() == 1){
                    AccountDO accountDO = accountDOS.get(0);
                    accountDO.setTotal(accountDO.getTotal() + taskRuleDO.getIntegrate());
@ -691,10 +760,18 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                        "transaction_id = '"+creditsDetailDO.getTransactionId()+"' AND create_time > '"+DateUtils.getDayBegin() +"' AND" +
                        " create_time < '"+DateUtils.getDayEnd()+"'";
                List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(CreditsDetailDO.class));
                String step = redisTemplate.opsForValue().get(STEP);
                if (StringUtils.isEmpty(step)){
                    throw new Exception("获取步数失败!");
                }
                JSONObject object = JSONObject.parseObject(step);
                int step1 = object.getInteger("step1");
                int step2 = object.getInteger("step2");
                int step3 = object.getInteger("step3");
                if (creditsDetailDOS != null && creditsDetailDOS.size() != 0){
                    CreditsDetailDO creditsDetailDO1 = creditsDetailDOS.get(0);
                    TaskRuleDO taskRuleDO = taskRuleDao.findOne(taskDO.getRuleCode());
                    if (creditsDetailDO.getStepNumber() == 5000){
                    if (creditsDetailDO.getStepNumber() == step1){
                        creditsDetailDO1.setIntegrate(1);
                        creditsDetailDO1.setTradeDirection(1);
                        CreditsDetailDO creditsDetailDO2 = credittsLogDetailDao.save(creditsDetailDO1);
@ -706,7 +783,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                        taskPatientDetailDao.save(taskPatientDetailDO);
                        creditsDetailDOS.clear();
                        creditsDetailDOS.add(creditsDetailDO2);
                    }else if (creditsDetailDO.getStepNumber() == 10000){
                    }else if (creditsDetailDO.getStepNumber() == step2){
                        creditsDetailDO1.setIntegrate(creditsDetailDO1.getIntegrate()+2);
                        creditsDetailDO1.setTradeDirection(1);
                        CreditsDetailDO creditsDetailDO2 = credittsLogDetailDao.save(creditsDetailDO1);
@ -718,33 +795,48 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                        taskPatientDetailDao.save(taskPatientDetailDO);
                        creditsDetailDOS.clear();
                        creditsDetailDOS.add(creditsDetailDO2);
                    }else if (creditsDetailDO.getStepNumber() == 50000){
                        creditsDetailDO1.setIntegrate(creditsDetailDO1.getIntegrate()+5);
                        creditsDetailDO1.setTradeDirection(1);
                        CreditsDetailDO creditsDetailDO2 = credittsLogDetailDao.save(creditsDetailDO1);
                        AccountDO accountDO = accountDao.findOne(creditsDetailDO2.getAccountId());
                        accountDO.setTotal(accountDO.getTotal()+(creditsDetailDO2.getIntegrate()-3));
                        AccountDO accountDO1 = accountDao.save(accountDO);
                        creditsDetailDO2.setTotal(accountDO1.getTotal());
                        taskPatientDetailDO.setTotal(taskPatientDetailDO.getTotal()+(creditsDetailDO2.getIntegrate()-3));
                        creditsDetailDOS.clear();
                        creditsDetailDOS.add(creditsDetailDO2);
                    }else if (creditsDetailDO.getStepNumber() == step3){
                        if (creditsDetailDO1.getIntegrate() == 1){
                            creditsDetailDO1.setIntegrate(creditsDetailDO1.getIntegrate()+7);
                            creditsDetailDO1.setTradeDirection(1);
                            CreditsDetailDO creditsDetailDO2 = credittsLogDetailDao.save(creditsDetailDO1);
                            AccountDO accountDO = accountDao.findOne(creditsDetailDO2.getAccountId());
                            accountDO.setTotal(accountDO.getTotal()+(creditsDetailDO2.getIntegrate()-1));
                            AccountDO accountDO1 = accountDao.save(accountDO);
                            creditsDetailDO2.setTotal(accountDO1.getTotal());
                            taskPatientDetailDO.setTotal(taskPatientDetailDO.getTotal()+(creditsDetailDO2.getIntegrate()-1));
                            taskPatientDetailDao.save(taskPatientDetailDO);
                            creditsDetailDOS.clear();
                            creditsDetailDOS.add(creditsDetailDO2);
                        }else if(creditsDetailDO1.getIntegrate() == 3){
                            creditsDetailDO1.setIntegrate(creditsDetailDO1.getIntegrate()+5);
                            creditsDetailDO1.setTradeDirection(1);
                            CreditsDetailDO creditsDetailDO2 = credittsLogDetailDao.save(creditsDetailDO1);
                            AccountDO accountDO = accountDao.findOne(creditsDetailDO2.getAccountId());
                            accountDO.setTotal(accountDO.getTotal()+(creditsDetailDO2.getIntegrate()-3));
                            AccountDO accountDO1 = accountDao.save(accountDO);
                            creditsDetailDO2.setTotal(accountDO1.getTotal());
                            taskPatientDetailDO.setTotal(taskPatientDetailDO.getTotal()+(creditsDetailDO2.getIntegrate()-3));
                            taskPatientDetailDao.save(taskPatientDetailDO);
                            creditsDetailDOS.clear();
                            creditsDetailDOS.add(creditsDetailDO2);
                        }
                    }
                }else{
                    CreditsDetailDO creditsDetailDO1 = new CreditsDetailDO();
                    if (creditsDetailDO.getStepNumber() == 5000){
                    if (creditsDetailDO.getStepNumber() == step1){
                        creditsDetailDO1.setIntegrate(1);
                        creditsDetailDO1.setTradeDirection(1);
                    }else if (creditsDetailDO.getStepNumber() == 10000){
                    }else if (creditsDetailDO.getStepNumber() == step2){
                        creditsDetailDO1.setIntegrate(3);
                        creditsDetailDO1.setTradeDirection(1);
                    }else if (creditsDetailDO.getStepNumber() == 50000){
                    }else if (creditsDetailDO.getStepNumber() == step3){
                        creditsDetailDO1.setIntegrate(8);
                        creditsDetailDO1.setTradeDirection(1);
                    }
                    creditsDetailDO1.setSaasId("dev");
                    creditsDetailDO1.setTradeType("HEALTH_TASK");
                    creditsDetailDO1.setTradeType("ACTIVITY_TASK");
                    creditsDetailDO1.setPatientId(creditsDetailDO.getPatientId());
                    creditsDetailDO1.setHospital("350205");
                    creditsDetailDO1.setAccountId(creditsDetailDO.getAccountId());
@ -760,6 +852,12 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                    creditsDetailDO2.setTotal(accountDO.getTotal());
                    creditsDetailDOS.add(creditsDetailDO2);
                }
                try{
                    activeRecordService.insert("dev",creditsDetailDOS.get(0).getTransactionId(),null,null,null,creditsDetailDOS.get(0).getPatientId());
                }catch (Exception e){
                    logger.error("插入活跃出错:"+e.getMessage());
                }
                Envelop<CreditsDetailDO> envelop = new Envelop<>();
                envelop.setDetailModelList(creditsDetailDOS);
                return envelop;
@ -770,4 +868,22 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
            return envelop;
        }
    }
  /*  public JSONObject getStepNumber(){
        String step = redisTemplate.opsForValue().get(STEP);
        logger.info("redis数据:"+step);
        String sql = ""
        String step1 = systemDictDao.
        logger.info("数据库的数据:"+step1);
        if (step != null && step.equalsIgnoreCase(step1)){
            JSONObject jsonObject = JSONObject.parseObject(step);
            logger.info("数据不一致:"+jsonObject.toString());
            return jsonObject;
        }else {
            JSONObject jsonObject = JSONObject.parseObject(step);
            redisTemplate.opsForValue().set(STEP,step1);
            logger.info("数据一致:"+jsonObject.toString());
            return jsonObject;
        }
    }*/
}

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

@ -81,8 +81,7 @@ public class TaskPatientDtailService extends BaseJpaService<TaskPatientDetailDO,
        }
        buffer.deleteCharAt(buffer.length()-1);
        buffer.append(")");
        String sql = "select * from wlyy_health_bank_task_patient_detail where patient_openid = '"+taskPatientDetailDO.getPatientOpenid()+"' " +
                "AND patient_idcard = '"+taskPatientDetailDO.getPatientIdcard()+"' AND union_id = '"+taskPatientDetailDO.getUnionId()+"'"+buffer;
        String sql = "select * from wlyy_health_bank_task_patient_detail where patient_openid = '"+taskPatientDetailDO.getPatientOpenid()+"'"+buffer;
        List<TaskPatientDetailDO> taskPatientDetailDOList = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
        if (taskPatientDetailDOList != null && taskPatientDetailDOList.size() !=0){
            throw new Exception("该微信账号已报名过!");
@ -111,5 +110,20 @@ public class TaskPatientDtailService extends BaseJpaService<TaskPatientDetailDO,
        return envelop;
    }
    /**
     * 获取参与活动信息
     *
     * @param openId 微信id
     * @param idCard 身份证号
     * @param unionId
     * @param taskCode 任务标识
     * @return
     */
    public TaskPatientDetailDO selectByPatientId(String openId,String idCard,String unionId,String taskCode){
        String sql ="select * from wlyy_health_bank_task_patient_detail where patient_openid = '"+openId+"'" +
                " AND patient_idcard = '"+idCard+"' AND union_id ='"+unionId+"' AND task_id = " +
                "(select id from wlyy_health_bank_task where task_code = '"+taskCode+"' )";
        List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
        return taskPatientDetailDOS.get(0);
    }
}

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

@ -4,6 +4,8 @@ package com.yihu.jw.service;/**
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.TaskRuleDao;
import com.yihu.jw.entity.health.bank.TaskDO;
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
import com.yihu.jw.entity.health.bank.TaskRuleDO;
import com.yihu.jw.restmodel.common.Envelop;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
@ -79,4 +81,20 @@ public class TaskRuleService extends BaseJpaService<TaskRuleDO,TaskRuleDao>{
        envelop.setObj(true);
        return envelop;
    }
    /**
     *
     * @param ids
     * @return
     */
    public Envelop<Boolean> batchDelete(List<String> ids){
        Envelop<Boolean> envelop = new Envelop<>();
        for (int i =0;i<ids.size();i++){
            TaskRuleDO taskRuleDO = taskRuleDao.findOne(ids.get(i));
            taskRuleDO.setStatus(0);
            taskRuleDao.save(taskRuleDO);
        }
        return envelop;
    }
}

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

@ -205,4 +205,25 @@ public class TaskService extends BaseJpaService<TaskDO,TaskDao>{
       taskDOList.add(taskDO1);
       return taskDOList;
    }*/
    /**
     * 删除任务
     *
     * @param ids taskId集合[]
     * @return
     */
    public Envelop<Boolean> batchDelete(List<String> ids){
        Envelop<Boolean> envelop = new Envelop<>();
        for (int i =0;i<ids.size();i++){
            List<TaskPatientDetailDO> taskPatientDetailDOS = taskPatientDetailDao.selectByTaskId(ids.get(i));
            for(TaskPatientDetailDO taskPatientDetailDO:taskPatientDetailDOS){
                taskPatientDetailDO.setStatus(-1);
                taskPatientDetailDao.save(taskPatientDetailDO);
            }
            TaskDO taskDO = taskDao.findOne(ids.get(i));
            taskDO.setStatus(0);
            taskDao.save(taskDO);
        }
        return envelop;
    }
}

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

@ -30,4 +30,30 @@ public  class DateUtils {
          cal.set(Calendar.SECOND, 59);
          return sdf.format(cal.getTime());
      }
    // 获得当前月--开始日期
    public static String getMinMonthDate(String date) {
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        try {
            calendar.setTime(dateFormat.parse(date));
            calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMinimum(Calendar.DAY_OF_MONTH));
            return dateFormat.format(calendar.getTime());
        } catch (java.text.ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
    // 获得当前月--结束日期
    public static String getMaxMonthDate(String date){
        SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Calendar calendar = Calendar.getInstance();
        try {
            calendar.setTime(dateFormat.parse(date));
            calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
            return dateFormat.format(calendar.getTime());
        }  catch (java.text.ParseException e) {
            e.printStackTrace();
        }
        return null;
    }
}

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

@ -8,6 +8,8 @@ import javax.persistence.Column;
import javax.persistence.Table;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import java.text.SimpleDateFormat;
import java.util.Date;
/**
 * @author wangzhinan
@ -43,16 +45,16 @@ public class ISqlUtils {
                    try {
                        Method m =c.getMethod(getMethodName);
                        value =(Object)m.invoke(object);     //拿到属性的值
                        if(value == null || "".equals(value) || value.equals(Integer.parseInt("0"))){  //如果属性没值,不拼接sql
                        if(value == null || "".equals(value) /*|| value.equals(Integer.parseInt("0"))*/){  //如果属性没值,不拼接sql
                            continue;
                        }
                        else if(value instanceof String){
                            value ="'"+value+"'";
                            value ="'%"+value+"%'";
                        }
                    } catch (Exception e) {
                        e.printStackTrace();
                    }
                    sb.append(" and ").append(columeName +"=" ).append(value+"");
                    sb.append(" and ").append(columeName +" like " ).append(value+"");
                }
        }
        if(isFlag.equalsIgnoreCase("*")){
@ -110,25 +112,32 @@ public class ISqlUtils {
                Column mc = f.getAnnotation(Column.class);
                String columeName = mc.name();
                String name = f.getName();
                Class a= f.getType();
                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 (Date.class.isAssignableFrom(a)){
                        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                        value = sdf.format((Object)m.invoke(object));
                    }else {
                        value = (Object)m.invoke(object);
                    }
                    if (value == null || "".equals(value)||value.equals(Integer.parseInt("0"))){
                        continue;
                    }
                    else if (value instanceof  String){
                        value = "' "+value+"'";
                        value = "'"+value+"'";
                    }
                }catch (Exception e){
                    e.printStackTrace();
                }
                sb.append(columeName + "=").append(value+"");
                sb.append(columeName + "=").append(value+"").append(",");
            }
        }
        sb.deleteCharAt(sb.length()-1);
        JSONObject jsonObject = (JSONObject) JSONObject.toJSON(object);
        sb.append(" where ").append("id = ").append(jsonObject.get("id"));
        sb.append(" where ").append("id = ").append("'"+jsonObject.get("id")+"'");
        return sb.toString();
    }
}

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

@ -3,6 +3,9 @@ server:
  port: 10051
spring:
  jmx:
    default-domain: jkzl_bank
  application:
    name:  svr-wlyy-health-bank  #注册到发现服务的id 如果id一样 eurika会自动做负载
@ -50,7 +53,6 @@ fast-dfs:
---
spring:
  profiles: jwdev
  datasource:
    url: jdbc:mysql://172.19.103.77:3306/wlyy_health_bank?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    username: root
@ -73,6 +75,9 @@ spring:
      password: # Login password.
      proxy.port:  # Proxy port the HTTP client should use.
      proxy.host:  # Proxy host the HTTP client should use.
  redis:
      host: 172.19.103.88 # Redis server host.
      port: 6379 # Redis server port.
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
@ -101,6 +106,9 @@ spring:
      password: # Login password.
      proxy.port:  # Proxy port the HTTP client should use.
      proxy.host:  # Proxy host the HTTP client should use.
  redis:
      host: 172.19.103.88 # Redis server host.
      port: 6379 # Redis server port.
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
@ -126,6 +134,10 @@ spring:
  #     uris: [图片]http://172.19.103.68:9200
      connection-timeout: 60000 # Connection timeout in milliseconds.
      multi-threaded: true # Enable connection requests from multiple execution threads.
  redis:
       host: 59.61.92.90 # Redis server host.
       port: 9054  # Redis server port.
       password: jkzlehr
  #      username: # Login user.
  #      password: # Login password.
  #      proxy.port:  # Proxy port the HTTP client should use.

+ 2 - 2
svr/svr-wlyy-specialist/src/main/resources/application.yml

@ -93,8 +93,8 @@ spring:
  datasource:
    url: jdbc:mysql://172.19.103.85/wlyy_specialist?useUnicode=true&amp;characterEncoding=utf-8&amp;autoReconnect=true
    username: linzhou
    password: linzhou
    username: ssgg
    password: ssgg
fastDFS:
  fastdfs_file_url: http://172.19.103.54:80/
---