Просмотр исходного кода

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

# Conflicts:
#	common/common-entity/src/main/java/com/yihu/jw/entity/health/bank/ActivityDO.java
#	svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/controller/ActivityController.java
#	svr/svr-wlyy-health-bank/src/main/java/com/yihu/jw/service/ActivityService.java
wangzhinan 6 лет назад
Родитель
Сommit
bfcf660d51

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

@ -90,10 +90,10 @@ public class ActivityDO extends UuidIdentityEntityWithOperator implements Serial
    private Integer del;//1有效0无效*/
    @Column(name = "del_flag")
    private Integer delFlag;//1有效0无效
    /**
  /*  *//**
     * 通用模板code
     */
    private String globelTemplate;
     *//*
    private String globelTemplate;*/
    /**
     * 活动发布、上线时间
     */

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

@ -77,6 +77,9 @@ public class TaskPatientDetailDO extends UuidIdentityEntityWithOperator implemen
    @Transient
    private List<ExchangeGoodsDO> exchangeGoodsDO;//兑换商品
    @Transient
    private ActivityDO activityDO ;//活动实体
    public String getSaasId() {
        return saasId;
    }
@ -248,4 +251,13 @@ public class TaskPatientDetailDO extends UuidIdentityEntityWithOperator implemen
    public void setExchangeGoodsDO(List<ExchangeGoodsDO> exchangeGoodsDO) {
        this.exchangeGoodsDO = exchangeGoodsDO;
    }
    @Transient
    public ActivityDO getActivityDO() {
        return activityDO;
    }
    public void setActivityDO(ActivityDO activityDO) {
        this.activityDO = activityDO;
    }
}

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

@ -70,5 +70,7 @@ public class HealthBankMapping {
        public static final String patientGetInteger = "/patientGetInteger";
        public static final String selectActivityRanking = "/selectActivityRanking";
        public static final String selectByPatientAndDate = "/selectByPatientAndDate";
        public static final String selectTaskAndPatients = "/selectTaskAndPatients";
        public static final String shareIntegrate = "/shareIntegrate";
    }
}

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

@ -327,5 +327,24 @@ public class CreditsDetailController extends EnvelopRestEndpoint {
    }
    /**
     * 分享获取积分
     * @param creditsDetail
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.shareIntegrate)
    @ApiOperation(value = "分享获取积分")
    public MixEnvelop<CreditsDetailDO, CreditsDetailDO> shareIntegrate(@ApiParam(name = "creditsDetail",value = "积分记录JSON")
                                                                   @RequestParam(value = "creditsDetail",required = true)String creditsDetail){
        try {
            CreditsDetailDO creditsDetailDO = toEntity(creditsDetail,CreditsDetailDO.class);
            return service.shareIntegrate(creditsDetailDO);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
    }
}

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

@ -67,7 +67,7 @@ public class ExchangeGoodsController extends EnvelopRestEndpoint {
     */
    @PostMapping(value = HealthBankMapping.healthBank.exchangeGoods)
    @ApiOperation(value = "兑换奖品")
    public MixEnvelop<Boolean, Boolean> exchangeGoods(@ApiParam(name = "exchangeGoods",value = "兑换商品JSON")
    public MixEnvelop<ExchangeGoodsDO, ExchangeGoodsDO> exchangeGoods(@ApiParam(name = "exchangeGoods",value = "兑换商品JSON")
                                                                         @RequestParam(value = "exchangeGoods",required = false)String exchangeGoods){
        try{
            ExchangeGoodsDO exchangeGoodsDO = toEntity(exchangeGoods,ExchangeGoodsDO.class);

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

@ -10,6 +10,8 @@ import com.yihu.jw.service.TaskPatientDtailService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import net.bytebuddy.agent.builder.AgentBuilder;
import org.apache.catalina.LifecycleState;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.PostMapping;
@ -17,6 +19,8 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
 * @author wangzhinan
 * @create 2018-06-11 10:37
@ -52,5 +56,29 @@ public class TaskPatientDetailController extends EnvelopRestEndpoint {
        }
    }
    /**
     *
     * @param page
     * @param size
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.selectTaskAndPatients)
    @ApiOperation(value = "获取居民活动")
    public MixEnvelop<TaskPatientDetailDO,TaskPatientDetailDO> select(@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){
        MixEnvelop<TaskPatientDetailDO,TaskPatientDetailDO> envelop =new MixEnvelop<>();
        try {
            List<TaskPatientDetailDO> taskPatientDetailDOS = service.select(page,size);
            envelop.setDetailModelList(taskPatientDetailDOS);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
        return envelop;
    }
}

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

@ -170,6 +170,8 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
                taskGoodsDO.setExchangeGoodsDO(exchangeGoodsDO);
            }
            activityDO1.setTaskGoodsDOS(taskGoodsDOS);
            ActivityRuleDO activityRuleDO = activityRuleDao.selectByActivityId(activityDO1.getId());
            activityDO1.setActivityRuleDO(activityRuleDO);
            activityDO1.setTaskDOS(taskDOList);
        }
        String sqlcount = new ISqlUtils().getSql(activityDO,0,0,"count");
@ -531,6 +533,10 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
            count = (Long) rstotal1.get(0).get("total");
        }
        Long countTotal = 0L;
        if ((count-2)>=0){
            countTotal = (count-2);
        }
        //排名前一个积分
        String rankingSql9 = "SELECT btpd1.sum as total FROM (SELECT " +
                " SUM(total) AS sum , " +
@ -541,7 +547,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
                "GROUP BY patient_id )btpd1 " +
                "WHERE " +
                " btpd1.activity_id = '"+activityDO.getId()+"' AND btpd1.sum >= (SELECT SUM(s.total) as total " +
                "FROM  wlyy_health_bank_task_patient_detail s WHERE s.patient_id ='"+patient+"' AND  s.activity_id='"+activityId+"') limit "+(count-2)+",1" ;
                "FROM  wlyy_health_bank_task_patient_detail s WHERE s.patient_id ='"+patient+"' AND  s.activity_id='"+activityId+"') limit "+countTotal+",1" ;
        List<Map<String,Object>> rstotal9 = jdbcTemplate.queryForList(rankingSql9);
        Integer total = 0;
        if(rstotal9!=null&&rstotal9.size()>0){
@ -555,7 +561,30 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
            total1 = Integer.parseInt( rstotal10.get(0).get("total").toString());
        }
        //活动劵前一个积分
        //总活动劵的排名
        String rankingSql2 = "SELECT count(1)+1 AS total FROM (SELECT " +
                " SUM(coupon_total) AS sum , " +
                " patient_id, " +
                " activity_id " +
                "FROM " +
                " wlyy_health_bank_task_patient_detail " +
                "GROUP BY patient_id )btpd1 " +
                "WHERE " +
                " btpd1.activity_id = '"+activityDO.getId()+"' AND btpd1.sum >= (SELECT SUM(s.coupon_total) as couponTotal " +
                "FROM  wlyy_health_bank_task_patient_detail s WHERE s.patient_id ='"+patient+"' AND  s.activity_id='"+activityId+"')" ;
        List<Map<String,Object>> rstotal2 = jdbcTemplate.queryForList(rankingSql2);
        Long count2 = 0L;
        if(rstotal2!=null&&rstotal2.size()>0){
            count2 = (Long) rstotal2.get(0).get("total");
        }
        Long countTotal1 = 0L;
        if ((count2-2)>=0){
            countTotal1=(count2-2);
        }
        //活动劵前一个活动劵
        String rankingSql10 = "SELECT btpd1.sum as total FROM (SELECT " +
                " SUM(coupon_total) AS sum , " +
                " patient_id, " +
@ -565,7 +594,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
                "GROUP BY patient_id )btpd1 " +
                "WHERE " +
                " btpd1.activity_id = '"+activityDO.getId()+"' AND btpd1.sum >= (SELECT SUM(s.total) as total " +
                "FROM  wlyy_health_bank_task_patient_detail s WHERE s.patient_id ='"+patient+"' AND  s.activity_id='"+activityId+"') limit "+(count-2)+",1" ;
                "FROM  wlyy_health_bank_task_patient_detail s WHERE s.patient_id ='"+patient+"' AND  s.activity_id='"+activityId+"') limit "+countTotal1+",1" ;
        List<Map<String,Object>> totalSql10 = jdbcTemplate.queryForList(rankingSql10);
        Integer total2 = 0;
        if(totalSql10!=null&&totalSql10.size()>0){
@ -578,24 +607,6 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
        if(totalSql11!=null&&totalSql11.size()>0){
            total3 = Integer.parseInt(totalSql11.get(0).get("total").toString());
        }
        //总活动劵的排名
        String rankingSql2 = "SELECT count(1)+1 AS total FROM (SELECT " +
                " SUM(coupon_total) AS sum , " +
                " patient_id, " +
                " activity_id " +
                "FROM " +
                " wlyy_health_bank_task_patient_detail " +
                "GROUP BY patient_id )btpd1 " +
                "WHERE " +
                " btpd1.activity_id = '"+activityDO.getId()+"' AND btpd1.sum >= (SELECT SUM(s.coupon_total) as couponTotal " +
                "FROM  wlyy_health_bank_task_patient_detail s WHERE s.patient_id ='"+patient+"' AND  s.activity_id='"+activityId+"')" ;
        List<Map<String,Object>> rstotal2 = jdbcTemplate.queryForList(rankingSql2);
        Long count2 = 0L;
        if(rstotal2!=null&&rstotal2.size()>0){
            count2 = (Long) rstotal2.get(0).get("total");
        }
        //活动劵
        //街道排名
        String rankingSql3 = "SELECT count(1)+1 AS total FROM (SELECT " +

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

@ -1151,8 +1151,10 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
        creditsDetailDO.setStatus(1);
        if (type == 2){
            creditsDetailDO.setCoupon(creditsDetailDO.getCoupon());
        }else if (type==1||type==3){
            creditsDetailDO.setIntegrate(null);
        }else if (type==1){
            creditsDetailDO.setIntegrate(creditsDetailDO.getCoupon());
            creditsDetailDO.setCoupon(null);
        }
        creditsDetailDO.setSaasId("dev");
        creditsDetailDO.setTradeType("ACTIVITY_TASK");
@ -1256,5 +1258,65 @@ public class CreditsDetailService extends BaseJpaService<CreditsDetailDO,Creditt
    }
    /**
     * 分享获取积分
     *
     * @param creditsDetailDO
     * @return
     */
    public MixEnvelop<CreditsDetailDO, CreditsDetailDO> shareIntegrate(CreditsDetailDO creditsDetailDO) {
        try {
            synchronized (creditsDetailDO.getPatientId()) {
                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());
                }
                String creditsSql = "select * from wlyy_health_bank_credits_detail where patient_id = '" + creditsDetailDO.getPatientId() + "' and description = '周奖励'";
                List<CreditsDetailDO> creditsDetailDOS1 = jdbcTemplate.query(creditsSql, new BeanPropertyRowMapper(CreditsDetailDO.class));
                List<CreditsDetailDO> creditsDetailDOList = new ArrayList<>();
                MixEnvelop<CreditsDetailDO, CreditsDetailDO> envelop = new MixEnvelop<>();
                if (creditsDetailDOS1 == null || creditsDetailDOS1.size() == 0) {
                    creditsDetailDO.setTradeType("ACTIVITY_TASK");
                    creditsDetailDO.setDescription("分享");
                    creditsDetailDO.setSaasId("dev");
                    creditsDetailDO.setStatus(1);
                    creditsDetailDO.setTransactionId(creditsDetailDO.getTransactionId());
                    creditsDetailDO.setCreateTime(new Date());
                    creditsDetailDO.setUpdateTime(new Date());
                    creditsDetailDO.setTradeDirection(1);
                    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());
                    }
                    accountDao.save(accountDO);
                    envelop.setDetailModelList(creditsDetailDOList);
                }else {
                    envelop.setDetailModelList(creditsDetailDOS1);
                }
                return envelop;
            }
        } catch (Exception e) {
            e.printStackTrace();
            MixEnvelop<CreditsDetailDO, CreditsDetailDO> envelop = new MixEnvelop<>();
            return envelop;
        }
    }
}

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

@ -51,8 +51,8 @@ public class ExchangeGoodsService extends BaseJpaService<ExchangeGoodsDO,Exchang
     * @param exchangeGoodsDO
     * @return
     */
    public MixEnvelop<Boolean,Boolean> insert(ExchangeGoodsDO exchangeGoodsDO) throws Exception {
       MixEnvelop<Boolean,Boolean> envelop = new MixEnvelop<>();
    public MixEnvelop<ExchangeGoodsDO,ExchangeGoodsDO> insert(ExchangeGoodsDO exchangeGoodsDO) throws Exception {
       MixEnvelop<ExchangeGoodsDO,ExchangeGoodsDO> envelop = new MixEnvelop<>();
       TaskGoodsDO taskGoodsDO = taskGoodsDao.selectById(exchangeGoodsDO.getActivityGoodsId());
       AccountDO accountDO = accountDao.selectByPatientId(exchangeGoodsDO.getPatientId());
       TaskPatientDetailDO taskPatientDetailDO = taskPatientDetailDao.selectByActivityIdAndPatientId(taskGoodsDO.getActivityId(),exchangeGoodsDO.getPatientId());
@ -80,6 +80,7 @@ public class ExchangeGoodsService extends BaseJpaService<ExchangeGoodsDO,Exchang
       exchangeGoodsDO.setSaasId("dev");
       exchangeGoodsDO.setStatus(1);
       exchangeGoodsDO = exchangeGoodsDao.save(exchangeGoodsDO);
       envelop.setObj(exchangeGoodsDO);
       CreditsDetailDO creditsDetailDO = new CreditsDetailDO();
       creditsDetailDO.setCoupon(exchangeGoodsDO.getCoupon());
       creditsDetailDO.setIntegrate(exchangeGoodsDO.getIntegrate());

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

@ -6,10 +6,7 @@ import com.yihu.jw.dao.AccountDao;
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.AccountDO;
import com.yihu.jw.entity.health.bank.TaskDO;
import com.yihu.jw.entity.health.bank.TaskPatientDetailDO;
import com.yihu.jw.entity.health.bank.TaskRangDO;
import com.yihu.jw.entity.health.bank.*;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.util.ISqlUtils;
@ -159,4 +156,24 @@ public class TaskPatientDtailService extends BaseJpaService<TaskPatientDetailDO,
        logger.info("参与信息:"+taskPatientDetailDOS);
        return taskPatientDetailDOS.get(0);
    }
    /**
     * 获取参与详情
     *
     * @param page
     * @param size
     * @return
     */
    public List<TaskPatientDetailDO> select(Integer page,Integer size){
        String sql ="SELECT * FROM `wlyy_health_bank_task_patient_detail` btpd " +
                "GROUP BY btpd.activity_id, btpd.patient_id ORDER BY btpd.create_time limit "+(page-1)*size+","+size;
        List<TaskPatientDetailDO> taskPatientDetailDOS = jdbcTemplate.query(sql,new BeanPropertyRowMapper<>(TaskPatientDetailDO.class));
        for (TaskPatientDetailDO taskPatientDetailDO : taskPatientDetailDOS){
            ActivityDO activityDO = activityDao.selectById(taskPatientDetailDO.getActivityId());
            taskPatientDetailDO.setActivityDO(activityDO);
        }
        return taskPatientDetailDOS;
    }
}

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

@ -32,6 +32,7 @@ public class ISqlUtils {
        if (object1.getString("id") !=null){
            sb.append(" and id = '" + object1.getString("id")+"' ");
        }
        Boolean flag = false;
        Field[] fArray= c.getDeclaredFields();
        for(Field f:fArray){
                //拿到字段后与实体类中的属性匹配,并得到其get方法,用来获取他的属性值
@ -40,6 +41,9 @@ public class ISqlUtils {
                if(isCExist){
                    Column mc =f.getAnnotation(Column.class);
                    String columeName =mc.name();  //字段对应数据库名字
                    if (columeName.equals("recommended")){
                        flag = true;
                    }
                    String name =f.getName();       //字段名字
                    Class a= f.getType();          //字段类型
                    Object value=null;              //字段值
@ -83,7 +87,11 @@ public class ISqlUtils {
            sb.append(" and end_time <= '"+endTime+"'");
        }
        if(isFlag.equalsIgnoreCase("*")){
            sb.append(" ORDER BY create_time DESC ").append("LIMIT ").append((page-1)*size+",").append(size);
            if (flag){
                sb.append(" ORDER BY  recommended DESC ").append("LIMIT ").append((page-1)*size+",").append(size);
            }else {
                sb.append(" ORDER BY create_time DESC ").append("LIMIT ").append((page-1)*size+",").append(size);
            }
        }
        return sb.toString();
    }