Commit 830a07ab by 梅存智

活动优化

parent 4e9acb03
...@@ -4,6 +4,43 @@ public enum TrEnrollStatusEnum { ...@@ -4,6 +4,43 @@ public enum TrEnrollStatusEnum {
NO_ENROLL(10,"无需报名"), NO_ENROLL(10,"无需报名"),
FREE_ENROLL(20,"免费报名"), FREE_ENROLL(20,"免费报名"),
PAY_ENROLL(30,"收费报名"), PAY_ENROLL(30,"收费报名"),
/**
* 活动待开始
*/
ACT_WAIT_START(0,"待开始"),
/**
* 活动待报名
*/
ACT_WAIT_ENROLL(1,"待报名"),
/**
* 活动待签到
*/
ACT_WAIT_SIGN(2,"待签到"),
/**
* 活动报名
*/
ACT_ENROLL(3,"报名"),
/**
* 活动签到
*/
ACT_SIGN(4,"签到"),
/**
* 活动进行中
*/
ACT_RUN(5,"进行中"),
/**
* 活动已结束
*/
ACT_END(6,"已结束"),
/**
* 活动未报名
*/
ACT_NO_ENROLL(7,"未报名"),
/**
* 活动未签到
*/
ACT_NO_SIGN(8,"未签到")
; ;
private Integer code; private Integer code;
......
...@@ -2,12 +2,18 @@ package com.yizhi.training.application.feign; ...@@ -2,12 +2,18 @@ package com.yizhi.training.application.feign;
import org.springframework.cloud.openfeign.FeignClient; import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
@FeignClient(name = "trainingProject", contextId = "TpEnrollPassedClient") @FeignClient(name = "trainingProject", contextId = "TpEnrollPassedClient")
public interface TpEnrollPassedClient { public interface TpEnrollPassedClient {
@GetMapping("/TpStudentEnrollPassedVo/selectTpIdByCondition") @GetMapping("/TpStudentEnrollPassed/selectTpIdByCondition")
Long selectTpIdByCondition(@RequestParam(value = "tpProjrctId")Long tpProjrctId); Long selectTpIdByCondition(@RequestParam(value = "tpProjrctId")Long tpProjrctId);
@RequestMapping(value="/TpStudentEnrollPassed/insertTpStudentEnrollPassed", method=RequestMethod.GET)
Long insertTpStudentEnrollPassed(@RequestParam(value = "projrctId") Long projrctId, @RequestParam(value = "enrollId") Long enrollId);
} }
package com.yizhi.training.application.feign; package com.yizhi.training.application.feign;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.yizhi.core.application.vo.DroolsVo; import com.yizhi.core.application.vo.DroolsVo;
import com.yizhi.training.application.model.BaseModel; import com.yizhi.training.application.model.BaseModel;
import com.yizhi.training.application.param.TrainingProjectParam; import com.yizhi.training.application.param.TrainingProjectParam;
import com.yizhi.training.application.vo.api.*; import com.yizhi.training.application.vo.api.CalendarTaskParamVo;
import com.yizhi.training.application.vo.api.HotEnrollListVo;
import com.yizhi.training.application.vo.api.HotEnrollParamVo;
import com.yizhi.training.application.vo.api.MyPageVO;
import com.yizhi.training.application.vo.api.TrainingProjectDetailVo;
import com.yizhi.training.application.vo.api.TrainingProjectListVo;
import com.yizhi.training.application.vo.api.TrainingProjectMyParamVo;
import com.yizhi.training.application.vo.api.TrainingProjectParamVo;
import com.yizhi.training.application.vo.api.TrainingProjectVoPortalVo;
import com.yizhi.training.application.vo.domain.TpAuthorizationRangeVo; import com.yizhi.training.application.vo.domain.TpAuthorizationRangeVo;
import com.yizhi.training.application.vo.domain.TrainingActivityVO;
import com.yizhi.training.application.vo.domain.TrainingProjectVo; import com.yizhi.training.application.vo.domain.TrainingProjectVo;
import com.yizhi.training.application.vo.manage.TrainingProjectStepThreeVo; import com.yizhi.training.application.vo.manage.TrainingProjectStepThreeVo;
import com.yizhi.training.application.vo.manage.VisibleRangeExport; import com.yizhi.training.application.vo.manage.VisibleRangeExport;
import com.yizhi.training.application.vo.manage.VisibleRangeVo; import com.yizhi.training.application.vo.manage.VisibleRangeVo;
import com.yizhi.util.application.domain.BizResponse; import com.yizhi.util.application.domain.BizResponse;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import io.swagger.annotations.ApiParam; import io.swagger.annotations.ApiParam;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
import java.util.Collection;
import java.util.Date;
import java.util.List;
/** /**
* @Author: shengchenglong * @Author: shengchenglong
...@@ -319,4 +330,14 @@ public interface TrainingProjectClient { ...@@ -319,4 +330,14 @@ public interface TrainingProjectClient {
@PostMapping("/trainingProject/shelfUp/get") @PostMapping("/trainingProject/shelfUp/get")
boolean getShelfUp(@RequestParam("id") Long trainingProjectId); boolean getShelfUp(@RequestParam("id") Long trainingProjectId);
/**
* 获取有活动的日期
* @param bizType 业务类型:1活动服务;2培训测试
* @param startDate
* @param endDate
* @return
*/
@GetMapping("/trainingProject/getTrainingActivity")
TrainingActivityVO getTrainingActivity(@RequestParam("bizType") Integer bizType, @RequestParam(name = "startDate", required = false) String startDate, @RequestParam(name = "endDate", required = false) String endDate);
} }
package com.yizhi.training.application.vo.api;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* 活动类型
*
*/
@Data
@ApiModel(value = "培活动类型vo")
public class ActivityTypeVo {
@ApiModelProperty(value = "名称")
private String activityName;
@ApiModelProperty(value = "值")
private String activityType;
}
...@@ -28,4 +28,6 @@ public class HotEnrollParamVo { ...@@ -28,4 +28,6 @@ public class HotEnrollParamVo {
@ApiModelProperty(value = "是否付费;0否;1是;默认为null") @ApiModelProperty(value = "是否付费;0否;1是;默认为null")
private Integer enablePay ; private Integer enablePay ;
@ApiModelProperty(value = "业务类型:1或null活动服务;2培训测试")
private Integer bizType;
} }
package com.yizhi.training.application.vo.api;
import java.util.Date;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* <p>
* 培训项目详情图片
* </p>
*
* @author shengchenglong
* @since 2018-03-27
*/
@Data
@Api(tags = "TrainingProjectDetailsImageVO", description = "培训项目详情图片")
public class TrainingProjectDetailsImageVO {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键id")
private Long id;
@ApiModelProperty(value = "培训项目id")
@TableField("training_id")
private Long trainingId;
@ApiModelProperty(value = "图片")
private String img;
@ApiModelProperty(value = "图片排序")
private Integer sort;
@ApiModelProperty(value = "是否删除(0:否,1:是)")
private Integer deleted;
@ApiModelProperty(value = "创建者id")
@TableField(value = "create_by_id", fill = FieldFill.INSERT)
private Long createById;
@ApiModelProperty(value = "创建者名称")
@TableField(value = "create_by_name", fill = FieldFill.INSERT)
private String createByName;
@ApiModelProperty(value = "创建时间")
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
@ApiModelProperty(value = "更新者id")
@TableField(value = "update_by_id", fill = FieldFill.INSERT)
private Long updateById;
@ApiModelProperty(value = "修改者名称")
@TableField(value = "update_by_name", fill = FieldFill.INSERT)
private String updateByName;
@ApiModelProperty(value = "修改时间")
@TableField(value = "update_time", fill = FieldFill.INSERT)
private Date updateTime;
}
...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty; ...@@ -5,6 +5,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.util.Date; import java.util.Date;
import java.util.List;
/** /**
* @Author: shengchenglong * @Author: shengchenglong
...@@ -114,4 +115,34 @@ public class TrainingProjectIntroductionVo { ...@@ -114,4 +115,34 @@ public class TrainingProjectIntroductionVo {
@ApiModelProperty(value = "购买原价格") @ApiModelProperty(value = "购买原价格")
private Integer originalPrice; private Integer originalPrice;
@ApiModelProperty(value = "项目详情图片")
private List<TrainingProjectDetailsImageVO> detailsImage;
@ApiModelProperty(value = "活动地址")
private String activityAddress;
@ApiModelProperty(value = "组织方")
private String organizer;
@ApiModelProperty(value = "协办方")
private String coOrganizer;
@ApiModelProperty(value = "温馨提示")
private String tips;
@ApiModelProperty(value = "其它提示")
private String other;
@ApiModelProperty(value = "活动状态名称")
private String activityStateName;
@ApiModelProperty(value = "活动状态CODE")
private Integer activityStateCode;
@ApiModelProperty(value = "关联投票ID")
private Long researchId;
@ApiModelProperty(value = "关联投票名称")
private String researchName;
} }
...@@ -32,6 +32,9 @@ public class TrainingProjectListVo { ...@@ -32,6 +32,9 @@ public class TrainingProjectListVo {
@ApiModelProperty(value = "多少人已经参与") @ApiModelProperty(value = "多少人已经参与")
private Integer JoinNumber; private Integer JoinNumber;
@ApiModelProperty(value = "应参加人数,0为不限制")
private Integer canNumber;
@ApiModelProperty(value = "是否已经完成") @ApiModelProperty(value = "是否已经完成")
private Boolean finished; private Boolean finished;
...@@ -56,5 +59,16 @@ public class TrainingProjectListVo { ...@@ -56,5 +59,16 @@ public class TrainingProjectListVo {
@ApiModelProperty(value = "是否付费报名,默认0否,1是") @ApiModelProperty(value = "是否付费报名,默认0否,1是")
private Integer enablePay; private Integer enablePay;
@ApiModelProperty(value = "活动名称")
private String activityName;
@ApiModelProperty(value = "活动栏目")
private List<ActivityTypeVo> activityTypeList;
@ApiModelProperty(value = "活动状态名称")
private String activityStateName;
@ApiModelProperty(value = "活动状态CODE")
private Integer activityStateCode;
} }
...@@ -15,7 +15,7 @@ import java.util.Date; ...@@ -15,7 +15,7 @@ import java.util.Date;
@ApiModel(value = "首页--训项目列表查询参数vo") @ApiModel(value = "首页--训项目列表查询参数vo")
public class TrainingProjectParamVo { public class TrainingProjectParamVo {
@ApiModelProperty(value = "当前时间,必传") @ApiModelProperty(value = "当前时间")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date now; private Date now;
...@@ -31,4 +31,9 @@ public class TrainingProjectParamVo { ...@@ -31,4 +31,9 @@ public class TrainingProjectParamVo {
@ApiModelProperty(value = "是否付费筛选,默认0否,1是") @ApiModelProperty(value = "是否付费筛选,默认0否,1是")
private Integer enablePay; private Integer enablePay;
@ApiModelProperty(value = "业务类型:1或null活动服务;2培训测试")
private Integer bizType;
@ApiModelProperty(value = "活动类型,null查询全部")
private Integer activityType;
} }
package com.yizhi.training.application.vo.domain;
import java.util.List;
import com.yizhi.training.application.vo.api.ActivityTypeVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@Api(tags = "TrainingActivityVO", description = "项目活动")
public class TrainingActivityVO {
@ApiModelProperty(value = "当天有活动的日期")
private List<String> theDay;
@ApiModelProperty(value = "活动类型")
private List<ActivityTypeVo> activityType;
}
...@@ -140,7 +140,25 @@ public class TrainingProjectVo extends Model<TrainingProjectVo> { ...@@ -140,7 +140,25 @@ public class TrainingProjectVo extends Model<TrainingProjectVo> {
@ApiModelProperty(value = "权重") @ApiModelProperty(value = "权重")
private Integer weight; private Integer weight;
@ApiModelProperty(value = "应参加人数,0为不限制")
private Integer canNumber;
@ApiModelProperty(value = "报名开始时间")
private Date enrollStartTime;
@ApiModelProperty(value = "报名结束时间")
private Date enrollEndTime;
@ApiModelProperty(value = "签到开始时间")
private Date signStartTime;
@ApiModelProperty(value = "签到结束时间")
private Date signEndTime;
@ApiModelProperty(value = "活动类型CODE")
private Integer activityType;
@Override @Override
protected Serializable pkVal() { protected Serializable pkVal() {
return this.id; return this.id;
......
...@@ -30,6 +30,12 @@ ...@@ -30,6 +30,12 @@
<artifactId>cloud-course-api</artifactId> <artifactId>cloud-course-api</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency> </dependency>
<dependency>
<groupId>com.yizhi</groupId>
<artifactId>cloud-research-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<!-- 本地依赖 --> <!-- 本地依赖 -->
<dependency> <dependency>
......
package com.yizhi.training.application.controller; package com.yizhi.training.application.controller;
import com.yizhi.core.application.context.ContextHolder; import java.util.Date;
import com.yizhi.core.application.context.RequestContext;
import com.yizhi.training.application.service.ITpStudentEnrollPassedService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import com.yizhi.application.orm.id.IdGenerator;
import com.yizhi.core.application.context.ContextHolder;
import com.yizhi.core.application.context.RequestContext;
import com.yizhi.training.application.domain.TpStudentEnrollPassed;
import com.yizhi.training.application.domain.TrainingProject;
import com.yizhi.training.application.mapper.TpStudentEnrollPassedMapper;
import com.yizhi.training.application.mapper.TrainingProjectMapper;
import com.yizhi.training.application.service.ITpStudentEnrollPassedService;
@RestController @RestController
@RequestMapping("/TpStudentEnrollPassed") @RequestMapping("/TpStudentEnrollPassed")
public class TpStudentEnrollPassedController { public class TpStudentEnrollPassedController {
...@@ -16,9 +25,42 @@ public class TpStudentEnrollPassedController { ...@@ -16,9 +25,42 @@ public class TpStudentEnrollPassedController {
@Autowired @Autowired
ITpStudentEnrollPassedService studentEnrollPassedService; ITpStudentEnrollPassedService studentEnrollPassedService;
@Autowired
private IdGenerator idGenerator;
@Autowired
private TpStudentEnrollPassedMapper tpStudentEnrollPassedMapper;
@Autowired
private TrainingProjectMapper trainingProjectMapper;
@GetMapping("/selectTpIdByCondition") @GetMapping("/selectTpIdByCondition")
Long selectTpIdByCondition(@RequestParam(value = "tpProjrctId")Long tpProjrctId){ Long selectTpIdByCondition(@RequestParam(value = "tpProjrctId")Long tpProjrctId){
RequestContext context = ContextHolder.get(); RequestContext context = ContextHolder.get();
return studentEnrollPassedService.selectTpIdByCondition(tpProjrctId,context.getAccountId(),context.getSiteId()); return studentEnrollPassedService.selectTpIdByCondition(tpProjrctId,context.getAccountId(),context.getSiteId());
} }
@RequestMapping(value="/insertTpStudentEnrollPassed", method=RequestMethod.GET)
Long insertTpStudentEnrollPassed(@RequestParam(value = "projrctId") Long projrctId, @RequestParam(value = "enrollId") Long enrollId) {
RequestContext requestContext = ContextHolder.get();
TrainingProject tp = trainingProjectMapper.selectById(projrctId);
if (null != tp) {
TpStudentEnrollPassed tep = new TpStudentEnrollPassed();
tep.setId(idGenerator.generate());
tep.setTrainingProjectId(projrctId);
tep.setEnrollId(enrollId);
tep.setAccountId(requestContext.getAccountId());
tep.setStartTime(tp.getStartTime());
tep.setEndTime(tp.getEndTime());
tep.setJoinTime(new Date());
tep.setSiteId(requestContext.getSiteId());
tpStudentEnrollPassedMapper.insert(tep);
return tep.getId();
}
return null;
}
} }
...@@ -30,6 +30,7 @@ import com.yizhi.training.application.service.*; ...@@ -30,6 +30,7 @@ import com.yizhi.training.application.service.*;
import com.yizhi.training.application.util.TrainingEvenSendMessage; import com.yizhi.training.application.util.TrainingEvenSendMessage;
import com.yizhi.training.application.vo.api.*; import com.yizhi.training.application.vo.api.*;
import com.yizhi.training.application.vo.domain.TpAuthorizationRangeVo; import com.yizhi.training.application.vo.domain.TpAuthorizationRangeVo;
import com.yizhi.training.application.vo.domain.TrainingActivityVO;
import com.yizhi.training.application.vo.domain.TrainingProjectVo; import com.yizhi.training.application.vo.domain.TrainingProjectVo;
import com.yizhi.training.application.vo.manage.*; import com.yizhi.training.application.vo.manage.*;
import com.yizhi.util.application.domain.BizResponse; import com.yizhi.util.application.domain.BizResponse;
...@@ -917,5 +918,17 @@ public class TrainingProjectController { ...@@ -917,5 +918,17 @@ public class TrainingProjectController {
return true; return true;
} }
/**
* 获取有活动的日期
* @param bizType 业务类型:1活动服务;2培训测试
* @param startDate
* @param endDate
* @return
*/
@GetMapping("/getTrainingActivity")
public TrainingActivityVO getTrainingActivity(@RequestParam("bizType") Integer bizType,
@RequestParam(name = "startDate", required = false) String startDate, @RequestParam(name = "endDate", required = false) String endDate) {
return trainingProjectService.getTrainingActivity(bizType, startDate, endDate);
}
} }
...@@ -158,7 +158,43 @@ public class TrainingProject extends Model<TrainingProject> { ...@@ -158,7 +158,43 @@ public class TrainingProject extends Model<TrainingProject> {
@ApiModelProperty(value = "开启付费的项目是否在项目列表中显示;默认1显示") @ApiModelProperty(value = "开启付费的项目是否在项目列表中显示;默认1显示")
@TableField("enable_queue") @TableField("enable_queue")
private Integer enableQueue; private Integer enableQueue;
@ApiModelProperty(value = "业务类型:1活动服务;2培训测试")
private Integer bizType;
@ApiModelProperty(value = "活动CODE")
private String activityCode;
@ApiModelProperty(value = "副标题")
private String subtitle;
@ApiModelProperty(value = "活动类型:1支部主题党日;2特色活动;3献计献策;4其他(当业务类型是1时是这些枚举值)")
private String activityType;
@ApiModelProperty(value = "图片来源")
private String pictureSource;
@ApiModelProperty(value = "活动地址")
private String activityAddress;
@ApiModelProperty(value = "组织方")
private String organizer;
@ApiModelProperty(value = "协办方")
private String coOrganizer;
@ApiModelProperty(value = "温馨提示")
private String tips;
@ApiModelProperty(value = "其它提示")
private String other;
@ApiModelProperty(value = "关联投票ID")
private Long researchId;
@ApiModelProperty(value = "是否置顶:true是;false否")
private Boolean topUp;
@Override @Override
protected Serializable pkVal() { protected Serializable pkVal() {
return this.id; return this.id;
......
package com.yizhi.training.application.domain;
import com.baomidou.mybatisplus.activerecord.Model;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.annotations.TableName;
import com.baomidou.mybatisplus.enums.FieldFill;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.util.Date;
import java.util.List;
/**
* <p>
* 培训项目主体表(报名、签到 是在报名签到表中记录项目id,论坛是单独的关系表)
* </p>
*
* @author shengchenglong
* @since 2018-03-27
*/
@Data
@Api(tags = "TrainingProjectDetailsImage", description = "培训项目详情图片")
@TableName("training_project_details_image")
public class TrainingProjectDetailsImage extends Model<TrainingProjectDetailsImage> {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "主键id")
private Long id;
@ApiModelProperty(value = "培训项目id")
@TableField("training_id")
private Long trainingId;
@ApiModelProperty(value = "图片")
private String img;
@ApiModelProperty(value = "图片排序")
private Integer sort;
@ApiModelProperty(value = "是否删除(0:否,1:是)")
private Integer deleted;
@ApiModelProperty(value = "创建者id")
@TableField(value = "create_by_id", fill = FieldFill.INSERT)
private Long createById;
@ApiModelProperty(value = "创建者名称")
@TableField(value = "create_by_name", fill = FieldFill.INSERT)
private String createByName;
@ApiModelProperty(value = "创建时间")
@TableField(value = "create_time", fill = FieldFill.INSERT)
private Date createTime;
@ApiModelProperty(value = "更新者id")
@TableField(value = "update_by_id", fill = FieldFill.INSERT)
private Long updateById;
@ApiModelProperty(value = "修改者名称")
@TableField(value = "update_by_name", fill = FieldFill.INSERT)
private String updateByName;
@ApiModelProperty(value = "修改时间")
@TableField(value = "update_time", fill = FieldFill.INSERT)
private Date updateTime;
@Override
protected Serializable pkVal() {
return this.id;
}
}
...@@ -37,4 +37,14 @@ public interface TpStudentEnrollPassedMapper extends BaseMapper<TpStudentEnrollP ...@@ -37,4 +37,14 @@ public interface TpStudentEnrollPassedMapper extends BaseMapper<TpStudentEnrollP
@Select("select id from tp_student_enroll_passed " + @Select("select id from tp_student_enroll_passed " +
"where account_id = #{accountId} and site_id = #{siteId} and training_project_id = #{tpProjrctId}") "where account_id = #{accountId} and site_id = #{siteId} and training_project_id = #{tpProjrctId}")
Long selectTpIdByCondition(@Param("tpProjrctId")Long tpProjrctId,@Param("accountId") Long accountId,@Param("siteId")Long siteId); Long selectTpIdByCondition(@Param("tpProjrctId")Long tpProjrctId,@Param("accountId") Long accountId,@Param("siteId")Long siteId);
/**
* 查询已经签到的培训项目id
*
* @param accountId
* @return
*/
@Select("select training_project_id from tr_sign_record " +
"where account_id = #{accountId}")
List<Long> selectSignTpIds(@Param("accountId") Long accountId);
} }
...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.plugins.Page; ...@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.plugins.Page;
import com.yizhi.training.application.domain.TrainingProject; import com.yizhi.training.application.domain.TrainingProject;
import com.yizhi.training.application.vo.api.HotEnrollListVo; import com.yizhi.training.application.vo.api.HotEnrollListVo;
import com.yizhi.training.application.vo.api.PaidTrainingProjectVO; import com.yizhi.training.application.vo.api.PaidTrainingProjectVO;
import com.yizhi.training.application.vo.api.TrainingProjectDetailsImageVO;
import com.yizhi.training.application.vo.api.TrainingProjectListVo; import com.yizhi.training.application.vo.api.TrainingProjectListVo;
import com.yizhi.training.application.vo.domain.TrainingProjectVo; import com.yizhi.training.application.vo.domain.TrainingProjectVo;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
...@@ -54,16 +55,21 @@ public interface TrainingProjectMapper extends BaseMapper<TrainingProject> { ...@@ -54,16 +55,21 @@ public interface TrainingProjectMapper extends BaseMapper<TrainingProject> {
* @param siteId 站点id * @param siteId 站点id
* @param keyword 关键字(模糊查询) * @param keyword 关键字(模糊查询)
* @param enablePay 是否付费;0否 ;1是 * @param enablePay 是否付费;0否 ;1是
* @param bizType 业务类型:1或null活动服务;2培训测试
* @param activityType 活动类型,null查询全部
* @return * @return
*/ */
List<TrainingProjectVo> apiPageList(@Param("visiableTpIds") List<Long> visiableTpIds, List<TrainingProjectVo> apiPageList(@Param("visiableTpIds") List<Long> visiableTpIds,
@Param("passEnrollTpIds") List<Long> passEnrollTpIds, @Param("passEnrollTpIds") List<Long> passEnrollTpIds,
@Param("now") Date now, @Param("siteId") Long siteId, @Param("now") Date now, @Param("siteId") Long siteId,
@Param("keyword") String keyword,@Param("enablePay") Integer enablePay, Page<TrainingProjectListVo> page); @Param("keyword") String keyword,@Param("enablePay") Integer enablePay,
@Param("bizType") Integer bizType,
@Param("activityType") Integer activityType, Page<TrainingProjectListVo> page);
Integer apiPageListCount(@Param("visiableTpIds") List<Long> visiableTpIds, Integer apiPageListCount(@Param("visiableTpIds") List<Long> visiableTpIds,
@Param("passEnrollTpIds") List<Long> passEnrollTpIds, @Param("passEnrollTpIds") List<Long> passEnrollTpIds,
@Param("now") Date now, @Param("siteId") Long siteId, @Param("keyword") String keyword); @Param("now") Date now, @Param("siteId") Long siteId, @Param("keyword") String keyword,
@Param("bizType") Integer bizType);
/** /**
* 火热报名列表 * 火热报名列表
...@@ -71,12 +77,14 @@ public interface TrainingProjectMapper extends BaseMapper<TrainingProject> { ...@@ -71,12 +77,14 @@ public interface TrainingProjectMapper extends BaseMapper<TrainingProject> {
* @param site * @param site
* @param passIds 已经报名的培训项目id * @param passIds 已经报名的培训项目id
* @param visiableTpIds 该学员可见范围的培训项目id * @param visiableTpIds 该学员可见范围的培训项目id
* @param bizType 业务类型:1或null活动服务;2培训测试
* @return * @return
*/ */
// List<TrainingProjectVo> apiHotPageList(@Param("siteId") Long site, @Param("passIds") List<Long> passIds, @Param("visiableTpIds") List<Long> visiableTpIds, @Param("now") Date now, RowBounds rowBounds); // List<TrainingProjectVo> apiHotPageList(@Param("siteId") Long site, @Param("passIds") List<Long> passIds, @Param("visiableTpIds") List<Long> visiableTpIds, @Param("now") Date now, RowBounds rowBounds);
List<HotEnrollListVo> apiHotPageList(@Param("siteId") Long site, @Param("passIds") List<Long> passIds, List<HotEnrollListVo> apiHotPageList(@Param("siteId") Long site, @Param("passIds") List<Long> passIds,
@Param("visiableTpIds") List<Long> visiableTpIds, @Param("now") Date now, @Param("visiableTpIds") List<Long> visiableTpIds, @Param("now") Date now,
@Param("enablePay") Integer enablePay,Page<HotEnrollListVo> page); @Param("enablePay") Integer enablePay,
@Param("bizType") Integer bizType,Page<HotEnrollListVo> page);
Integer apiHotPageListNum(@Param("siteId") Long site, @Param("passIds") List<Long> passIds, @Param("visiableTpIds") List<Long> visiableTpIds, @Param("now") Date now); Integer apiHotPageListNum(@Param("siteId") Long site, @Param("passIds") List<Long> passIds, @Param("visiableTpIds") List<Long> visiableTpIds, @Param("now") Date now);
...@@ -327,4 +335,19 @@ public interface TrainingProjectMapper extends BaseMapper<TrainingProject> { ...@@ -327,4 +335,19 @@ public interface TrainingProjectMapper extends BaseMapper<TrainingProject> {
@Param("orderField") String orderField, @Param("order") String order); @Param("orderField") String orderField, @Param("order") String order);
TrainingProjectVo getProjectDesc(@Param("projectId") Long projectId); TrainingProjectVo getProjectDesc(@Param("projectId") Long projectId);
/**
* 获取培训项目详情图片
* @param projectId
* @return
*/
List<TrainingProjectDetailsImageVO> selectTrainingProjectDetailsImage(@Param("projectId") Long projectId);
/**
* 获取项目项目时间、报名时间、签到时间
* @param siteId
* @param projectId
* @return
*/
TrainingProjectVo selectTrainingProjectTime(@Param("siteId") Long siteId, @Param("projectId") Long projectId);
} }
...@@ -206,20 +206,27 @@ ...@@ -206,20 +206,27 @@
<!-- 培训项目首页列表 --> <!-- 培训项目首页列表 -->
<select id="apiPageList" resultType="com.yizhi.training.application.vo.domain.TrainingProjectVo"> <select id="apiPageList" resultType="com.yizhi.training.application.vo.domain.TrainingProjectVo">
select tb.*,en.enable_pay,en.actual_price select tb.*,en.enable_pay,en.actual_price,en.person_limit_num AS canNumber,en.start_time AS enrollStartTime, en.end_time AS enrollEndTime,
sg.start_time AS signStartTime, sg.end_time AS signEndTime,tb.activity_type
from training_project tb from training_project tb
left join tr_enroll en on tb.id = en.training_project_id left join tr_enroll en on tb.id = en.training_project_id
left join tr_sign_time sg on tb.id = sg.training_project_id
where where
-- 首先用站点 id 和上架状态缩小范围 -- 首先用站点 id 和上架状态缩小范围
(tb.site_id = #{siteId} and tb.status = 1 and tb.deleted = 0 and <![CDATA[ DATE_FORMAT(tb.end_time, '%Y-%m-%d') >= DATE_FORMAT(#{now}, '%Y-%m-%d') ]]>) (tb.site_id = #{siteId} and tb.status = 1 and tb.deleted = 0
<if test="now == null">
)
</if>
<if test="now != null">
and <![CDATA[ DATE_FORMAT(tb.end_time, '%Y-%m-%d') >= DATE_FORMAT(#{now}, '%Y-%m-%d') ]]>)
</if>
and and
( (
-- 平台可见 and 不需要报名 -- 平台可见
(tb.visible_range = 1 and tb.enable_enroll = 0) (tb.visible_range = 1)
-- 指定范围,不需报名 -- 指定范围
<if test="visiableTpIds != null and visiableTpIds.size > 0"> <if test="visiableTpIds != null and visiableTpIds.size > 0">
or (tb.id in <foreach collection="visiableTpIds" open="(" close=")" separator="," item="item">#{item}</foreach> and tb.enable_enroll = 0) or (tb.id in <foreach collection="visiableTpIds" open="(" close=")" separator="," item="item">#{item}</foreach>)
</if> </if>
-- 报名通过 -- 报名通过
<if test="passEnrollTpIds != null and passEnrollTpIds.size > 0"> <if test="passEnrollTpIds != null and passEnrollTpIds.size > 0">
...@@ -240,7 +247,16 @@ ...@@ -240,7 +247,16 @@
<if test="enablePay != null and enablePay.equals(1)"> <if test="enablePay != null and enablePay.equals(1)">
and (tb.enable_enroll = 1 and tb.enable_queue = 1 and en.enable_pay = '1') and (tb.enable_enroll = 1 and tb.enable_queue = 1 and en.enable_pay = '1')
</if> </if>
order by tb.start_time desc,tb.create_time desc <if test="bizType == null">
and tb.biz_type = 1
</if>
<if test="bizType != null">
and tb.biz_type = #{bizType}
</if>
<if test="activityType != null">
and tb.activity_type = #{activityType}
</if>
order by tb.end_time desc,tb.create_time desc
</select> </select>
<select id="apiPageListCount" resultType="java.lang.Integer"> <select id="apiPageListCount" resultType="java.lang.Integer">
...@@ -251,11 +267,11 @@ ...@@ -251,11 +267,11 @@
(tb.site_id = #{siteId} and tb.status = 1 and tb.deleted = 0 and <![CDATA[ DATE_FORMAT(tb.end_time, '%Y-%m-%d') >= DATE_FORMAT(#{now}, '%Y-%m-%d') ]]>) (tb.site_id = #{siteId} and tb.status = 1 and tb.deleted = 0 and <![CDATA[ DATE_FORMAT(tb.end_time, '%Y-%m-%d') >= DATE_FORMAT(#{now}, '%Y-%m-%d') ]]>)
and and
( (
-- 平台可见 and 不需要报名 -- 平台可见
(tb.visible_range = 1 and tb.enable_enroll = 0) (tb.visible_range = 1)
-- 指定范围,不需报名 -- 指定范围
<if test="visiableTpIds != null and visiableTpIds.size > 0"> <if test="visiableTpIds != null and visiableTpIds.size > 0">
or (tb.id in <foreach collection="visiableTpIds" open="(" close=")" separator="," item="item">#{item}</foreach> and tb.enable_enroll = 0) or (tb.id in <foreach collection="visiableTpIds" open="(" close=")" separator="," item="item">#{item}</foreach>)
</if> </if>
-- 报名通过 -- 报名通过
<if test="passEnrollTpIds != null and passEnrollTpIds.size > 0"> <if test="passEnrollTpIds != null and passEnrollTpIds.size > 0">
...@@ -267,6 +283,12 @@ ...@@ -267,6 +283,12 @@
or or
tb.name like concat('%', #{keyword}, '%')) tb.name like concat('%', #{keyword}, '%'))
</if> </if>
<if test="bizType == null">
and tb.biz_type = 1
</if>
<if test="bizType != null">
and tb.biz_type = #{bizType}
</if>
</select> </select>
<!-- 我的培训项目列表 未开始(已上架,开始时间大于当前时间)--> <!-- 我的培训项目列表 未开始(已上架,开始时间大于当前时间)-->
...@@ -484,6 +506,12 @@ ...@@ -484,6 +506,12 @@
<if test="enablePay != null and enablePay.equals(1)"> <if test="enablePay != null and enablePay.equals(1)">
and (tb.enable_queue = 1 and en.enable_pay = '1') and (tb.enable_queue = 1 and en.enable_pay = '1')
</if> </if>
<if test="bizType == null">
and tb.biz_type = 1
</if>
<if test="bizType != null">
and tb.biz_type = #{bizType}
</if>
and ( and (
-- 可见范围之内的 或者 平台用户可见的 -- 可见范围之内的 或者 平台用户可见的
tb.visible_range = 1 tb.visible_range = 1
...@@ -838,5 +866,20 @@ ...@@ -838,5 +866,20 @@
where tp.id = #{projectId} and tp.deleted = 0 where tp.id = #{projectId} and tp.deleted = 0
</select> </select>
<select id="selectTrainingProjectDetailsImage" resultType="com.yizhi.training.application.vo.api.TrainingProjectDetailsImageVO">
select a.img
from training_project_details_image a
where a.training_id = #{projectId} and a.deleted = 0
order by a.sort
</select>
<select id="selectTrainingProjectTime" resultType="com.yizhi.training.application.vo.domain.TrainingProjectVo">
select tb.enable_enroll,tb.enable_sign,tb.start_time,tb.end_time,tb.id,en.enable_pay,en.actual_price,en.person_limit_num AS canNumber,en.start_time AS enrollStartTime, en.end_time AS enrollEndTime,
sg.start_time AS signStartTime, sg.end_time AS signEndTime,tb.activity_type
from training_project tb
left join tr_enroll en on tb.id = en.training_project_id
left join tr_sign_time sg on tb.id = sg.training_project_id
where tb.id=#{projectId} and tb.site_id = #{siteId} and tb.status = 1 and tb.deleted = 0
</select>
</mapper> </mapper>
package com.yizhi.training.application.service; package com.yizhi.training.application.service;
import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
import org.springframework.web.bind.annotation.RequestParam;
import com.baomidou.mybatisplus.plugins.Page; import com.baomidou.mybatisplus.plugins.Page;
import com.baomidou.mybatisplus.service.IService; import com.baomidou.mybatisplus.service.IService;
import com.yizhi.core.application.context.RequestContext; import com.yizhi.core.application.context.RequestContext;
...@@ -8,17 +15,20 @@ import com.yizhi.training.application.domain.TpPlan; ...@@ -8,17 +15,20 @@ import com.yizhi.training.application.domain.TpPlan;
import com.yizhi.training.application.domain.TrainingProject; import com.yizhi.training.application.domain.TrainingProject;
import com.yizhi.training.application.model.BaseModel; import com.yizhi.training.application.model.BaseModel;
import com.yizhi.training.application.param.PaidTrainingProjectQO; import com.yizhi.training.application.param.PaidTrainingProjectQO;
import com.yizhi.training.application.vo.api.*; import com.yizhi.training.application.vo.api.HotEnrollListVo;
import com.yizhi.training.application.vo.api.HotEnrollParamVo;
import com.yizhi.training.application.vo.api.MyPageVO;
import com.yizhi.training.application.vo.api.PaidTrainingProjectVO;
import com.yizhi.training.application.vo.api.TrainingProjectDetailVo;
import com.yizhi.training.application.vo.api.TrainingProjectListVo;
import com.yizhi.training.application.vo.api.TrainingProjectMyParamVo;
import com.yizhi.training.application.vo.api.TrainingProjectParamVo;
import com.yizhi.training.application.vo.api.TrainingProjectVoPortalVo;
import com.yizhi.training.application.vo.domain.TrainingActivityVO;
import com.yizhi.training.application.vo.domain.TrainingProjectVo; import com.yizhi.training.application.vo.domain.TrainingProjectVo;
import com.yizhi.training.application.vo.manage.TrainingProjectStepThreeVo; import com.yizhi.training.application.vo.manage.TrainingProjectStepThreeVo;
import com.yizhi.training.application.vo.manage.VisibleRangeExport; import com.yizhi.training.application.vo.manage.VisibleRangeExport;
import com.yizhi.training.application.vo.manage.VisibleRangeVo; import com.yizhi.training.application.vo.manage.VisibleRangeVo;
import org.springframework.web.bind.annotation.RequestParam;
import java.io.IOException;
import java.text.ParseException;
import java.util.Date;
import java.util.List;
/** /**
* <p> * <p>
...@@ -220,4 +230,13 @@ public interface ITrainingProjectService extends IService<TrainingProject> { ...@@ -220,4 +230,13 @@ public interface ITrainingProjectService extends IService<TrainingProject> {
* @param projectId 项目id * @param projectId 项目id
*/ */
TrainingProjectVo getProjectDescription(Long projectId); TrainingProjectVo getProjectDescription(Long projectId);
/**
* 获取有活动的日期
* @param bizType 业务类型:1活动服务;2培训测试
* @param startDate
* @param endDate
* @return
*/
TrainingActivityVO getTrainingActivity(Integer bizType, String startDate, String endDate);
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment