记得上下班打卡 | git大法好,push需谨慎

Commit 8bab4b74 authored by 胡佳晨's avatar 胡佳晨

提交 部分代码

parent 6cc610b7
......@@ -22,6 +22,14 @@
<label>手机号:</label>
<input type="text" name="phone"/>
</li>
<li>
<label>审核状态:</label>
<select name="status">
<option value="0">待审核</option>
<option value="1">通过审核</option>
<option value="2">未通过待审核</option>
</select>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
......
......@@ -17,9 +17,9 @@ public class SmileVPParam {
@ApiModelProperty(value = "项目名称", example = "")
private String title;
@ApiModelProperty(value = "开始时间", example = "")
private LocalDateTime timeStart;
private String timeStart;
@ApiModelProperty(value = "结束时间", example = "")
private LocalDateTime timeEnd;
private String timeEnd;
@ApiModelProperty(value = "活动地址", example = "")
private String address;
@ApiModelProperty(value = "活动介绍", example = "")
......
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 志愿者搜索
*/
@Data
public class SmileVSParam {
@ApiModelProperty(value = "活动名称", example = "")
private String title;
@ApiModelProperty(value = "志愿者姓名", example = "")
private String name;
@ApiModelProperty(value = "志愿者手机号", example = "")
private String phone;
@ApiModelProperty(value = "审核状态", example = "")
private Integer status;
@ApiModelProperty(value = "页数", example = "1")
@NotNull(message = "页数不能为空")
private Integer pageSize;
@ApiModelProperty(value = "数量", example = "20")
@NotNull(message = "数量不能为空")
private Integer pageNum;
@ApiModelProperty(value = "排序字段", hidden = true)
private String orderItem;
@ApiModelProperty(value = "排序方式", hidden = true)
private String orderSc;
}
......@@ -4,6 +4,7 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVPParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVPSParam;
import com.liquidnet.client.admin.zhengzai.smile.vo.SmileProjectDetailsVo;
import com.liquidnet.service.smile.entity.SmileVolunteersProject;
import com.baomidou.mybatisplus.extension.service.IService;
......@@ -17,16 +18,16 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ISmileVolunteersProjectService extends IService<SmileVolunteersProject> {
//列表
//活动列表
TableDataInfo list(SmileVPSParam param);
//添加
//活动添加
AjaxResult insertData(SmileVPParam param);
//修改
//活动修改
AjaxResult updateData(SmileVPParam param);
//详情
SmileVolunteersProject details(String teamId);
//活动详情
SmileProjectDetailsVo details(String projectId);
}
package com.liquidnet.client.admin.zhengzai.smile.service;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVPParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVPSParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVSParam;
import com.liquidnet.client.admin.zhengzai.smile.vo.SmileProjectDetailsVo;
import com.liquidnet.service.smile.entity.SmileVolunteers;
import com.baomidou.mybatisplus.extension.service.IService;
......@@ -13,4 +19,13 @@ import com.baomidou.mybatisplus.extension.service.IService;
*/
public interface ISmileVolunteersService extends IService<SmileVolunteers> {
//志愿者列表
TableDataInfo list(SmileVSParam param);
//志愿者审核
AjaxResult audit(String projectId, String uid, String teamId, Integer status);
//志愿者详情详情
SmileProjectDetailsVo details(String projectId);
}
......@@ -32,4 +32,8 @@ public interface ISmileVolunteersTeamService extends IService<SmileVolunteersTea
//组详情
AjaxResult search(String title);
//根据活动id获取关联组
List<SmileVolunteersTeam> getListByProjectId(String projectId);
}
......@@ -8,41 +8,130 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVPParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVPSParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVTSParam;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersProjectService;
import com.liquidnet.client.admin.zhengzai.smile.vo.SmileProjectDetailsVo;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.smile.entity.SmileProjectTeamRelation;
import com.liquidnet.service.smile.entity.SmileVolunteersProject;
import com.liquidnet.service.smile.entity.SmileVolunteersTeam;
import com.liquidnet.service.smile.mapper.SmileProjectTeamRelationMapper;
import com.liquidnet.service.smile.mapper.SmileVolunteersProjectMapper;
import com.liquidnet.service.smile.mapper.SmileVolunteersTeamMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
import java.util.stream.Collectors;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
@Slf4j
@Service
public class SmileVolunteersProjectServiceImpl extends ServiceImpl<SmileVolunteersProjectMapper, SmileVolunteersProject> implements ISmileVolunteersProjectService {
@Autowired
SmileVolunteersProjectMapper volunteersProjectMapper;
@Autowired
SmileProjectTeamRelationMapper projectTeamRelationMapper;
@Autowired
SmileVolunteersTeamMapper volunteersTeamMapper;
@Override
public TableDataInfo list(SmileVPSParam param) {
return null;
try {
TableDataInfo rspData = new TableDataInfo();
PageHelper.startPage(param.getPageNum(), param.getPageSize());
LambdaQueryWrapper<SmileVolunteersProject> wrappers = Wrappers.lambdaQuery(SmileVolunteersProject.class);
if (param.getTitle() != null && !param.getTitle().equals("")) {
wrappers.eq(SmileVolunteersProject::getTitle, param.getTitle());
}
List<SmileVolunteersProject> data = volunteersProjectMapper.selectList(wrappers);
rspData.setCode(0);
rspData.setRows(data);
rspData.setTotal(data.size());
return rspData;
} catch (Exception e) {
e.printStackTrace();
return null;
}
}
@Override
public AjaxResult insertData(SmileVPParam param) {
return null;
param.setProjectId(IDGenerator.nextTimeId2());
LocalDateTime now = LocalDateTime.now();
int count = volunteersProjectMapper.insert(copySmileVolunteersProject(param, now, null));
for (String teamId : param.getTeamIdArray()) {
SmileProjectTeamRelation smileProjectTeamRelation = SmileProjectTeamRelation.getNew();
smileProjectTeamRelation.setProjectId(param.getProjectId());
smileProjectTeamRelation.setTeamId(teamId);
smileProjectTeamRelation.setCreatedAt(now);
projectTeamRelationMapper.insert(smileProjectTeamRelation);
}
if (count > 0) {
return AjaxResult.success("添加成功");
}
return AjaxResult.error("添加失败");
}
@Override
public AjaxResult updateData(SmileVPParam param) {
return null;
LocalDateTime now = LocalDateTime.now();
LambdaQueryWrapper<SmileVolunteersProject> wrappers = Wrappers.lambdaQuery(SmileVolunteersProject.class);
wrappers.eq(SmileVolunteersProject::getTitle, param.getTitle());
List<SmileVolunteersProject> dataList = volunteersProjectMapper.selectList(wrappers);
for (SmileVolunteersProject data : dataList) {
if (!data.getProjectId().equals(param.getProjectId()) && data.getTitle().equals(param.getTitle())) {
return AjaxResult.error("项目名称重复不可修改");
}
}
int count = volunteersProjectMapper.update(copySmileVolunteersProject(param, null, now), Wrappers.lambdaQuery(SmileVolunteersProject.class).eq(SmileVolunteersProject::getProjectId, param.getProjectId()));
//删除所有关联关系
projectTeamRelationMapper.delete(Wrappers.lambdaQuery(SmileProjectTeamRelation.class).eq(SmileProjectTeamRelation::getProjectId, param.getProjectId()));
for (String teamId : param.getTeamIdArray()) {
SmileProjectTeamRelation smileProjectTeamRelation = SmileProjectTeamRelation.getNew();
smileProjectTeamRelation.setProjectId(param.getProjectId());
smileProjectTeamRelation.setTeamId(teamId);
smileProjectTeamRelation.setCreatedAt(now);
projectTeamRelationMapper.insert(smileProjectTeamRelation);
}
if (count > 0) {
return AjaxResult.success("修改成功");
}
return AjaxResult.error("修改失败");
}
@Override
public SmileVolunteersProject details(String teamId) {
return null;
public SmileProjectDetailsVo details(String projectId) {
LambdaQueryWrapper<SmileVolunteersProject> wrappers = Wrappers.lambdaQuery(SmileVolunteersProject.class);
wrappers.eq(SmileVolunteersProject::getProjectId, projectId);
SmileVolunteersProject data = volunteersProjectMapper.selectOne(wrappers);
//获取 活动 组 关系
List<String> teamIdList = projectTeamRelationMapper.selectList(Wrappers.lambdaQuery(SmileProjectTeamRelation.class).eq(SmileProjectTeamRelation::getProjectId, projectId)).stream().map(SmileProjectTeamRelation::getTeamId).collect(Collectors.toList());
//获取 关联组详情
List<SmileVolunteersTeam> smileVolunteersTeamList = volunteersTeamMapper.selectList(Wrappers.lambdaQuery(SmileVolunteersTeam.class).in(SmileVolunteersTeam::getTeamId, teamIdList));
//构建返回数据
return SmileProjectDetailsVo.getNew().copy(data, smileVolunteersTeamList);
}
private SmileVolunteersProject copySmileVolunteersProject(SmileVPParam source, LocalDateTime ct, LocalDateTime ut) {
SmileVolunteersProject smileVolunteersProject = SmileVolunteersProject.getNew();
smileVolunteersProject.setProjectId(source.getProjectId());
smileVolunteersProject.setTitle(smileVolunteersProject.getTitle());
smileVolunteersProject.setTimeStart(LocalDateTime.parse(source.getTimeStart(), DTF_YMD_HMS));
smileVolunteersProject.setTimeEnd(LocalDateTime.parse(source.getTimeEnd(), DTF_YMD_HMS));
smileVolunteersProject.setAddress(smileVolunteersProject.getAddress());
smileVolunteersProject.setIntroduce(smileVolunteersProject.getIntroduce());
smileVolunteersProject.setImg(smileVolunteersProject.getImg());
if (ct != null) {
smileVolunteersProject.setCreatedAt(ct);
}
if (ut != null) {
smileVolunteersProject.setUpdatedAt(ut);
}
return smileVolunteersProject;
}
}
......@@ -9,13 +9,16 @@ import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVTSParam;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersTeamService;
import com.liquidnet.commons.lang.util.IDGenerator;
import com.liquidnet.service.smile.entity.SmileProjectTeamRelation;
import com.liquidnet.service.smile.entity.SmileVolunteersTeam;
import com.liquidnet.service.smile.mapper.SmileProjectTeamRelationMapper;
import com.liquidnet.service.smile.mapper.SmileVolunteersTeamMapper;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
import java.util.stream.Collectors;
@Slf4j
@Service
......@@ -23,6 +26,8 @@ public class SmileVolunteersTeamServiceImpl extends ServiceImpl<SmileVolunteersT
@Autowired
SmileVolunteersTeamMapper volunteersTeamMapper;
@Autowired
SmileProjectTeamRelationMapper projectTeamRelationMapper;
@Override
public TableDataInfo list(SmileVTSParam param) {
......@@ -64,7 +69,7 @@ public class SmileVolunteersTeamServiceImpl extends ServiceImpl<SmileVolunteersT
return AjaxResult.error("职责组名称重复不可修改");
}
}
int count = volunteersTeamMapper.insert(bean);
int count = volunteersTeamMapper.update(bean, Wrappers.lambdaQuery(SmileVolunteersTeam.class).eq(SmileVolunteersTeam::getTeamId, bean.getTeamId()));
if (count > 0) {
return AjaxResult.success("添加成功");
}
......@@ -89,4 +94,12 @@ public class SmileVolunteersTeamServiceImpl extends ServiceImpl<SmileVolunteersT
ajax.put("value", beanList);
return ajax;
}
@Override
public List<SmileVolunteersTeam> getListByProjectId(String projectId) {
//获取 活动 组 关系
List<String> teamIdList = projectTeamRelationMapper.selectList(Wrappers.lambdaQuery(SmileProjectTeamRelation.class).eq(SmileProjectTeamRelation::getProjectId, projectId)).stream().map(SmileProjectTeamRelation::getTeamId).collect(Collectors.toList());
//获取 关联组详情
return volunteersTeamMapper.selectList(Wrappers.lambdaQuery(SmileVolunteersTeam.class).in(SmileVolunteersTeam::getTeamId, teamIdList));
}
}
package com.liquidnet.client.admin.zhengzai.smile.vo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileVPParam;
import com.liquidnet.service.smile.entity.SmileVolunteers;
import com.liquidnet.service.smile.entity.SmileVolunteersProject;
import com.liquidnet.service.smile.entity.SmileVolunteersTeam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
import java.util.ArrayList;
import java.util.List;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
/**
* @author 志愿者活动创建修改
*/
@Data
public class SmileProjectDetailsVo implements Cloneable {
@ApiModelProperty(value = "活动id", example = "")
private String projectId;
@ApiModelProperty(value = "项目名称", example = "")
private String title;
@ApiModelProperty(value = "开始时间", example = "")
private String timeStart;
@ApiModelProperty(value = "结束时间", example = "")
private String timeEnd;
@ApiModelProperty(value = "活动地址", example = "")
private String address;
@ApiModelProperty(value = "活动介绍", example = "")
private String introduce;
@ApiModelProperty(value = "封面图", example = "")
private String img;
@ApiModelProperty(value = "职责组集合", example = "")
private List<SmileVolunteersTeam> teamArray;
private static final SmileProjectDetailsVo obj = new SmileProjectDetailsVo();
public static SmileProjectDetailsVo getNew() {
try {
return (SmileProjectDetailsVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileProjectDetailsVo();
}
}
public SmileProjectDetailsVo copy(SmileVolunteersProject source, List<SmileVolunteersTeam> teamList) {
this.setProjectId(source.getProjectId());
this.setTitle(source.getTitle());
this.setTimeStart(source.getTimeStart().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
this.setTimeEnd(source.getTimeEnd().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
this.setAddress(source.getAddress());
this.setIntroduce(source.getIntroduce());
this.setImg(source.getImg());
this.setTeamArray(teamList);
return this;
}
}
......@@ -2,8 +2,10 @@ package com.liquidnet.service.smile.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -17,7 +19,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SmileProjectTeamRelation implements Serializable {
public class SmileProjectTeamRelation implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
......@@ -49,5 +51,13 @@ public class SmileProjectTeamRelation implements Serializable {
*/
private LocalDateTime updatedAt;
private static final SmileProjectTeamRelation obj = new SmileProjectTeamRelation();
public static SmileProjectTeamRelation getNew() {
try {
return (SmileProjectTeamRelation) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileProjectTeamRelation();
}
}
}
......@@ -2,8 +2,10 @@ package com.liquidnet.service.smile.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -54,6 +56,11 @@ public class SmileVolunteers implements Serializable {
*/
private Integer sex;
/**
* 状态[0-待审核|1-审核通过|2-审核未通过]
*/
private Integer status;
/**
* 学校
*/
......
......@@ -2,8 +2,10 @@ package com.liquidnet.service.smile.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import lombok.Data;
import lombok.EqualsAndHashCode;
......@@ -17,7 +19,7 @@ import lombok.EqualsAndHashCode;
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SmileVolunteersProject implements Serializable {
public class SmileVolunteersProject implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
......@@ -74,5 +76,13 @@ public class SmileVolunteersProject implements Serializable {
*/
private LocalDateTime updatedAt;
private static final SmileVolunteersProject obj = new SmileVolunteersProject();
public static SmileVolunteersProject getNew() {
try {
return (SmileVolunteersProject) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileVolunteersProject();
}
}
}
......@@ -13,4 +13,6 @@ import com.baomidou.mybatisplus.core.mapper.BaseMapper;
*/
public interface SmileVolunteersProjectMapper extends BaseMapper<SmileVolunteersProject> {
void getDetailsById(String projectId);
}
......@@ -2,4 +2,15 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.liquidnet.service.smile.mapper.SmileVolunteersProjectMapper">
<select id="selectUserList" resultType="com.liquidnet.service.smile.entity.SmileUser">
select * from smile_user
<where>
del_tag = 0 AND type != 0 AND type != 3 AND type != 4
<if test="phone!='' and phone !=null">
AND phone Like concat('%',#{phone},'%')
</if>
</where>
ORDER BY id desc
</select>
</mapper>
......@@ -8,6 +8,7 @@ CREATE TABLE `smile_volunteers`
`img` varchar(128) DEFAULT '' COMMENT '头像',
`id_card` varchar(32) DEFAULT '' COMMENT '证件号',
`sex` tinyint(2) DEFAULT 0 COMMENT '性别[0-未知|1-男|2-女]',
`status` tinyint(2) DEFAULT 0 COMMENT '状态[0-待审核|1-审核通过|2-审核未通过]',
`school` varchar(64) DEFAULT '' COMMENT '学校',
`school_address` varchar(64) DEFAULT '' COMMENT '学校地址',
`specialty` varchar(32) DEFAULT '' COMMENT '专长',
......
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