Browse Source

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

humingfen 6 years ago
parent
commit
90ee85d130

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

@ -38,6 +38,9 @@ public class TaskRuleDO extends IdEntityWithOperation implements Serializable{
    @Column(name = "java_class_path")
    private String javaClassPath;//java反射类路径
    @Column(name = "period")
    private int period;//周期性
    public String getSaasId() {
        return saasId;
@ -102,4 +105,12 @@ public class TaskRuleDO extends IdEntityWithOperation implements Serializable{
    public void setJavaClassPath(String javaClassPath) {
        this.javaClassPath = javaClassPath;
    }
    public int getPeriod() {
        return period;
    }
    public void setPeriod(int period) {
        this.period = period;
    }
}

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

@ -197,14 +197,10 @@ public class CreditsDetailController extends EnvelopRestController {
    @ApiOperation(value = "添加积分记录")
    public Envelop<Boolean> doctorAddIntegrate(@RequestBody JSONObject object){
        try {
            JSONArray array = object.getJSONArray("patientIds");
            JSONArray array = object.getJSONArray("patient");
            String ruleId = object.getString("ruleId");
            String description = object.getString("description");
            List<String> ids = new ArrayList<>();
            for (int i=0;array != null && array.size()!=0&& i<array.size();i++){
                ids.add(array.getString(i));
            }
            return service.doctorAddIntegrate(ids,ruleId,description);
            return service.doctorAddIntegrate(array,ruleId,description);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());

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

@ -2,6 +2,8 @@ package com.yihu.jw.service;/**
 * Created by nature of king on 2018/4/27.
 */
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.base.mysql.query.BaseJpaService;
import com.yihu.jw.dao.*;
import com.yihu.jw.entity.health.bank.*;
@ -212,7 +214,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                    accountDO1.setPatientId(creditsDetailDO.getPatientId());
                    accountDO1.setTotal(0);
                    accountDO1.setAccountName(creditsDetailDO.getName());
                    accountDO1.setCardNumber("jw");
                    accountDO1.setCardNumber(creditsDetailDO.getIdCard());
                    accountDO1.setHospital("350205");
                    accountDO1.setPassword("321321312321");
                    accountDO1.setHospitalName("海沧区");
@ -241,6 +243,7 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                    taskPatientDetailDO.setPatientId(creditsDetailDO.getPatientId());
                    taskPatientDetailDO.setPatientIdcard(creditsDetailDO.getIdCard());
                    taskPatientDetailDO.setPatientOpenid(creditsDetailDO.getOpenId());
                    taskPatientDetailDO.setUnionId(creditsDetailDO.getUnionId());
                    taskPatientDetailDO.setStatus(Integer.parseInt("0"));
                    taskPatientDetailDO.setCreateTime(new Date());
                    taskPatientDetailDO.setUpdateTime(new Date());
@ -510,18 +513,62 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
    /**
     * 医生主动加分
     *
     * @param patientIds 病人id
     * @param array 居民信息集合
     *
     * @param ruleId 规则id
     * @return
     */
    public Envelop<Boolean> doctorAddIntegrate(List<String> patientIds,String ruleId,String description){
    public Envelop<Boolean> doctorAddIntegrate(JSONArray array, String ruleId, String description){
        Envelop<Boolean> envelop = new Envelop<>();
        for (int i=0;i<patientIds.size();i++){
            String patientId = patientIds.get(i);
        for (int i=0;i<array.size();i++){
            TaskRuleDO taskRuleDO = taskRuleDao.findOne(ruleId);
            JSONObject object = array.getJSONObject(i);
            String patientId = object.getString("code");
            String idCard = object.getString("idcard");
            String unionId = object.getString("unionid");
            String openId = object.getString("openid");
            String taskSql = "select * from wlyy_health_bank_task bt where type = 'RULE_TASK' AND transaction_id = '"+ruleId +"'";
            List<TaskDO> taskDOList = jdbcTemplate.query(taskSql,new BeanPropertyRowMapper(TaskDO.class));
            TaskDO taskDO1 = new TaskDO();
            if (taskDOList.isEmpty() && taskDOList.size() == 0){
                TaskDO taskDO = new TaskDO();
                taskDO.setTransactionId(taskRuleDO.getId());
                taskDO.setTaskCode("RULE");
                taskDO.setStatus(1);
                taskDO.setRuleCode(taskRuleDO.getId());
                taskDO.setType("RULE_TASK");
                taskDO.setCreateTime(new Date());
                taskDO.setUpdateTime(new Date());
                taskDO.setPeriod(taskRuleDO.getPeriod());
                taskDO.setSaasId("dev");
                taskDO.setTitle(taskRuleDO.getDescription());
                taskDO.setContent(taskRuleDO.getDescription());
                taskDO1 = taskDao.save(taskDO);
            }else {
                taskDO1 = taskDOList.get(0);
            }
            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));
            TaskPatientDetailDO taskPatientDetailDO1 = new TaskPatientDetailDO();
            if (taskPatientDetailDOS.isEmpty() && taskPatientDetailDOS.size() == 0){
                TaskPatientDetailDO taskPatientDetailDO = new TaskPatientDetailDO();
                taskPatientDetailDO.setStatus(1);
                taskPatientDetailDO.setTotal(Long.parseLong("0"));
                taskPatientDetailDO.setPatientId(patientId);
                taskPatientDetailDO.setPatientOpenid(openId);
                taskPatientDetailDO.setPatientIdcard(idCard);
                taskPatientDetailDO.setUnionId(unionId);
                taskPatientDetailDO.setSaasId("dev");
                taskPatientDetailDO.setCreateTime(new Date());
                taskPatientDetailDO.setUpdateTime(new Date());
                taskPatientDetailDO.setTaskId(taskDO1.getId());
                taskPatientDetailDO1 = taskPatientDetailDao.save(taskPatientDetailDO);
            }else {
                taskPatientDetailDO1 = taskPatientDetailDOS.get(0);
            }
            String sql = "select * from wlyy_health_bank_account where patient_id = '"+patientId+"'";
            List<AccountDO> accountDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper(AccountDO.class));
            TaskRuleDO taskRuleDO = taskRuleDao.findOne(ruleId);
            if (taskRuleDO.getTradeDirection() == -1 && taskRuleDO.getIntegrate() == 0){
                String integrateSql = "select * from wlyy_health_bank_credits_detail where patient_id = '"+patientId+"'";
                List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(integrateSql,new BeanPropertyRowMapper(CreditsDetailDO.class));
@ -529,6 +576,19 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                    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);
@ -544,6 +604,8 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                creditsDetailDO.setDescription(description);
                creditsDetailDO.setCreateTime(new Date());
                creditsDetailDO.setUpdateTime(new Date());
                creditsDetailDO.setTransactionId(taskDO1.getId());
                creditsDetailDO.setTradeType("HEALTH_TASK");
                credittsLogDetailDao.save(creditsDetailDO);
                if (taskRuleDO.getTradeDirection() == -1){
                    AccountDO accountDO = accountDOS.get(0);
@ -621,14 +683,14 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                    creditsDetailDO.setAccountId(accountDOS.get(0).getId());
                }
                TaskDO taskDO = taskDao.findOne(creditsDetailDO.getTransactionId());
                String sql1 = "select * from wlyy_health_bank_task_patient_detail where patient_openid = '"+creditsDetailDO.getOpenId()+"' " +
                String sql1 = "select *  from wlyy_health_bank_task_patient_detail where patient_openid = '"+creditsDetailDO.getOpenId()+"' " +
                        "AND patient_idcard = '"+creditsDetailDO.getIdCard()+"' AND union_id = '"+creditsDetailDO.getUnionId()+"' AND task_id = '"+creditsDetailDO.getTransactionId()+"'";
                List<TaskPatientDetailDO> taskPatientDetailDOList = jdbcTemplate.query(sql1,new BeanPropertyRowMapper(TaskPatientDetailDO.class));
                TaskPatientDetailDO taskPatientDetailDO = taskPatientDetailDOList.get(0);
                String sql = "select * from wlyy_health_bank_credits_detail where patient_id = '"+creditsDetailDO.getPatientId()+"' AND " +
                        "transaction_id = '"+creditsDetailDO.getTransactionId()+"' AND create_time > '"+DateUtils.getDayBegin() +"' AND" +
                        " create_time < '"+DateUtils.getDayEnd()+"'";
                List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>());
                List<CreditsDetailDO> creditsDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(CreditsDetailDO.class));
                if (creditsDetailDOS != null && creditsDetailDOS.size() != 0){
                    CreditsDetailDO creditsDetailDO1 = creditsDetailDOS.get(0);
                    TaskRuleDO taskRuleDO = taskRuleDao.findOne(taskDO.getRuleCode());
@ -638,28 +700,34 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                        CreditsDetailDO creditsDetailDO2 = credittsLogDetailDao.save(creditsDetailDO1);
                        AccountDO accountDO = accountDao.findOne(creditsDetailDO2.getAccountId());
                        accountDO.setTotal(accountDO.getTotal()+creditsDetailDO2.getIntegrate());
                        accountDao.save(accountDO);
                        AccountDO accountDO1 = accountDao.save(accountDO);
                        creditsDetailDO2.setTotal(accountDO1.getTotal());
                        taskPatientDetailDO.setTotal(taskPatientDetailDO.getTotal()+creditsDetailDO2.getIntegrate());
                        taskPatientDetailDao.save(taskPatientDetailDO);
                        creditsDetailDOS.clear();
                        creditsDetailDOS.add(creditsDetailDO2);
                    }else if (creditsDetailDO.getStepNumber() == 10000){
                        creditsDetailDO1.setIntegrate(creditsDetailDO1.getIntegrate()+3);
                        creditsDetailDO1.setIntegrate(creditsDetailDO1.getIntegrate()+2);
                        creditsDetailDO1.setTradeDirection(1);
                        CreditsDetailDO creditsDetailDO2 = credittsLogDetailDao.save(creditsDetailDO1);
                        AccountDO accountDO = accountDao.findOne(creditsDetailDO2.getAccountId());
                        accountDO.setTotal(accountDO.getTotal()+(creditsDetailDO2.getIntegrate()-1));
                        accountDao.save(accountDO);
                        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 (creditsDetailDO.getStepNumber() == 50000){
                        creditsDetailDO1.setIntegrate(creditsDetailDO1.getIntegrate()+4);
                        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));
                        accountDao.save(accountDO);
                        AccountDO accountDO1 = accountDao.save(accountDO);
                        creditsDetailDO2.setTotal(accountDO1.getTotal());
                        taskPatientDetailDO.setTotal(taskPatientDetailDO.getTotal()+(creditsDetailDO2.getIntegrate()-3));
                        creditsDetailDOS.clear();
                        creditsDetailDOS.add(creditsDetailDO2);
                    }
                }else{
@ -672,21 +740,24 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
                        creditsDetailDO1.setIntegrate(3);
                        creditsDetailDO1.setTradeDirection(1);
                    }else if (creditsDetailDO.getStepNumber() == 50000){
                        creditsDetailDO1.setIntegrate(7);
                        creditsDetailDO1.setIntegrate(8);
                        creditsDetailDO1.setTradeDirection(1);
                    }
                    creditsDetailDO1.setSaasId("dev");
                    creditsDetailDO1.setTradeType("HEALTH_TASK");
                    creditsDetailDO1.setPatientId(creditsDetailDO.getPatientId());
                    creditsDetailDO1.setHospital("350205");
                    creditsDetailDO1.setAccountId(creditsDetailDO1.getAccountId());
                    creditsDetailDO1.setAccountId(creditsDetailDO.getAccountId());
                    creditsDetailDO1.setStatus(1);
                    creditsDetailDO1.setCreateTime(new Date());
                    creditsDetailDO1.setUpdateTime(new Date());
                    creditsDetailDO1.setTransactionId(taskPatientDetailDO.getTaskId());
                    CreditsDetailDO creditsDetailDO2 = credittsLogDetailDao.save(creditsDetailDO1);
                    AccountDO accountDO = accountDao.findOne(creditsDetailDO2.getAccountId());
                    accountDO.setTotal(accountDO.getTotal()+creditsDetailDO2.getIntegrate());
                    taskPatientDetailDO.setTotal(taskPatientDetailDO.getTotal()+creditsDetailDO2.getIntegrate());
                    taskPatientDetailDao.save(taskPatientDetailDO);
                    creditsDetailDO2.setTotal(accountDO.getTotal());
                    creditsDetailDOS.add(creditsDetailDO2);
                }
                Envelop<CreditsDetailDO> envelop = new Envelop<>();

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

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