Bladeren bron

[CMT]提交

wangzhinan 6 jaren geleden
bovenliggende
commit
7ecc19f48b

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

@ -151,6 +151,9 @@ public class ActivityDO extends UuidIdentityEntityWithOperator implements Serial
    @Transient
    private Integer flag;//标识是否为正在进行的活动 1、正在进行0,还未开始
    @Transient
    private Long nowTotal;//今日积分
    @Column(name = "saas_id")
    public String getSaasId() {
@ -497,6 +500,15 @@ public class ActivityDO extends UuidIdentityEntityWithOperator implements Serial
        this.flag = flag;
    }
    @Transient
    public Long getNowTotal() {
        return nowTotal;
    }
    public void setNowTotal(Long nowTotal) {
        this.nowTotal = nowTotal;
    }
/*
    @Column(name = "del")

+ 24 - 0
common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/CreditsDetailDO.java

@ -100,6 +100,12 @@ public class CreditsDetailDO extends UuidIdentityEntityWithOperator implements S
    @Transient
    private Integer type;//2平台积分,1签约
    @Transient
    private String monday;//一周的星期一
    @Transient
    private String sunday;//一周的星期日
    @Column(name = "saas_id")
@ -354,4 +360,22 @@ public class CreditsDetailDO extends UuidIdentityEntityWithOperator implements S
    public void setType(Integer type) {
        this.type = type;
    }
    @Transient
    public String getMonday() {
        return monday;
    }
    public void setMonday(String monday) {
        this.monday = monday;
    }
    @Transient
    public String getSunday() {
        return sunday;
    }
    public void setSunday(String sunday) {
        this.sunday = sunday;
    }
}

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

@ -80,5 +80,8 @@ public class HealthBankMapping {
        public static final String selectByUnionId="/selectByUnionId";
        public static final String selectNowByUnionId = "/selectNowByUnionId";
        public static final String selectAppletsRanking = "/selectAppletsRanking";
        public static final String share = "/share";
        public static final String weekRewardAndIntegrate = "/weekRewardAndIntegrate";
        public static final String selectWeekReward="/selectWeekReward";
    }
}

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

@ -429,7 +429,7 @@ public class ActivityController extends EnvelopRestEndpoint {
    @PostMapping(value = HealthBankMapping.healthBank.selectAppletsRanking)
    @ApiOperation(value = "小程序-居民积分排行")
    public MixEnvelop selectAppletsRanking(@ApiParam(name="patients",value = "居民code列表")
                                         @RequestParam(value = "patients",required = true)String patients,
                                         @RequestParam(value = "patients",required = false)String patients,
                                         @ApiParam(name="taskId",value = "任务id")
                                         @RequestParam(value = "taskId",required = true)String taskId,
                                         @ApiParam(name="size",value = "展示多少列")

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

@ -346,6 +346,28 @@ public class CreditsDetailController extends EnvelopRestEndpoint {
        }
    }
    /**
     * 分享活动链接获取积分
     * @param creditsDetail
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.share)
    @ApiOperation(value = "分享活动链接获取积分")
    public MixEnvelop<CreditsDetailDO, CreditsDetailDO> share(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
                                                                       @RequestParam(value = "creditsDetail",required = true)String creditsDetail){
        try {
            CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
            List<CreditsDetailDO> creditsDetailDOS = service.share(creditsDetailDO);
            MixEnvelop<CreditsDetailDO,CreditsDetailDO> envelop = new MixEnvelop<>();
            envelop.setDetailModelList(creditsDetailDOS);
            return envelop;
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
    }
    /**
     * 商城积分支付
     *
@ -399,4 +421,58 @@ public class CreditsDetailController extends EnvelopRestEndpoint {
    }
    /**
     * 周奖励-连续/间断
     * @param creditsDetail
     * @param flag 1连续/2间断
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.weekRewardAndIntegrate)
    @ApiOperation(value = "周奖励-连续/间断")
    public MixEnvelop<CreditsDetailDO, CreditsDetailDO> weekRewardAndIntegrate(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
                                                              @RequestParam(value = "creditsDetail",required = true)String creditsDetail,
                                                              @ApiParam(name = "flag",value = "积分记录JSON")
                                                              @RequestParam(value = "flag",required = true)Integer flag){
        try {
            CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
            return service.weekRewardAndIntegrate(creditsDetailDO,flag);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
    }
    /**
     * 查询周奖励
     * @param patient
     * @param taskId
     * @param monday
     * @param sunday
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.selectWeekReward)
    @ApiOperation(value = "查询周奖励")
    public MixEnvelop<CreditsDetailDO, CreditsDetailDO> selectWeekReward(@ApiParam(name = "patient",value = "居民code")
                                                                     @RequestParam(value = "patient",required = false)String patient,
                                                                     @ApiParam(name = "taskId",value = "任务id")
                                                                     @RequestParam(value = "taskId",required = false)String taskId,
                                                                     @ApiParam(name = "monday",value = "本周星期一")
                                                                     @RequestParam(value = "monday",required = false)String monday,
                                                                     @ApiParam(name = "sunday",value = "本周星期日")
                                                                     @RequestParam(value = "sunday",required = false)String sunday){
        try {
            List<CreditsDetailDO> creditsDetailDOS = service.selectWeekReward(patient,taskId,monday,sunday);
            MixEnvelop<CreditsDetailDO,CreditsDetailDO> envelop = new MixEnvelop<>();
            envelop.setDetailModelList(creditsDetailDOS);
            return envelop;
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
    }
}

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

@ -21,4 +21,7 @@ public interface ActivityDao extends PagingAndSortingRepository<ActivityDO,Strin
    @Query("select t from ActivityDO t where t.delFlag=1 order by t.sort ASC")
    List<ActivityDO> selectBySort();
    @Query("select t from ActivityDO t where t.recommended=?1  and t.delFlag=1")
    List<ActivityDO> findByIdAndRecommended(Integer recommended);
}

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

@ -65,9 +65,28 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
    public MixEnvelop<Boolean, Boolean> insert(ActivityDO activityDO,String value1,String value2,String value3,String registrationNumber){
        if (value2 != null && value2 !=""){
            JSONObject object = JSONObject.parseObject(value2);
            activityDO.setActivityOfflineTime(object.getDate("activityOfflineTime"));
            activityDO.setRegistrationTime(object.getDate("registrationTime"));
            activityDO.setDeadLine(object.getDate("deadLine"));
            String activityOfflineTime = object.getString("activityOfflineTime");
            String[] str = activityOfflineTime.split(",");
            if (str.length == 2){
                activityDO.setActivityOfflineTime(DateUtil.strToDate(str[1]));
            }else {
                activityDO.setActivityOfflineTime(DateUtil.strToDate(str[0]));
            }
            String registrationTime = object.getString("registrationTime");
            String[] str1 = registrationTime.split(",");
            if(str1.length==2){
                activityDO.setRegistrationTime(DateUtil.strToDate(str1[1]));
            }else {
                activityDO.setRegistrationTime(DateUtil.strToDate(str1[0]));
            }
            String deadLine = object.getString("deadLine");
            String[] str2 = deadLine.split(",");
            if (str2.length==2){
                activityDO.setDeadLine(DateUtil.strToDate(str2[1]));
            }else {
                activityDO.setDeadLine(DateUtil.strToDate(str2[0]));
            }
        }
        activityDO.setCreateTime(new Date());
        activityDO.setUpdateTime(new Date());
@ -198,9 +217,27 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
        if (StringUtils.isNotBlank(value2)){
            JSONObject object = JSONObject.parseObject(value2);
            activityDO.setActivityOfflineTime(object.getDate("activityOfflineTime"));
            activityDO.setRegistrationTime(object.getDate("registrationTime"));
            activityDO.setDeadLine(object.getDate("deadLine"));
            String activityOfflineTime = object.getString("activityOfflineTime");
            String[] str = activityOfflineTime.split(",");
            if (str.length == 2){
                activityDO.setActivityOfflineTime(DateUtil.strToDate(str[1]));
            }else {
                activityDO.setActivityOfflineTime(DateUtil.strToDate(str[0]));
            }
            String registrationTime = object.getString("registrationTime");
            String[] str1 = registrationTime.split(",");
            if(str1.length==2){
                activityDO.setRegistrationTime(DateUtil.strToDate(str1[1]));
            }else {
                activityDO.setRegistrationTime(DateUtil.strToDate(str1[0]));
            }
            String deadLine = object.getString("deadLine");
            String[] str2 = deadLine.split(",");
            if (str2.length==2){
                activityDO.setDeadLine(DateUtil.strToDate(str2[1]));
            }else {
                activityDO.setDeadLine(DateUtil.strToDate(str2[0]));
            }
        }
        activityDO.setRegistrationNumber(registrationNumber);
        activityDO.setUpdateTime(new Date());
@ -434,8 +471,12 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
        ActivityRuleDO activityRuleDO= activityRuleDao.selectByActivityId(id);
        if("3".equals(type)){
            //推荐
            activityDO.setRecommended(1);
            List<ActivityDO> activityDOS = activityDao.findByIdAndRecommended(1);
            if (activityDOS!=null&& activityDOS.size()>=3){
                throw new Exception("只允许推荐三个!");
            }else {
                activityDO.setRecommended(1);
            }
        }else if("4".equals(type)){
            //取消推荐
            activityDO.setRecommended(0);
@ -445,12 +486,12 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
            activityDO.setStatus(2);
        }else if("0".equals(type)){
            //判断该活动是不是竞走,只能存在一条有效竞走
            if("竞走".equals(activityDO.getType())){
            /*if("竞走".equals(activityDO.getType())){
                List<ActivityDO>  lst=   activityDao.findByIdAndType(activityDO.getType());
                if(null!=lst&&lst.size()>0){
                    throw new Exception("已存在一条上线的竞走活动!");
                }
            }
            }*/
            //上线
            if(null!=activityRuleDO){
                String ruleJson=activityRuleDO.getValue2();
@ -458,11 +499,35 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
//                SimpleDateFormat sdf1 = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
                SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy-MM-dd HH:mm");
                //报名截止时间
                Date registrationTime=(null!=obj.get("registrationTime")? sdf2.parse(obj.get("registrationTime").toString()):null);
                String registrationTime1 = obj.getString("registrationTime");
                String[] str1 = registrationTime1.split(",");
                String s = null;
                if (str1.length==2) {
                    s=str1[1];
                }else {
                    s=str1[0];
                }
                Date registrationTime=(""!=s&&null!=s? sdf2.parse(s):null);
                //参与截止时间
                Date deadLine=(null!=obj.get("deadLine")? sdf2.parse(obj.get("deadLine").toString()):null);
                String deadLine2 = obj.getString("deadLine");
                String[] str2 = deadLine2.split(",");
                String s1= null;
                if (str2.length==2){
                    s1=str2[1];
                }else {
                    s1=str2[0];
                }
                Date deadLine=(null!=s1&&""!=s1? sdf2.parse(s1):null);
                //活动下线时间
                Date activityOfflineTime=(null!=obj.get("activityOfflineTime")? sdf2.parse(obj.get("activityOfflineTime").toString()):null);
                String activityOfflineTime1 = obj.getString("activityOfflineTime");
                String[] str = activityOfflineTime1.split(",");
                String s2= null;
                if (str.length==2){
                    s2=str[1];
                }else {
                    s2=str[0];
                }
                Date activityOfflineTime=(""!=s2&&null!=s2 ? sdf2.parse(s2):null);
                //获取当前时间
                Date now = DateUtil.strToDate(sdf2.format(new Date()),"yyyy-MM-dd HH:mm");
                if(null!=activityOfflineTime&&activityOfflineTime.compareTo(now)<=0){
@ -1110,6 +1175,18 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
            List<TaskDO> taskDOS = taskDao.selectByActivityId(activityDO.getId());
            if (taskDOS!=null&&taskDOS.size()!=0){
                activityDO.setTaskDOS(taskDOS);
                String sqlCount1 = "select sum(integrate) as total  from wlyy_health_bank_credits_detail where transaction_id='"+taskDOS.get(0).getId()+"' and patient_id = '"+patient+"'" +
                        "and create_time >= '"+DateUtils.getDayBegin()+"' and create_time <='"+DateUtils.getDayEnd()+"'";
                List<Map<String,Object>> rstotal1 = jdbcTemplate.queryForList(sqlCount1);
                Long count1 = 0L;
                if(rstotal1!=null&&rstotal1.size()>0){
                    Object count = rstotal1.get(0).get("total");
                    if (count!=null&&count!=""){
                        count1 =Long.parseLong(count.toString()) ;
                    }
                }
                activityDO.setNowTotal(count1);
            }
        }
        String sqlCount ="select count(1) AS total from wlyy_health_bank_activity hba right join wlyy_health_bank_task_patient_detail htpd on htpd.activity_id=hba.id " +
@ -1183,7 +1260,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
        }
        String sql = "SELECT @rownum :=@rownum + 1 AS rank, r.sum, r.patient_id AS patient FROM " +
                "(SELECT@rowNum := 0) b," +
                " (SELECT count(bcd.integrate) AS sum, bcd.patient_id, bcd.create_time FROM wlyy_health_bank_credits_detail bcd\n" +
                " (SELECT count(bcd.integrate) AS sum, bcd.patient_id, bcd.create_time FROM wlyy_health_bank_credits_detail bcd " +
                "WHERE bcd.transaction_id = '"+taskId+"' " +buffer+
                "GROUP BY bcd.patient_id) r ORDER BY r.sum DESC,r.create_time DESC LIMIT 0,"+size;
        List<Map<String,Object>> list = jdbcTemplate.queryForList(sql);

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

@ -1346,6 +1346,69 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
        }
    }
    public List<CreditsDetailDO> share(CreditsDetailDO creditsDetailDO) throws Exception {
        synchronized (creditsDetailDO.getPatientId()) {
            String activityId= creditsDetailDO.getActivityId();
            ActivityRuleDO activityRuleDO = activityRuleDao.selectByActivityId(activityId);
            String sql = "select * from wlyy_health_bank_credits_detail where patient_id ='"+creditsDetailDO.getPatientId()+"' " +
                    "and description ='分享' and status =1 AND transaction_id = '"+creditsDetailDO.getTransactionId()+"'";
            List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(CreditsDetailDO.class));
            List<CreditsDetailDO> creditsDetailDOList = new ArrayList<>();
            if (activityRuleDO != null){
                JSONObject jsonObject = JSONObject.parseObject(activityRuleDO.getValue1());
                Boolean isShare = jsonObject.getBoolean("isshare");
                if (isShare){
                    JSONObject object = jsonObject.getJSONObject("shareData");
                    String sqlAccount = "select * from wlyy_health_bank_account ba where ba.patient_id = '" + creditsDetailDO.getPatientId() + "'";
                    List<AccountDO> accountDOList = jdbcTemplate.query(sqlAccount, new BeanPropertyRowMapper(AccountDO.class));
                    CreditsDetailDO creditsDetailDO1 = new CreditsDetailDO();
                    if (accountDOList != null && accountDOList.size() != 0) {
                        creditsDetailDO1.setAccountId(accountDOList.get(0).getId());
                    }
                    if (creditsDetailDOS!=null&&creditsDetailDOS.size()>=object.getInteger("frequency")){
                        throw new Exception("分享超过"+creditsDetailDOS.size()+"次");
                    }else {
                        creditsDetailDO1.setHospitalName(creditsDetailDO.getHospitalName());
                        creditsDetailDO1.setHospital(creditsDetailDO.getHospital());
                        creditsDetailDO1.setPatientId(creditsDetailDO.getPatientId());
                        creditsDetailDO1.setTradeType("ACTIVITY_TASK");
                        creditsDetailDO1.setDescription("分享");
                        creditsDetailDO1.setSaasId("dev");
                        creditsDetailDO1.setStatus(1);
                        creditsDetailDO1.setCoupon(0);
                        creditsDetailDO1.setTransactionId(creditsDetailDO.getTransactionId());
                        creditsDetailDO1.setCreateTime(new Date());
                        creditsDetailDO1.setUpdateTime(new Date());
                        creditsDetailDO1.setTradeDirection(1);
                        creditsDetailDO1.setIntegrate(object.getInteger("integrate"));
                        CreditsDetailDO creditsDetailDO2 = credittsLogDetailDao.save(creditsDetailDO1);
                        creditsDetailDOList.add(creditsDetailDO2);
                        TaskPatientDetailDO taskPatientDetailDO = new TaskPatientDetailDO();
                        taskPatientDetailDO.setPatientId(creditsDetailDO1.getPatientId());
                        taskPatientDetailDO.setTaskId(creditsDetailDO1.getTransactionId());
                        String taskSql1 = ISqlUtils.getAllSql(taskPatientDetailDO);
                        List<TaskPatientDetailDO> taskPatientDetailDOS1 = jdbcTemplate.query(taskSql1, new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                        TaskPatientDetailDO taskPatientDetailDO1 = taskPatientDetailDOS1.get(0);
                        if (creditsDetailDO1.getTradeDirection() == 1) {
                            taskPatientDetailDO1.setTotal(taskPatientDetailDO1.getTotal() + creditsDetailDO2.getIntegrate());
                        } else if (creditsDetailDO1.getTradeDirection() == -1) {
                            taskPatientDetailDO1.setTotal(taskPatientDetailDO1.getTotal() - creditsDetailDO2.getIntegrate());
                        }
                        taskPatientDetailDao.save(taskPatientDetailDO1);
                        AccountDO accountDO = accountDao.findOne(creditsDetailDO2.getAccountId());
                        if (creditsDetailDO1.getTradeDirection() == 1) {
                            accountDO.setTotal(accountDO.getTotal() + creditsDetailDO2.getIntegrate());
                        } else if (creditsDetailDO1.getTradeDirection() == -1) {
                            accountDO.setTotal(accountDO.getTotal() - creditsDetailDO2.getIntegrate());
                        }
                        accountDao.save(accountDO);
                    }
                }
            }
            return creditsDetailDOList;
        }
    }
    /**
     * 商城积分支付
     * @param patient
@ -1424,5 +1487,127 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
    }
    /**
     *
     * @param creditsDetailDO
     * @param flag 1连续2间断
     * @return
     */
    public MixEnvelop<CreditsDetailDO, CreditsDetailDO> weekRewardAndIntegrate(CreditsDetailDO creditsDetailDO,Integer flag) {
        synchronized (creditsDetailDO.getPatientId()) {
            MixEnvelop<CreditsDetailDO, CreditsDetailDO> envelop = new MixEnvelop<>();
            String sqlAccount = "select * from wlyy_health_bank_account ba where ba.patient_id = '" + creditsDetailDO.getPatientId() + "'";
            List<AccountDO> accountDOList = jdbcTemplate.query(sqlAccount, new BeanPropertyRowMapper(AccountDO.class));
            if (accountDOList != null && accountDOList.size() != 0) {
                creditsDetailDO.setAccountId(accountDOList.get(0).getId());
            }
            if (flag == 1) {
                String creditsSql = "select * from wlyy_health_bank_credits_detail where patient_id = '" + creditsDetailDO.getPatientId() + "' and " +
                        "update_time >= '" + creditsDetailDO.getMonday() + "' AND update_time<='" + creditsDetailDO.getSunday() + "' and description = '周奖励-连续' AND transaction_id = '"+creditsDetailDO.getTransactionId()+"'";
                List<CreditsDetailDO> creditsDetailDOS1 = jdbcTemplate.query(creditsSql, new BeanPropertyRowMapper(CreditsDetailDO.class));
                List<CreditsDetailDO> creditsDetailDOList = new ArrayList<>();
                if (creditsDetailDOS1 == null || creditsDetailDOS1.size() == 0) {
                    creditsDetailDO.setTradeType("ACTIVITY_TASK");
                    creditsDetailDO.setSaasId("dev");
                    creditsDetailDO.setStatus(1);
                    creditsDetailDO.setTransactionId(creditsDetailDO.getTransactionId());
                    creditsDetailDO.setCreateTime(new Date());
                    creditsDetailDO.setUpdateTime(DateUtil.strToDateLong(creditsDetailDO.getSunday()));
                    creditsDetailDO.setTradeDirection(1);
                    creditsDetailDO.setDescription("周奖励-连续");
                    creditsDetailDO.setCoupon(0);
                    CreditsDetailDO creditsDetailDO1 = credittsLogDetailDao.save(creditsDetailDO);
                    creditsDetailDOList.add(creditsDetailDO1);
                    TaskPatientDetailDO taskPatientDetailDO = new TaskPatientDetailDO();
                    taskPatientDetailDO.setPatientId(creditsDetailDO1.getPatientId());
                    taskPatientDetailDO.setTaskId(creditsDetailDO1.getTransactionId());
                    String taskSql1 = ISqlUtils.getAllSql(taskPatientDetailDO);
                    List<TaskPatientDetailDO> taskPatientDetailDOS1 = jdbcTemplate.query(taskSql1, new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                    TaskPatientDetailDO taskPatientDetailDO1 = taskPatientDetailDOS1.get(0);
                    if (creditsDetailDO1.getTradeDirection() == 1) {
                        taskPatientDetailDO1.setTotal(taskPatientDetailDO1.getTotal() + creditsDetailDO1.getIntegrate());
                    } else if (creditsDetailDO1.getTradeDirection() == -1) {
                        taskPatientDetailDO1.setTotal(taskPatientDetailDO1.getTotal() - creditsDetailDO1.getIntegrate());
                    }
                    taskPatientDetailDao.save(taskPatientDetailDO1);
                    AccountDO accountDO = accountDao.findOne(creditsDetailDO1.getAccountId());
                    if (creditsDetailDO1.getTradeDirection() == 1) {
                        accountDO.setTotal(accountDO.getTotal() + creditsDetailDO1.getIntegrate());
                    } else if (creditsDetailDO1.getTradeDirection() == -1) {
                        accountDO.setTotal(accountDO.getTotal() - creditsDetailDO1.getIntegrate());
                    }
                    AccountDO accountDO1 = accountDao.save(accountDO);
                    List<CreditsDetailDO> creditsDetailDOS = new ArrayList<>();
                    for (CreditsDetailDO creditsDetailDO2 : creditsDetailDOList) {
                        creditsDetailDO2.setTotal(accountDO1.getTotal());
                        creditsDetailDO2.setFlag("1");
                        creditsDetailDOS.add(creditsDetailDO2);
                    }
                    envelop.setDetailModelList(creditsDetailDOS);
                    return envelop;
                }else {
                    logger.info("居民:"+creditsDetailDO.getPatientId()+"已领取周奖励-连续");
                }
            }else if (flag==2){
                String creditsSql = "select * from wlyy_health_bank_credits_detail where patient_id = '" + creditsDetailDO.getPatientId() + "' and " +
                        "update_time >= '" +creditsDetailDO.getMonday()+"' AND update_time<='" +creditsDetailDO.getSunday() + "' and description = '周奖励-间断' AND transaction_id = '"+creditsDetailDO.getTransactionId()+"'";
                List<CreditsDetailDO> creditsDetailDOS1 = jdbcTemplate.query(creditsSql, new BeanPropertyRowMapper(CreditsDetailDO.class));
                List<CreditsDetailDO> creditsDetailDOList = new ArrayList<>();
                if (creditsDetailDOS1 == null || creditsDetailDOS1.size() == 0) {
                    creditsDetailDO.setTradeType("ACTIVITY_TASK");
                    creditsDetailDO.setSaasId("dev");
                    creditsDetailDO.setStatus(1);
                    creditsDetailDO.setTransactionId(creditsDetailDO.getTransactionId());
                    creditsDetailDO.setCreateTime(new Date());
                    creditsDetailDO.setUpdateTime(DateUtil.strToDateLong(creditsDetailDO.getSunday()));
                    creditsDetailDO.setTradeDirection(1);
                    creditsDetailDO.setDescription("周奖励-间断");
                    CreditsDetailDO creditsDetailDO1 = credittsLogDetailDao.save(creditsDetailDO);
                    creditsDetailDOList.add(creditsDetailDO1);
                    TaskPatientDetailDO taskPatientDetailDO = new TaskPatientDetailDO();
                    taskPatientDetailDO.setPatientId(creditsDetailDO1.getPatientId());
                    taskPatientDetailDO.setTaskId(creditsDetailDO1.getTransactionId());
                    String taskSql1 = ISqlUtils.getAllSql(taskPatientDetailDO);
                    List<TaskPatientDetailDO> taskPatientDetailDOS1 = jdbcTemplate.query(taskSql1, new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                    TaskPatientDetailDO taskPatientDetailDO1 = taskPatientDetailDOS1.get(0);
                    if (creditsDetailDO1.getTradeDirection() == 1) {
                        taskPatientDetailDO1.setTotal(taskPatientDetailDO1.getTotal() + creditsDetailDO1.getIntegrate());
                    } else if (creditsDetailDO.getTradeDirection() == -1) {
                        taskPatientDetailDO1.setTotal(taskPatientDetailDO1.getTotal() - creditsDetailDO1.getIntegrate());
                    }
                    taskPatientDetailDao.save(taskPatientDetailDO1);
                    AccountDO accountDO = accountDao.findOne(creditsDetailDO1.getAccountId());
                    if (creditsDetailDO1.getTradeDirection() == 1) {
                        accountDO.setTotal(accountDO.getTotal() + creditsDetailDO1.getIntegrate());
                    } else if (creditsDetailDO.getTradeDirection() == -1) {
                        accountDO.setTotal(accountDO.getTotal() - creditsDetailDO1.getIntegrate());
                    }
                    AccountDO accountDO1 = accountDao.save(accountDO);
                    List<CreditsDetailDO> creditsDetailDOS = new ArrayList<>();
                    for (CreditsDetailDO creditsDetailDO2 : creditsDetailDOList) {
                        creditsDetailDO2.setTotal(accountDO1.getTotal());
                        creditsDetailDO2.setFlag("1");
                        creditsDetailDOS.add(creditsDetailDO2);
                    }
                    envelop.setDetailModelList(creditsDetailDOS);
                    return envelop;
                }else {
                    logger.info("居民:"+creditsDetailDO.getPatientId()+"已领取周奖励-间断");
                    envelop.setMessage("居民:"+creditsDetailDO.getPatientId()+"已领取周奖励-间断");
                }
            }
            return envelop;
        }
    }
    public List<CreditsDetailDO> selectWeekReward(String patient,String taskId,String monday,String sunday){
        String creditsSql = "select * from wlyy_health_bank_credits_detail where patient_id = '" + patient + "' and " +
                "update_time >= '" +monday+"' AND update_time<='" + sunday+ "' and ( description = '周奖励-间断' OR description = '周奖励-连续')  AND transaction_id = '"+taskId+"'";
        List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(creditsSql,new BeanPropertyRowMapper<>(CreditsDetailDO.class));
        return creditsDetailDOS;
    }
}

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

@ -3,6 +3,7 @@ server:
  port: 10051
  tomcat:
    max-http-header-size: 102400
    max-http-post-size: -1
spring:
  jmx: