Browse Source

健康活动列表查询

zdm 6 years ago
parent
commit
ac5c8cefda

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

@ -88,6 +88,15 @@ public class ActivityDO extends UuidIdentityEntityWithOperator implements Serial
     * 通用模板code
     */
    private String globelTemplate;
    /**
     * 活动发布、上线时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+08:00")
    private Date releaseTime;
    /**
     * 实用范围名称
     */
    private String areaName;
    @Transient
@ -388,4 +397,20 @@ public class ActivityDO extends UuidIdentityEntityWithOperator implements Serial
    public void setGlobelTemplate(String globelTemplate) {
        this.globelTemplate = globelTemplate;
    }
    public Date getReleaseTime() {
        return releaseTime;
    }
    public void setReleaseTime(Date releaseTime) {
        this.releaseTime = releaseTime;
    }
    public String getAreaName() {
        return areaName;
    }
    public void setAreaName(String areaName) {
        this.areaName = areaName;
    }
}

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

@ -38,6 +38,7 @@ 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";

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

@ -3,21 +3,21 @@ package com.yihu.jw.controller;/**
 */
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 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.util.ArrayList;
import java.util.List;
@ -183,7 +183,7 @@ public class ActivityController extends EnvelopRestEndpoint {
    public ObjEnvelop<ActivityDO> editActivity(
            @ApiParam(name = "id", value = "活动id")
            @RequestParam(value = "id", required = true) String id,
            @ApiParam(name = "type", value = "操作类型:上线:0,下线:2,推荐:3")
            @ApiParam(name = "type", value = "操作类型:上线:0,下线:2,推荐:3,取消推荐:4")
            @RequestParam(value = "type", required = true) String type) {
        try {
            ActivityDO activityDO=service.editActivity(id, type);
@ -203,11 +203,11 @@ public class ActivityController extends EnvelopRestEndpoint {
     */
    @PostMapping(value = HealthBankMapping.healthBank.findActivityById)
    @ApiOperation(value = "根据id获取活动详情+活动规则")
    public ObjEnvelop<ActivityDO> findActivityById(
    public ObjEnvelop<JSONObject> findActivityById(
            @ApiParam(name = "id", value = "活动id")
            @RequestParam(value = "id", required = true) String id) {
        try {
            ActivityDO activityDO=service.findActivityById(id);
            JSONObject activityDO=service.findActivityById(id);
            return  ObjEnvelop.getSuccess("获取成功!",activityDO);
        } catch (Exception e) {
            e.printStackTrace();
@ -216,6 +216,55 @@ public class ActivityController extends EnvelopRestEndpoint {
        }
    }
    @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();
            if (StringUtils.isNotEmpty(filter)) {
                stringBuffer.append("title?").append(filter).append(" g1;").append("organizer?").append(filter).append(" g1;").append("areaName?").append(filter).append(" g1;");
                stringBuffer.append(filter).append("delFlag=1;");
            } else {
                stringBuffer.append("delFlag=1;");
            }
            if (null != status && "2".equals(status) ) {
                stringBuffer.append("status=2;");
            } else {
                stringBuffer.append("status<2;");
            }
            if(null!=crowdType&&StringUtils.isNotBlank(crowdType)){
                stringBuffer.append("crowdType="+crowdType+";");
            }
            if(StringUtils.isNotBlank(releaseTime)){
                stringBuffer.append("releaseTime="+releaseTime+";");
            }
            if(StringUtils.isNotBlank(activityOfflineTime)){
                stringBuffer.append("activityOfflineTime="+activityOfflineTime+";");
            }
            String sorts="-createTime";
            List<ActivityDO> activityDOList = service.search("", stringBuffer.toString(), sorts, page, size);
            int count = (int) service.getCount(filter);
            return success(activityDOList, count, page, size);
        }catch (Exception e){
            e.printStackTrace();
            tracer.getCurrentSpan().logEvent(e.getMessage());
            return PageEnvelop.getError("获取失败"+e.getMessage(),-1);
        }
    }

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

@ -67,6 +67,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= activityDao.save(activityDO);
        ActivityRuleDO activityRuleDO = new ActivityRuleDO();
@ -145,6 +148,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);
@ -294,7 +300,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
    /**
     * 编辑活动:上、下线,推荐
     * @param id
     * @param type 操作类型:上线:0,下线:2,推荐:3
     * @param type 操作类型:上线:0,下线:2,推荐:3,取消推荐:4
     * @return
     * @throws Exception
     */
@ -305,7 +311,11 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
            //推荐
            activityDO.setRecommended(1);
        }else if("2".equals(type)){
        }else if("4".equals(type)){
            //取消推荐
            activityDO.setRecommended(0);
        }
        else if("2".equals(type)){
            //下线
            activityDO.setStatus(2);
        }else if("1".equals(type)){
@ -336,7 +346,7 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
                activityDO.setStatus(1);
            }
        }
        activityDO.setReleaseTime(new Date());
        activityDO=  activityDao.save(activityDO);
        return activityDO;
    }
@ -347,13 +357,19 @@ public class ActivityService extends BaseJpaService<ActivityDO,ActivityDao> {
     * @return
     * @throws Exception
     */
    public ActivityDO findActivityById(String id)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 activityRuleDO= activityRuleDao.selectByActivityId(id);
            activityRuleDO= activityRuleDao.selectByActivityId(id);
            activityDO.setActivityRuleDO(activityRuleDO);
        }
        return activityDO;
        obj.put("value1",activityRuleDO.getValue1());
        obj.put("value2",activityRuleDO.getValue2());
        obj.put("value3",activityRuleDO.getValue3());
        return obj;
    }