瀏覽代碼

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 年之前
父節點
當前提交
46d3abd403

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

@ -90,6 +90,19 @@ 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;
    /**
     * 活动发布、上线时间
     */
//    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
//    private Date releaseTime;
    /**
     * 实用范围名称
     */
    private String areaName;
    @Transient
@ -254,7 +267,6 @@ public class ActivityDO extends UuidIdentityEntityWithOperator implements Serial
        this.total = total;
    }
    @Column(name = "type")
    public String getType() {
        return type;
    }
@ -449,4 +461,14 @@ public class ActivityDO extends UuidIdentityEntityWithOperator implements Serial
    public void setDel(Integer del) {
        this.del = del;
    }*/
//    public Date getReleaseTime() {
//        return releaseTime;
//    }
//
//    public void setReleaseTime(Date releaseTime) {
//        this.releaseTime = releaseTime;
//    }
}

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

@ -38,8 +38,12 @@ public class HealthBankMapping {
        public static final String selectByPatient = "/selectByPatient";
        public static final String createActivity="/createActivity";
        public static final String findActivity="/findActivity";
        public static final String pageActivity="/pageActivity";
        public static final String updateActivity="/updateActivity";
        public static final String editActivity="/editActivity";
        public static final String findActivityById="/findActivityById";
        public static final String batchActivity = "/batchActivity";
        public static final String daleteActivity = "/daleteActivity";
        public static final String createActivityInfo ="/createActivityInfo";
        public static final String findActivityInfo = "/findActivityInfo";
        public static final String updateActivityInfo ="/updateActivityInfo";

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

@ -6,20 +6,23 @@ import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.entity.health.bank.ActivityDO;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
import com.yihu.jw.restmodel.web.PageEnvelop;
import com.yihu.jw.restmodel.web.endpoint.EnvelopRestEndpoint;
import com.yihu.jw.rm.health.bank.HealthBankMapping;
import com.yihu.jw.service.ActivityService;
import com.yihu.jw.util.date.DateUtil;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.cloud.sleuth.Tracer;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
@ -204,6 +207,122 @@ public class ActivityController extends EnvelopRestEndpoint {
        }
    }
    /**
     * 删除数据
     *
     * @param id 活动id
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.daleteActivity)
    @ApiOperation(value = "删除活动")
    public MixEnvelop<Boolean, Boolean> daleteActivity(@ApiParam(name="id",value = "id集合")
                                                    @RequestParam(value = "id",required = false)String id){
        try{
            MixEnvelop<Boolean, Boolean> envelop = new MixEnvelop<>();
            service.daleteActivity(id);
            envelop.setObj(true);
            return envelop;
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return MixEnvelop.getError(e.getMessage());
        }
    }
    /**
     * 编辑活动:上下线、推荐
     *
     * @param id
     * @param type
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.editActivity)
    @ApiOperation(value = "编辑活动:上下线、推荐")
    public ObjEnvelop<ActivityDO> editActivity(
            @ApiParam(name = "id", value = "活动id")
            @RequestParam(value = "id", required = true) String id,
            @ApiParam(name = "type", value = "操作类型:上线:0,下线:2,推荐:3,取消推荐:4")
            @RequestParam(value = "type", required = true) String type) {
        try {
            ActivityDO activityDO=service.editActivity(id, type);
            return  ObjEnvelop.getSuccess("操作成功!",activityDO);
        } catch (Exception e) {
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return ObjEnvelop.getError(e.getMessage());
        }
    }
    /**
     * 编辑活动:上下线、推荐
     *
     * @param id
     * @return
     */
    @PostMapping(value = HealthBankMapping.healthBank.findActivityById)
    @ApiOperation(value = "根据id获取活动详情+活动规则")
    public ObjEnvelop<JSONObject> findActivityById(
            @ApiParam(name = "id", value = "活动id")
            @RequestParam(value = "id", required = true) String id) {
        try {
            JSONObject activityDO=service.findActivityById(id);
            return  ObjEnvelop.getSuccess("获取成功!",activityDO);
        } catch (Exception e) {
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return ObjEnvelop.getError("获取失败!"+e.getMessage());
        }
    }
    @PostMapping(value = HealthBankMapping.healthBank.pageActivity)
    @ApiOperation(value = "分页查询活动")
    public PageEnvelop<ActivityDO> pageActivity(@ApiParam(name = "status", value = "活动状态:1上线,2下线")
                                               @RequestParam(value = "status", required = false) String status,
                                               @ApiParam(name = "crowdType", value = "人群类型:1:签约居民、2平台用户")
                                               @RequestParam(value = "crowdType", required = false) String crowdType,
                                               @ApiParam(name = "releaseTime", value = "下线开始时间")
                                               @RequestParam(value = "releaseTime", required = false) String releaseTime,
                                               @ApiParam(name = "activityOfflineTime", value = "下线结束时间")
                                               @RequestParam(value = "activityOfflineTime", required = false) String activityOfflineTime,
                                               @ApiParam(name = "filter", value = "活动名、发布机构、面向范围名称")
                                               @RequestParam(value = "filter", required = false) String filter,
                                               @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{
            StringBuffer stringBuffer=new StringBuffer();
            stringBuffer.append("delFlag=1;");
            if (StringUtils.isNotEmpty(filter)) {
                stringBuffer.append("title?").append(filter).append(" g1;").append("organizer?").append(filter).append(" g1;").append("areaName?").append(filter).append(" g1;");
            }
            if (null != status && "2".equals(status) ) {
                stringBuffer.append("status=2;");
            } else if (null != status && "1".equals(status) ) {
                stringBuffer.append("status<2;");
            }
            if(null!=crowdType&&StringUtils.isNotBlank(crowdType)){
                stringBuffer.append("crowdType="+crowdType+";");
            }
            if(StringUtils.isNotBlank(releaseTime)){
                stringBuffer.append("activityOfflineTime>="+releaseTime+" 00:00:00;");
            }
            if(StringUtils.isNotBlank(activityOfflineTime)){
                stringBuffer.append("activityOfflineTime<="+ activityOfflineTime+" 59:59:59;");
            }
            String sorts="-createTime";
            List<ActivityDO> activityDOList = service.search("", stringBuffer.toString(), sorts, page, size);
            int count = (int) service.getCount(stringBuffer.toString());
            return success(activityDOList, count, page, size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return PageEnvelop.getError("获取失败"+e.getMessage(),-1);
        }
    }

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

@ -7,11 +7,14 @@ import com.alibaba.fastjson.JSONObject;
import com.yihu.jw.dao.*;
import com.yihu.jw.entity.health.bank.*;
import com.yihu.jw.restmodel.web.MixEnvelop;
import com.yihu.jw.restmodel.web.ObjEnvelop;
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 com.yihu.mysql.query.BaseJpaService;
import javafx.scene.input.InputMethodTextRun;
import org.apache.commons.lang.time.DateFormatUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.BeanPropertyRowMapper;
@ -23,6 +26,7 @@ import javax.print.DocFlavor;
import javax.transaction.Transactional;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Map;
@ -69,6 +73,9 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
        }
        activityDO.setCreateTime(new Date());
        activityDO.setUpdateTime(new Date());
//        if (1 == activityDO.getStatus()) {
//            activityDO.setReleaseTime(new Date());
//        }
        activityDO.setDelFlag(1);
      /*  activityDO.setDel(1);*/
        activityDO= activityDao.save(activityDO);
@ -187,6 +194,9 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
        ActivityRuleDO activityRuleDO = activityRuleDao.selectByActivityId(activityDO.getId());
        activityRuleDO.setUpdateTime(new Date());
        activityRuleDO.setSaasId("dev");
//        if (1 == activityDO.getStatus()) {
//            activityDO.setReleaseTime(new Date());
//        }
        activityRuleDO.setValue1(value1);
        activityRuleDO.setValue2(value2);
        activityRuleDO.setValue3(value3);
@ -321,8 +331,10 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
                taskPatientDetailDao.save(taskPatientDetailDO);
            }
            ActivityRuleDO ruleDO = activityRuleDao.selectByActivityId(ids.get(i));
            ruleDO.setDelFlag(0);
            activityRuleDao.save(ruleDO);
            if(null!=ruleDO){
                ruleDO.setDelFlag(0);
                activityRuleDao.save(ruleDO);
            }
            ActivityDO activityDO = activityDao.findOne(ids.get(i));
            activityDO.setStatus(-1);
            activityDO.setCreateTime(new Date());
@ -333,6 +345,118 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
        return envelop;
    }
    /**
     * 删除活动
     *
     * @param id 活动id
     * @return
     */
    public MixEnvelop<Boolean, Boolean> daleteActivity(String id){
        MixEnvelop<Boolean, Boolean> envelop = new MixEnvelop<>();
            List<TaskDO> taskDOList = taskDao.selectByActivityId(id);
            for (TaskDO taskDO:taskDOList){
                taskDO.setStatus(0);
                taskDO.setCreateTime(new Date());
                taskDO.setUpdateTime(new Date());
                taskDao.save(taskDO);
            }
            List<TaskPatientDetailDO> taskPatientDetailDOS = taskPatientDetailDao.selectByActivityId(id);
            for(TaskPatientDetailDO taskPatientDetailDO:taskPatientDetailDOS){
                taskPatientDetailDO.setStatus(-1);
                taskPatientDetailDO.setCreateTime(new Date());
                taskPatientDetailDO.setUpdateTime(new Date());
                taskPatientDetailDao.save(taskPatientDetailDO);
            }
            ActivityRuleDO ruleDO = activityRuleDao.selectByActivityId(id);
            if(null!=ruleDO){
                ruleDO.setDelFlag(0);
                activityRuleDao.save(ruleDO);
            }
            ActivityDO activityDO = activityDao.findOne(id);
            activityDO.setStatus(-1);
            activityDO.setCreateTime(new Date());
            activityDO.setUpdateTime(new Date());
            activityDO.setDelFlag(0);
            activityDao.save(activityDO);
        return envelop;
    }
    /**
     * 编辑活动:上、下线,推荐
     * @param id
     * @param type 操作类型:上线:0,下线:2,推荐:3,取消推荐:4
     * @return
     * @throws Exception
     */
    public ActivityDO editActivity(String id, String type) throws Exception {
        ActivityDO activityDO = activityDao.findOne(id);
        ActivityRuleDO activityRuleDO= activityRuleDao.selectByActivityId(id);
        if("3".equals(type)){
            //推荐
            activityDO.setRecommended(1);
        }else if("4".equals(type)){
            //取消推荐
            activityDO.setRecommended(0);
        }
        else if("2".equals(type)){
            //下线
            activityDO.setStatus(2);
        }else if("1".equals(type)){
            //上线
            String ruleJson=null!=activityRuleDO?activityRuleDO.getValue2():"";
            JSONObject obj=JSONObject.parseObject(ruleJson);
            SimpleDateFormat sdf= new SimpleDateFormat("yyyy-MM-dd HH:mm");
            //报名截止时间
            Date registrationTime=null!=obj.get("registrationTime")? sdf.parse(obj.get("registrationTime").toString()):null;
            //参与截止时间
            Date deadLine=null!=obj.get("deadLine")? sdf.parse(obj.get("deadLine").toString()):null;
            //活动下线时间
            Date activityOfflineTime=null!=obj.get("activityOfflineTime")? sdf.parse(obj.get("activityOfflineTime").toString()):null;
            //获取当前时间
            Date now = DateUtil.strToDate(sdf.format(new Date()),"yyyy-MM-dd HH:mm");
            if(activityOfflineTime.compareTo(now)<=0){
                //活动下线
                activityDO.setStatus(2);
            }else if(activityOfflineTime.compareTo(now)>0 && deadLine.compareTo(now)<=0){
                //活动结束
                activityDO.setStatus(-1);
            }else if(deadLine.compareTo(now)>0&&registrationTime.compareTo(now)<=0){
                //活动未结束
                activityDO.setStatus(0);
            }else if (registrationTime.compareTo(now)>1){
                //报名未截止
                activityDO.setStatus(1);
            }
        }
//        activityDO.setReleaseTime(new Date());
        activityDO=  activityDao.save(activityDO);
        return activityDO;
    }
    /**
     * 根据活动id获取活动详情+规则
     * @param id
     * @return
     * @throws Exception
     */
    public JSONObject findActivityById(String id)throws Exception{
        JSONObject obj=new JSONObject();
        ActivityDO activityDO = activityDao.findOne(id);
        obj.put("jsonData",activityDO);
        ActivityRuleDO activityRuleDO=new ActivityRuleDO();
        if(null!=activityDO){
            activityRuleDO= activityRuleDao.selectByActivityId(id);
            activityDO.setActivityRuleDO(activityRuleDO);
        }
        obj.put("value1",activityRuleDO.getValue1());
        obj.put("value2",activityRuleDO.getValue2());
        obj.put("value3",activityRuleDO.getValue3());
        return obj;
    }
    /**
     * 活动排名

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

@ -1,6 +1,8 @@
##如果有配置服务的话,远程服务器和本地服务器配置不一致的情况下,优先远程的为主  git上 svr-base ->  git application ->本地 appliction ->本地 bootstarp
server:
  port: 10051
  tomcat:
    max-http-header-size: 102400
spring:
  jmx: