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

Commit 1c42f03a authored by 胡佳晨's avatar 胡佳晨

Merge branch 'dev_kid' into pre

parents b7b0d9b1 3b144fe1
...@@ -17,11 +17,11 @@ ...@@ -17,11 +17,11 @@
</properties> </properties>
<dependencies> <dependencies>
<!--<dependency> <dependency>
<groupId>com.liquidnet</groupId> <groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-smile-do</artifactId> <artifactId>liquidnet-service-smile-do</artifactId>
<version>1.0-SNAPSHOT</version> <version>1.0-SNAPSHOT</version>
</dependency>--> </dependency>
<dependency> <dependency>
<groupId>com.liquidnet</groupId> <groupId>com.liquidnet</groupId>
<artifactId>liquidnet-service-kylin-api</artifactId> <artifactId>liquidnet-service-kylin-api</artifactId>
......
...@@ -3,6 +3,8 @@ package com.liquidnet.service.goblin.constant; ...@@ -3,6 +3,8 @@ package com.liquidnet.service.goblin.constant;
public class SmileRedisConst { public class SmileRedisConst {
public static final String PREFIX = "smile:"; public static final String PREFIX = "smile:";
public static final String VOLUNTEERS = "volunteers:";
public static final String SMILE_USER = PREFIX.concat("user"); //用户key public static final String SMILE_USER = PREFIX.concat("user"); //用户key
public static final String SMILE_USER_VALIDATE = PREFIX.concat("user:validate"); //用户key public static final String SMILE_USER_VALIDATE = PREFIX.concat("user:validate"); //用户key
...@@ -29,4 +31,9 @@ public class SmileRedisConst { ...@@ -29,4 +31,9 @@ public class SmileRedisConst {
public static final String SELL_SHOW_TOTAL_SALE_PRICE_USER = PREFIX.concat("show:total:sale:price:user:"); //用户销售总销售金额 public static final String SELL_SHOW_TOTAL_SALE_PRICE_USER = PREFIX.concat("show:total:sale:price:user:"); //用户销售总销售金额
public static final String PROJECT_DETAILS = PREFIX.concat(VOLUNTEERS).concat("project:"); //志愿者活动详情 $key:$projectId
public static final String TEAM_DETAILS = PREFIX.concat(VOLUNTEERS).concat("team:"); //志愿者职责组详情 $key:$teamId
public static final String PROJECT_ID_LIST = PREFIX.concat(VOLUNTEERS).concat("list"); //志愿者活动列表 $key
public static final String VOLUNTEERS_DETAILS = PREFIX.concat(VOLUNTEERS).concat(":"); //志愿者报名详情 $key:$projectId:uid:$uid
public static final String PROJECT_ID_CARD = PREFIX.concat(VOLUNTEERS).concat("project:");//身份证报名 $key:$projectId:idCard:$idCard
} }
package com.liquidnet.service.goblin.dto.vo; package com.liquidnet.service.goblin.dto.vo;
import com.liquidnet.service.smile.entity.SmileAgent;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.io.Serializable;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
...@@ -14,7 +16,7 @@ import java.math.BigDecimal; ...@@ -14,7 +16,7 @@ import java.math.BigDecimal;
* @since 2022-03-16 * @since 2022-03-16
*/ */
@Data @Data
public class SmileAgentVo { public class SmileAgentVo implements Serializable, Cloneable{
private Long id; private Long id;
...@@ -45,5 +47,23 @@ public class SmileAgentVo { ...@@ -45,5 +47,23 @@ public class SmileAgentVo {
@ApiModelProperty(value = "普代票提") @ApiModelProperty(value = "普代票提")
private BigDecimal ordCarry; private BigDecimal ordCarry;
private static final SmileAgentVo obj = new SmileAgentVo();
public static SmileAgentVo getNew() {
try {
return (SmileAgentVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileAgentVo();
}
}
public SmileAgentVo copy(SmileAgent smileAgent) {
if (null == smileAgent) return this;
this.setId(smileAgent.getId());
this.setPerformanceId(smileAgent.getPerformanceId());
this.setTicketId(smileAgent.getTicketId());
this.setTotalCarry(smileAgent.getTotalCarry());
this.setOrdCarry(smileAgent.getOrdCarry());
return this;
}
} }
package com.liquidnet.service.goblin.dto.vo;
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.format.DateTimeFormatter;
import java.util.List;
/**
* @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 String createdAt;
@ApiModelProperty(value = "职责组集合", example = "")
private List<SmileVolunteersTeam> teamArray;
@ApiModelProperty(value = "职责组集合Vo", example = "")
private List<SmileVolunteersTeamVo> teamVoArray;
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());
if (source.getCreatedAt() != null) {
this.setCreatedAt(source.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
}
this.setTeamArray(teamList);
return this;
}
}
...@@ -45,11 +45,17 @@ public class SmileUserVO implements Serializable { ...@@ -45,11 +45,17 @@ public class SmileUserVO implements Serializable {
@NotBlank(groups = {saveOne.class},message = "照片必传") @NotBlank(groups = {saveOne.class},message = "照片必传")
private String img; private String img;
/**
* 真实姓名
*/
@ApiModelProperty(value = "姓名")
@NotBlank(groups = {saveOne.class},message = "姓名必传")
private String nameOneStep;
/** /**
* 真实姓名 * 真实姓名
*/ */
@ApiModelProperty(value = "真实姓名") @ApiModelProperty(value = "真实姓名")
@NotBlank(groups = {saveOne.class},message = "真实姓名必传") @NotBlank(groups = {saveTwo.class},message = "真实姓名必传")
private String name; private String name;
/** /**
...@@ -128,7 +134,7 @@ public class SmileUserVO implements Serializable { ...@@ -128,7 +134,7 @@ public class SmileUserVO implements Serializable {
* 微信号 * 微信号
*/ */
@ApiModelProperty(value = "微信号") @ApiModelProperty(value = "微信号")
@NotBlank(groups = {saveOne.class},message = "微信号必传") //@NotBlank(groups = {saveOne.class},message = "微信号必传")
private String wechat; private String wechat;
/** /**
......
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2022-03-11
*/
@ApiModel(value = "SmileVProjectListVo")
@Data
public class SmileVProjectListVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "活动id")
private String projectId;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "开始时间")
private String timeStart;
@ApiModelProperty(value = "结束时间")
private String timeEnd;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "封面图")
private String img;
@ApiModelProperty(value = "报名状态[0-未报名|1-已报名]")
private Integer applyStatus;
@ApiModelProperty(value = "活动状态[0-未开始|1-进行中|2-已结束]")
private Integer projectStatus;
@ApiModelProperty(value = "创建时间")
private String createdAt;
private static final SmileVProjectListVo obj = new SmileVProjectListVo();
public static SmileVProjectListVo getNew() {
try {
return (SmileVProjectListVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileVProjectListVo();
}
}
public SmileVProjectListVo copy(SmileProjectDetailsVo source, Integer applyStatus) {
this.setProjectId(source.getProjectId());
this.setTitle(source.getTitle());
this.setTimeStart(source.getTimeStart());
this.setTimeEnd(source.getTimeEnd());
this.setAddress(source.getAddress());
this.setImg(source.getImg());
this.setApplyStatus(applyStatus);
this.setCreatedAt(source.getCreatedAt());
LocalDateTime now = LocalDateTime.now();
LocalDateTime ldtStart = LocalDateTime.parse(source.getTimeStart(), DTF_YMD_HMS);
LocalDateTime ldtEnd = LocalDateTime.parse(source.getTimeEnd(), DTF_YMD_HMS);
// this.setProjectStatus(1);
if (now.isAfter(ldtEnd)) {
this.setProjectStatus(2);
} else if (now.isBefore(ldtStart)) {
this.setProjectStatus(1);
} else {
this.setProjectStatus(1);
}
return this;
}
}
package com.liquidnet.service.goblin.dto.vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.List;
import static com.liquidnet.commons.lang.util.DateUtil.DTF_YMD_HMS;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2022-03-11
*/
@ApiModel(value = "SmileVProjectListVo")
@Data
public class SmileVProjectVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "活动id")
private String projectId;
@ApiModelProperty(value = "标题")
private String title;
@ApiModelProperty(value = "开始时间")
private String timeStart;
@ApiModelProperty(value = "结束时间")
private String timeEnd;
@ApiModelProperty(value = "地址")
private String address;
@ApiModelProperty(value = "封面图")
private String img;
@ApiModelProperty(value = "报名状态[0-未报名|1-已报名]")
private Integer applyStatus;
@ApiModelProperty(value = "活动状态[0-未开始|1-进行中|2-已结束]")
private Integer projectStatus;
@ApiModelProperty(value = "活动介绍")
private String introduce;
@ApiModelProperty(value = "关联职责组")
private List<SmileVTeamVo> teamList;
private static final SmileVProjectVo obj = new SmileVProjectVo();
public static SmileVProjectVo getNew() {
try {
return (SmileVProjectVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileVProjectVo();
}
}
public SmileVProjectVo copy(SmileProjectDetailsVo source, Integer applyStatus, List<SmileVTeamVo> teamVos) {
this.setProjectId(source.getProjectId());
this.setTitle(source.getTitle());
this.setTimeStart(source.getTimeStart());
this.setTimeEnd(source.getTimeEnd());
this.setAddress(source.getAddress());
this.setImg(source.getImg());
this.setApplyStatus(applyStatus);
this.setIntroduce(source.getIntroduce());
this.setTeamList(teamVos);
LocalDateTime now = LocalDateTime.now();
LocalDateTime ldtStart = LocalDateTime.parse(source.getTimeStart(), DTF_YMD_HMS);
LocalDateTime ldtEnd = LocalDateTime.parse(source.getTimeEnd(), DTF_YMD_HMS);
if (now.isAfter(ldtEnd)) {
this.setProjectStatus(2);
} else if (now.isBefore(ldtStart)) {
this.setProjectStatus(1);
} else {
this.setProjectStatus(1);
}
return this;
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.liquidnet.service.smile.entity.SmileVolunteersTeam;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2022-03-11
*/
@ApiModel(value = "SmileVProjectListVo")
@Data
public class SmileVTeamVo implements Serializable, Cloneable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "活动id")
private String teamId;
@ApiModelProperty(value = "标题")
private String name;
@ApiModelProperty(value = "组介绍")
private String introduce;
@ApiModelProperty(value = "用户是否选择[0-未选择|1-已选择]")
private Integer status;
private static final SmileVTeamVo obj = new SmileVTeamVo();
public static SmileVTeamVo getNew() {
try {
return (SmileVTeamVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileVTeamVo();
}
}
public SmileVTeamVo copy(SmileVolunteersTeam source,Integer checkStatus) {
this.setTeamId(source.getTeamId());
this.setName(source.getName());
this.setIntroduce(source.getIntroduce());
this.setStatus(checkStatus);
return this;
}
}
package com.liquidnet.service.goblin.dto.vo;
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.format.DateTimeFormatter;
import java.util.List;
/**
* @author 志愿者活动创建修改
*/
@Data
public class SmileVolunteersDetailsVo implements Cloneable {
@ApiModelProperty(value = "用户id", example = "")
private String uid;
@ApiModelProperty(value = "活动Id", example = "")
private String projectId;
@ApiModelProperty(value = "活动名称", example = "")
private String projectName;
@ApiModelProperty(value = "姓名", example = "")
private String name;
@ApiModelProperty(value = "头像", example = "")
private String img;
@ApiModelProperty(value = "证件号", example = "")
private String idCard;
@ApiModelProperty(value = "性别", example = "")
private Integer sex;
@ApiModelProperty(value = "审核状态", example = "")
private Integer status;
@ApiModelProperty(value = "学校", example = "")
private String school;
@ApiModelProperty(value = "学校地址", example = "")
private String schoolAddress;
@ApiModelProperty(value = "专长", example = "")
private String specialty;
@ApiModelProperty(value = "特长", example = "")
private String specialty2;
@ApiModelProperty(value = "手机号", example = "")
private String phone;
@ApiModelProperty(value = "自我介绍", example = "")
private String introduce;
@ApiModelProperty(value = "创建时间", example = "")
private String createdAt;
@ApiModelProperty(value = "职责组集合", example = "")
private List<SmileVolunteersTeam> teamArray;
private static final SmileVolunteersDetailsVo obj = new SmileVolunteersDetailsVo();
public static SmileVolunteersDetailsVo getNew() {
try {
return (SmileVolunteersDetailsVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileVolunteersDetailsVo();
}
}
public SmileVolunteersDetailsVo copy(SmileVolunteers source, List<SmileVolunteersTeam> teamList,String projectName) {
this.setUid(source.getUid());
this.setProjectId(source.getProjectId());
this.setProjectName(projectName);
this.setName(source.getName());
this.setImg(source.getImg());
this.setIdCard(source.getIdCard());
this.setSex(source.getSex());
this.setStatus(source.getStatus());
this.setSchool(source.getSchool());
this.setSchoolAddress(source.getSchoolAddress());
this.setSpecialty(source.getSpecialty());
this.setSpecialty2(source.getSpecialty2());
this.setPhone(source.getPhone());
this.setIntroduce(source.getIntroduce());
this.setCreatedAt(source.getCreatedAt().format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
this.setTeamArray(teamList);
return this;
}
}
package com.liquidnet.service.goblin.dto.vo;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 志愿者-项目职责组表
* </p>
*
* @author jiangxiulong
* @since 2022-04-01
*/
@Data
@EqualsAndHashCode(callSuper = false)
public class SmileVolunteersTeamVo implements Serializable,Cloneable {
private static final long serialVersionUID = 1L;
/**
* 职责组id
*/
private String teamId;
/**
* 组名称
*/
private String name;
/**
* 组介绍
*/
private String introduce;
/**
* 是否选中
*/
private Integer isCheck;
private static final SmileVolunteersTeamVo obj = new SmileVolunteersTeamVo();
public static SmileVolunteersTeamVo getNew() {
try {
return (SmileVolunteersTeamVo) obj.clone();
} catch (CloneNotSupportedException e) {
return new SmileVolunteersTeamVo();
}
}
}
package com.liquidnet.service.goblin.param;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.liquidnet.commons.lang.util.DateUtil;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import javax.validation.constraints.Positive;
import java.io.Serializable;
import java.time.LocalDate;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author jobob
* @since 2022-03-11
*/
@ApiModel(value = "SmileVolunteersApplyVo")
@Data
public class SmileVolunteersApplyParam implements Serializable {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "活动id")
private String projectId;
@ApiModelProperty(value = "头像")
private String img;
@ApiModelProperty(value = "姓名")
private String name;
@ApiModelProperty(value = "证件号")
private String idCard;
@ApiModelProperty(value = "性别[0-未知|1-男|2-女]")
private Integer sex;
@ApiModelProperty(value = "学校名称")
private String school;
@ApiModelProperty(value = "学校地址")
private String schoolAddress;
@ApiModelProperty(value = "专长")
private String specialty;
@ApiModelProperty(value = "特长")
private String specialty2;
@ApiModelProperty(value = "手机号")
private String phone;
@ApiModelProperty(value = "自我介绍")
private String introduce;
@ApiModelProperty(value = "申请职责ID[职责组Id]")
private String teamId1;
@ApiModelProperty(value = "申请职责ID[职责组Id]")
private String teamId2;
@ApiModelProperty(value = "申请职责ID[职责组Id]")
private String teamId3;
}
package com.liquidnet.service.goblin.service.manage;
import com.liquidnet.service.base.ResponseDto;
import com.liquidnet.service.goblin.dto.vo.SmileSellDataDetailVO;
import com.liquidnet.service.goblin.dto.vo.SmileUserVO;
import com.liquidnet.service.goblin.dto.vo.SmileVProjectListVo;
import com.liquidnet.service.goblin.dto.vo.SmileVProjectVo;
import com.liquidnet.service.goblin.param.SmileVolunteersApplyParam;
import com.liquidnet.service.kylin.dto.vo.mongo.KylinPerformanceVo;
import com.sun.org.apache.xpath.internal.operations.Bool;
import java.util.List;
public interface SmileVolunteersService {
ResponseDto<List<SmileVProjectListVo>> projectList(String uid);
ResponseDto<SmileVProjectVo> projectDetails(String uid, String projectId);
ResponseDto<Boolean> apply(SmileVolunteersApplyParam param);
}
...@@ -30,7 +30,7 @@ public class SmileAgentController { ...@@ -30,7 +30,7 @@ public class SmileAgentController {
@PostMapping("/list") @PostMapping("/list")
@ApiOperation("根据PerId获取票提") @ApiOperation("根据PerId获取票提")
@ResponseBody @ResponseBody
public AjaxResult getAgent(@RequestParam(name = "performancesId", required = true)String performancesId){ public AjaxResult getAgent(@RequestParam(name = "performancesId")String performancesId){
return smileAgentService.getAgent(performancesId); return smileAgentService.getAgent(performancesId);
} }
......
...@@ -33,8 +33,7 @@ public class SmileOrganizationController { ...@@ -33,8 +33,7 @@ public class SmileOrganizationController {
@ApiOperation("获取组织列表") @ApiOperation("获取组织列表")
@ResponseBody @ResponseBody
public TableDataInfo organizationList(SmileOrganizationParam smileOrganizationParam){ public TableDataInfo organizationList(SmileOrganizationParam smileOrganizationParam){
TableDataInfo organizationList = smileOrganizationService.organizationList(smileOrganizationParam); return smileOrganizationService.organizationList(smileOrganizationParam);
return organizationList;
} }
@PostMapping("/create") @PostMapping("/create")
...@@ -55,7 +54,7 @@ public class SmileOrganizationController { ...@@ -55,7 +54,7 @@ public class SmileOrganizationController {
@PostMapping("/getOrgById") @PostMapping("/getOrgById")
@ApiOperation("根据组织id获取信息") @ApiOperation("根据组织id获取信息")
@ResponseBody @ResponseBody
public AjaxResult getOrgById(@RequestParam(name = "id", required = true)Long id){ public AjaxResult getOrgById(@RequestParam(name = "id")Long id){
SmileOrgAndUserVo orgById = smileOrganizationService.getOrgById(id); SmileOrgAndUserVo orgById = smileOrganizationService.getOrgById(id);
return AjaxResult.success(orgById); return AjaxResult.success(orgById);
} }
......
...@@ -44,7 +44,7 @@ public class SmileSchoolController { ...@@ -44,7 +44,7 @@ public class SmileSchoolController {
@GetMapping("/getSchoolById") @GetMapping("/getSchoolById")
@ApiOperation("根据id获取学校") @ApiOperation("根据id获取学校")
@ResponseBody @ResponseBody
public AjaxResult getSchoolById(@RequestParam(name = "id", required = true)Long id){ public AjaxResult getSchoolById(@RequestParam(name = "id")Long id){
return AjaxResult.success(iSmileSchoolService.getSchoolById(id)); return AjaxResult.success(iSmileSchoolService.getSchoolById(id));
} }
...@@ -65,7 +65,7 @@ public class SmileSchoolController { ...@@ -65,7 +65,7 @@ public class SmileSchoolController {
@PostMapping("/del") @PostMapping("/del")
@ApiOperation("根据id删除学校") @ApiOperation("根据id删除学校")
@ResponseBody @ResponseBody
public AjaxResult del(@RequestParam(name = "id", required = true)Long id){ public AjaxResult del(@RequestParam(name = "id")Long id){
return iSmileSchoolService.del(id); return iSmileSchoolService.del(id);
} }
} }
package com.liquidnet.client.admin.web.controller.zhengzai.smile;
import com.liquidnet.client.admin.common.core.controller.BaseController;
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.SaleDataVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmilePriceParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
/**
* @author TT
*/
@Api(tags = "演出管理")
@Controller
@RequestMapping("/smile/show/base")
public class SmileShowBaseController extends BaseController {
private String prefix = "zhengzai/smile";
@Autowired
ISmileShowService smileShowService;
@GetMapping("/saleData/{performancesId}")
@ApiOperation("销售数据")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "Integer", name = "performancesId", value = "演出ID")
})
public String saleData(@PathVariable("performancesId") String performancesId, ModelMap mmap) {
SaleDataVo saleDataVo = smileShowService.saleData(performancesId);
mmap.put("saleDataVo", saleDataVo);
return prefix + "/smileTickets/saleData";
}
/*@GetMapping("/saleDataTest/{performancesId}")
@ApiOperation("销售数据Test")
@ApiImplicitParams({
@ApiImplicitParam(type = "query", dataType = "Integer", name = "performancesId", value = "演出ID")
})
@ResponseBody
public AjaxResult saleDataTest(@PathVariable("performancesId") String performancesId) {
SaleDataVo saleDataVo = smileShowService.saleData(performancesId);
return AjaxResult.success(saleDataVo);
}*/
}
package com.liquidnet.client.admin.web.controller.zhengzai.smile; package com.liquidnet.client.admin.web.controller.zhengzai.smile;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SaleDataVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort; import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmilePriceParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmilePriceParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam;
...@@ -10,6 +12,8 @@ import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService; ...@@ -10,6 +12,8 @@ import com.liquidnet.client.admin.zhengzai.smile.service.ISmileShowService;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
/** /**
...@@ -50,13 +54,8 @@ public class SmileShowController { ...@@ -50,13 +54,8 @@ public class SmileShowController {
@PostMapping("/allPrice") @PostMapping("/allPrice")
@ApiOperation("演出标识打款") @ApiOperation("演出标识打款")
public AjaxResult allPrice(@RequestBody SmilePriceParam smilePriceParam){ public AjaxResult allPrice(@RequestBody SmilePriceParam smilePriceParam) {
return smileShowService.allPrice(smilePriceParam); return smileShowService.allPrice(smilePriceParam);
} }
@PostMapping("/saleData")
@ApiOperation("销售数据")
public AjaxResult saleData(String performancesId){
return smileShowService.saleData(performancesId);
}
} }
...@@ -7,17 +7,19 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult; ...@@ -7,17 +7,19 @@ import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.*; import com.liquidnet.client.admin.zhengzai.smile.dto.*;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileUserService; import com.liquidnet.client.admin.zhengzai.smile.service.ISmileUserService;
import com.liquidnet.service.smile.entity.SmileUser;
import com.liquidnet.service.smile.entity.dao.SmileUserCheckDao; import com.liquidnet.service.smile.entity.dao.SmileUserCheckDao;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller; import org.springframework.stereotype.Controller;
import org.springframework.util.ResourceUtils;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
import java.io.*; import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.Reader;
import java.nio.charset.StandardCharsets;
import java.util.List; import java.util.List;
import java.util.Objects;
/** /**
* <p> * <p>
...@@ -47,20 +49,10 @@ public class SmileUserController extends BaseController { ...@@ -47,20 +49,10 @@ public class SmileUserController extends BaseController {
@ApiOperation(value = "根据ID查询单个用户完整信息") @ApiOperation(value = "根据ID查询单个用户完整信息")
@ResponseBody @ResponseBody
public AjaxResult getUserById(@RequestParam(name = "uid", required = true) String uid) { public AjaxResult getUserById(@RequestParam(name = "uid", required = true) String uid) {
SmileUser smileUser = iSmileUserService.getUserById(uid); SmileUserVo smileUser = iSmileUserService.getUserById(uid);
return AjaxResult.success(smileUser); return AjaxResult.success(smileUser);
} }
@PostMapping("/create")
@ApiOperation(value = "保存用户(后端不用此接口)")
@ResponseBody
public AjaxResult create(@RequestBody SmileUser smileUser) {
if (iSmileUserService.create(smileUser)) {
return AjaxResult.success();
}
return AjaxResult.warn("用户已添加");
}
@PostMapping("/getUserListByOrgId") @PostMapping("/getUserListByOrgId")
@ApiOperation(value = "根据组织ID查询相人员信息") @ApiOperation(value = "根据组织ID查询相人员信息")
@ResponseBody @ResponseBody
...@@ -101,20 +93,21 @@ public class SmileUserController extends BaseController { ...@@ -101,20 +93,21 @@ public class SmileUserController extends BaseController {
public AjaxResult getAreaJson(){ public AjaxResult getAreaJson(){
String jsonStr = ""; String jsonStr = "";
try { try {
String path = JSONUtils.class.getClassLoader().getResource("static/area.json").getPath(); String path = Objects.requireNonNull(JSONUtils.class.getClassLoader().getResource("static/area.json")).getPath();
File jsonFile = ResourceUtils.getFile(path);
logger.info("path:{}",path); logger.info("path:{}",path);
// File jsonFile = ResourceUtils.getFile("classpath:static/area.json");
InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("static/area.json"); InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("static/area.json");
Reader reader = new InputStreamReader(inputStream, "utf-8"); if (inputStream != null){
Reader reader = new InputStreamReader(inputStream, StandardCharsets.UTF_8);
int ch = 0; int ch = 0;
StringBuffer sb = new StringBuffer(); StringBuilder sb = new StringBuilder();
while ((ch = reader.read()) != -1) { while ((ch = reader.read()) != -1) {
sb.append((char) ch); sb.append((char) ch);
} }
reader.close(); reader.close();
jsonStr = sb.toString(); jsonStr = sb.toString();
return AjaxResult.success(jsonStr); return AjaxResult.success(jsonStr);
}
return null;
} catch (Exception ex) { } catch (Exception ex) {
ex.printStackTrace(); ex.printStackTrace();
return null; return null;
......
package com.liquidnet.client.admin.web.controller.zhengzai.smile;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.controller.BaseController;
import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.common.utils.poi.ExcelUtil;
import com.liquidnet.client.admin.framework.web.domain.server.Sys;
import com.liquidnet.client.admin.zhengzai.kylin.dto.OrderExportVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.*;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersProjectService;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersService;
import com.liquidnet.client.admin.zhengzai.smile.service.ISmileVolunteersTeamService;
import com.liquidnet.commons.lang.util.JsonUtils;
import com.liquidnet.service.goblin.dto.vo.SmileProjectDetailsVo;
import com.liquidnet.service.goblin.dto.vo.SmileVolunteersDetailsVo;
import com.liquidnet.service.goblin.dto.vo.SmileVolunteersTeamVo;
import com.liquidnet.service.smile.entity.SmileVolunteers;
import com.liquidnet.service.smile.entity.SmileVolunteersTeam;
import io.swagger.annotations.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.*;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
@Api(tags = "志愿者")
@Controller
@RequestMapping("/smile/volunteers")
public class SmileVolunteersController extends BaseController {
@Autowired
ISmileVolunteersProjectService volunteersProjectService;
@Autowired
ISmileVolunteersTeamService volunteersTeamService;
@Autowired
ISmileVolunteersService volunteersService;
@Value("${liquidnet.client.admin.platformUrl}")
private String platformUrl;
private final String prefix = "zhengzai/smile/volunteers";
/**
* 组列表
*/
@GetMapping("/team")
public String listTeam() {
return prefix + "/team/list";
}
/**
* 活动列表
*/
@GetMapping("/project")
public String listProject() {
return prefix + "/project/list";
}
/**
* 活动审核列表
*/
@GetMapping("/project/userList/{projectId}")
public String listProjectUser(@PathVariable("projectId") String projectId, ModelMap mmap) {
mmap.put("projectId", projectId);
return prefix + "/list";
}
/**
* 志愿者列表
*/
@GetMapping()
public String list() {
return prefix + "/list";
}
/**
* 新增组
*/
@GetMapping("/team/add")
public String addTeam() {
return prefix + "/team/add";
}
/**
* 新增活动
*/
@GetMapping("/project/add")
public String addProject(ModelMap mmap) {
SmileVTSParam param = new SmileVTSParam();
param.setPageNum(1);
param.setPageSize(40);
List<SmileVolunteersTeam> list = volunteersTeamService.list(param);
mmap.put("platformUrl", platformUrl);
mmap.put("listData", list);
return prefix + "/project/add";
}
@PostMapping("team/list")
@ApiOperation("职责组列表")
@ResponseBody
public TableDataInfo listTeam(SmileVTSParam param) {
PageHelper.startPage(param.getPageNum(), param.getPageSize());
return getDataTable(volunteersTeamService.list(param));
}
@PostMapping("team/insert")
@ApiOperation("添加职责组")
@ResponseBody
public AjaxResult insertTeam(SmileVolunteersTeam bean) {
return volunteersTeamService.insertData(bean);
}
@PostMapping("team/update")
@ApiOperation("修改职责组")
@ResponseBody
public AjaxResult upDateTeam(SmileVolunteersTeam bean) {
return volunteersTeamService.updateData(bean);
}
@GetMapping("team/details/{teamId}")
@ApiOperation("修改职责组")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "teamId", value = "组id"),
})
public String detailsTeam(@PathVariable("teamId") String teamId, ModelMap mmap) {
SmileVolunteersTeam data = volunteersTeamService.details(teamId);
mmap.put("smileVolunteersTeam", data);
return prefix + "/team/edit";
}
@GetMapping("team/search")
@ApiOperation("组名字搜索")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "title", value = "组名称")
})
public AjaxResult search(@RequestParam(value = "title", required = false) String title) {
return volunteersTeamService.search(title);
}
@GetMapping("team/ByProjectId")
@ApiOperation("根据活动id查询关联组")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "projectId", value = "活动id"),
})
public AjaxResult getListByProjectId(@RequestParam(value = "projectId", required = false) String projectId) {
return volunteersTeamService.getListByProjectId(projectId);
}
@PostMapping("project/list")
@ApiOperation("活动列表")
@ResponseBody
public TableDataInfo listProject(SmileVPSParam param) {
PageHelper.startPage(param.getPageNum(), param.getPageSize());
return getDataTable(volunteersProjectService.list(param));
}
@PostMapping("project/insert")
@ApiOperation("活动新增")
@ResponseBody
public AjaxResult insertProject(SmileVPParam param) {
return volunteersProjectService.insertData(param);
}
@PostMapping("project/update")
@ApiOperation("活动修改")
@ResponseBody
public AjaxResult updateProject(SmileVPParam param) {
return volunteersProjectService.updateData(param);
}
@PostMapping("project/status")
@ApiOperation("活动修改状态")
@ResponseBody
public AjaxResult updateProject(String projectId, Integer status) {
return volunteersProjectService.updateStatus(projectId, status);
}
@GetMapping("project/details/{projectId}")
@ApiOperation("活动详情")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "projectId", value = "活动id"),
})
public String detailsProject(@PathVariable("projectId") String projectId, ModelMap mmap) {
SmileProjectDetailsVo data = volunteersProjectService.details(projectId);
SmileVTSParam param = new SmileVTSParam();
param.setPageNum(1);
param.setPageSize(40);
List<SmileVolunteersTeamVo> listVo = new ArrayList<>();
List<SmileVolunteersTeam> listBean = volunteersTeamService.list(param);
List<String> list = data.getTeamArray().stream().map(SmileVolunteersTeam::getTeamId).collect(Collectors.toList());
for (SmileVolunteersTeam bean : listBean) {
SmileVolunteersTeamVo vo = SmileVolunteersTeamVo.getNew();
vo.setTeamId(bean.getTeamId());
vo.setName(bean.getName());
vo.setIntroduce(bean.getIntroduce());
if (list.contains(bean.getTeamId())) {
vo.setIsCheck(1);
} else {
vo.setIsCheck(0);
}
listVo.add(vo);
}
data.setTeamVoArray(listVo);
mmap.put("platformUrl", platformUrl);
mmap.put("smileProjectDetailsVo", data);
return prefix + "/project/edit";
}
@PostMapping("/list")
@ApiOperation("志愿者列表")
@ResponseBody
public TableDataInfo listVolunteers(SmileVSParam param) {
PageHelper.startPage(param.getPageNum(), param.getPageSize());
return getDataTable(volunteersService.list(param));
}
@GetMapping("/details/{mid}")
@ApiOperation("志愿者详情")
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "mid", value = "mid"),
})
public String detailsVolunteers(@PathVariable("mid") String mid, ModelMap mmap) {
SmileVolunteersDetailsVo data = volunteersService.details(mid);
mmap.put("smileVolunteersDetailsVo", data);
AjaxResult ajaxResult = volunteersTeamService.getListByProjectId(data.getProjectId());
List<SmileVolunteersTeam> list = ((List<SmileVolunteersTeam>) ajaxResult.get("value"));
mmap.put("listData", list);
return prefix + "/edit";
}
@PostMapping("/audit")
@ApiOperation("志愿者审核")
@ResponseBody
@ApiImplicitParams({
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "projectId", value = "活动id"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "uid", value = "用户id"),
@ApiImplicitParam(type = "form", required = true, dataType = "String", name = "teamId", value = "被分配组id"),
@ApiImplicitParam(type = "form", required = true, dataType = "Integer", name = "status", value = "审核状态[0-待审核|1-审核通过|2-审核未通过]"),
})
public AjaxResult auditVolunteers(String projectId, String uid, String teamId, Integer status) {
return volunteersService.audit(projectId, uid, teamId, status);
}
@PostMapping("/export")
@ApiOperation("志愿者导出")
@ResponseBody
public AjaxResult exportVolunteers(SmileVSParam param) {
List<VolunteersExportVo> beanList = volunteersService.volunteersExport(param);
ExcelUtil<VolunteersExportVo> util = new ExcelUtil(VolunteersExportVo.class);
return util.exportExcel(beanList, "V");
}
}
...@@ -10,9 +10,9 @@ spring: ...@@ -10,9 +10,9 @@ spring:
cloud: cloud:
config: config:
# uri: http://127.0.0.1:7002/support-config # uri: http://127.0.0.1:7002/support-config
# uri: http://39.107.71.112:7002/support-config uri: http://39.107.71.112:7002/support-config
name: ${spring.application.name},${spring.application.name}-druid #默认为spring.application.name name: ${spring.application.name},${spring.application.name}-druid #默认为spring.application.name
profile: ${liquidnet.cloudConfig.profile} # profile: ${liquidnet.cloudConfig.profile}
discovery: # discovery:
enabled: true # enabled: true
service-id: liquidnet-support-config # service-id: liquidnet-support-config
...@@ -1154,7 +1154,11 @@ var table = { ...@@ -1154,7 +1154,11 @@ var table = {
// 修改信息,以tab页展现 // 修改信息,以tab页展现
editTab: function(id) { editTab: function(id) {
table.set(); table.set();
if(table.options.modalName.indexOf("审核")!=-1){
$.modal.openTab("" + table.options.modalName, $.operate.editUrl(id));
}else{
$.modal.openTab("修改" + table.options.modalName, $.operate.editUrl(id)); $.modal.openTab("修改" + table.options.modalName, $.operate.editUrl(id));
}
}, },
// 修改信息 全屏 // 修改信息 全屏
editFull: function(id) { editFull: function(id) {
......
...@@ -22,6 +22,44 @@ ...@@ -22,6 +22,44 @@
margin: 0; margin: 0;
margin-right: 2px; margin-right: 2px;
} }
#addClassify .selectClassify .ibox-content {
width: 100%;
}
/* 新建学校 modal 校名 */
#addClassify .selectClassify .ibox-content .schoolName {
width: 100%;
height: 34px;
border: 1px solid #dfdfdf;
margin-bottom: 20px;
}
/* 详细地址 */
#addClassify .selectClassify .ibox-content .schoolAdress {
width: 100%;
height: 34px;
border: 1px solid #dfdfdf;
}
/* 低部按钮 */
#addClassify .bottomBtn {
padding: 0 0 20px 42px;
}
.layui-layer-shade{
opacity: 30%;
}
.picker {
height: 34px;
position: relative;
}
.picker .require-item {
color: red;
position: absolute;
top: 6px;
left: -12px;
font-size: 20px;
}
.show-require-text {
color: red;
height: 18px;
}
</style> </style>
</head> </head>
<body class="gray-bg"> <body class="gray-bg">
...@@ -33,7 +71,7 @@ ...@@ -33,7 +71,7 @@
<ul> <ul>
<li> <li>
<label>学校名称:</label> <label>学校名称:</label>
<input type="text" name="activityTitle"/> <input id="schoolName" type="text" name="name"/>
</li> </li>
<li> <li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
...@@ -52,6 +90,7 @@ ...@@ -52,6 +90,7 @@
<div class="col-sm-12 select-table table-bordered"> <div class="col-sm-12 select-table table-bordered">
<table id="bootstrap-table"></table> <table id="bootstrap-table"></table>
</div> </div>
<!-- 添加学校 modal -->
<div id="addClassify"> <div id="addClassify">
<div class="selectClassify"> <div class="selectClassify">
<div class="ibox-content"> <div class="ibox-content">
...@@ -59,8 +98,10 @@ ...@@ -59,8 +98,10 @@
<div class="file-loading"> <div class="file-loading">
<input class="schoolName" type="text" placeholder="学校名称" > <input class="schoolName" type="text" placeholder="学校名称" >
<div class="picker"> <div class="picker">
<div class="require-item">*</div>
<div class="demo" id="demo-1"></div> <div class="demo" id="demo-1"></div>
</div> </div>
<p class="show-require-text" id="requireProvinceText"></p>
<input class="schoolAdress" type="text" placeholder="详细地址输入" > <input class="schoolAdress" type="text" placeholder="详细地址输入" >
</div> </div>
</div> </div>
...@@ -90,12 +131,14 @@ ...@@ -90,12 +131,14 @@
address: schoolAdress, address: schoolAdress,
name: schoolName, name: schoolName,
area: adArr.addressStr[2], area: adArr.addressStr[2],
areaId: adArr.addressIds[2].toString(), areaId: adArr.addressIds[2] + '',
city: adArr.addressStr[1], city: adArr.addressStr[1],
cityId: adArr.addressIds[1].toString(), cityId: adArr.addressIds[1] + '',
province: adArr.addressStr[0], province: adArr.addressStr[0],
provinceId: adArr.addressIds[0].toString() provinceId: adArr.addressIds[0] + ''
}; };
if (adArr.addressStr[0]) {
$('#requireProvinceText').val('');
if (editStatus != '') { if (editStatus != '') {
postData.id = editStatus; postData.id = editStatus;
$.ajax({ $.ajax({
...@@ -104,6 +147,8 @@ ...@@ -104,6 +147,8 @@
headers:{"Content-Type":"application/json;charset=UTF-8"}, headers:{"Content-Type":"application/json;charset=UTF-8"},
data: JSON.stringify(postData), data: JSON.stringify(postData),
success:function(e) { success:function(e) {
$("pull-right button[type=refresh]").click();
refreshItem();
$(".layui-layer-close1").click(); $(".layui-layer-close1").click();
} }
}) })
...@@ -115,15 +160,25 @@ ...@@ -115,15 +160,25 @@
headers:{"Content-Type":"application/json;charset=UTF-8"}, headers:{"Content-Type":"application/json;charset=UTF-8"},
data: JSON.stringify(postData), data: JSON.stringify(postData),
success:function(e) { success:function(e) {
$("pull-right button[type=refresh]").click();
refreshItem();
$(".layui-layer-close1").click(); $(".layui-layer-close1").click();
} }
}) })
} }
} else {
$('#requireProvinceText').text('省为必填项!');
}
} }
function closeModal () { function closeModal () {
$(".layui-layer-close1").click(); $(".layui-layer-close1").click();
} }
// 新建学校 click
$("#button-open-10").click(function(){ $("#button-open-10").click(function(){
$(".schoolName").val('');
$(".schoolAdress").val('');
$('.editCon').val(''); $('.editCon').val('');
layer.open({ layer.open({
type: 1, type: 1,
...@@ -135,6 +190,7 @@ ...@@ -135,6 +190,7 @@
var $picker = $( ".picker" ); var $picker = $( ".picker" );
$.getJSON( ctx + 'smile/user/getAreaJson' ).done(function ( res ) { $.getJSON( ctx + 'smile/user/getAreaJson' ).done(function ( res ) {
$( "#demo-1" ).iPicker({ $( "#demo-1" ).iPicker({
width: 146,
data: JSON.parse(res.msg), data: JSON.parse(res.msg),
// defaultValue: [ "230000", "230800", "230805" ], // defaultValue: [ "230000", "230800", "230805" ],
onSelect: function ( v, t, set ) { onSelect: function ( v, t, set ) {
...@@ -189,11 +245,14 @@ ...@@ -189,11 +245,14 @@
url: prefix + '/del', url: prefix + '/del',
data: { id: id}, data: { id: id},
success:function(e) { success:function(e) {
refreshItem();
layer.msg("操作成功!"); layer.msg("操作成功!");
} }
}) })
}); });
} }
// 编辑学校
function edit(id) { function edit(id) {
layer.open({ layer.open({
type: 1, type: 1,
...@@ -210,9 +269,11 @@ ...@@ -210,9 +269,11 @@
$('.schoolName').val(e.data.name); $('.schoolName').val(e.data.name);
$('.schoolAdress').val(e.data.address); $('.schoolAdress').val(e.data.address);
$.getJSON( ctx + 'smile/user/getAreaJson' ).done(function ( res ) { $.getJSON( ctx + 'smile/user/getAreaJson' ).done(function ( res ) {
$( "#demo-1" ).iPicker({ $( "#demo-1" ).iPicker({
width: 146,
data: JSON.parse(res.msg), data: JSON.parse(res.msg),
defaultValue: [e.data.provinceId, e.data.areaId, e.data.cityId], defaultValue: [e.data.provinceId, e.data.cityId, e.data.areaId],
onSelect: function ( v, t, set ) { onSelect: function ( v, t, set ) {
adArr.addressIds = v; adArr.addressIds = v;
adArr.addressStr = t; adArr.addressStr = t;
......
...@@ -13,9 +13,17 @@ ...@@ -13,9 +13,17 @@
<p>演出地点</p> <p>演出地点</p>
<div class="detail_inner detail_place"></div> <div class="detail_inner detail_place"></div>
<p>票提设置</p> <p>票提设置</p>
<div class="detail_inner detail_option"></div> <div class="detail_inner detail_option">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
<p>代理票种</p> <p>代理票种</p>
<div class="detail_inner detail_pur"></div> <div class="detail_inner detail_pur">
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table2"></table>
</div>
</div>
<p>演出详情</p> <p>演出详情</p>
<div class="detail_inner detail_main"></div> <div class="detail_inner detail_main"></div>
</body> </body>
...@@ -34,11 +42,92 @@ ...@@ -34,11 +42,92 @@
performancesId: perId performancesId: perId
}, },
success:function(e) { success:function(e) {
$('.detail_title span').text(e.data.title); let { data } = e;
$('.detail_img img').attr('src', e.data.imgPoster); console.log('data', data)
$('.detail_time').text(e.data.timeStart + '-' + e.data.timeEnd); $('.detail_title span').text(data.title);
$('.detail_place').text(e.data.fieldName); $('.detail_img img').attr('src', data.imgPoster);
$('.detail_option').text(e.data.detail_option); $('.detail_time').text(data.timeStart + '-' + data.timeEnd);
$('.detail_place').text(data.fieldName);
$('.detail_option').text(data.detail_option);
$('.detail_main').html(data.details);
// 新增表格数据
var options = {
data: data.showAgentVoList,
id: 'bootstrap-table',
pagination: false,
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
sidePagination: "client",
columns: [
{
field: 'totalCarry',
title: '总代票提',
formatter: function (value, row, index) {
// return value * 100 + '%'
return Math.round(value * 100)
}
},
{
field: 'ordCarry',
title: '普代票提',
formatter: function (value, row, index) {
// return value * 100 + '%'
return Math.round(value * 100)
}
},
{
field: 'content',
title: '特殊代理票提'
}
]
};
$.table.init(options);
var options2 = {
data: data.showTicketVoList,
id: 'bootstrap-table2',
pagination: false,
showSearch: false,
showRefresh: false,
showToggle: false,
showColumns: false,
sidePagination: "client",
columns: [
{
field: 'title',
title: '票种名'
},
{
field: 'price',
title: '单价'
},
{
field: 'type',
title: '类型'
},
{
field: 'type',
title: '使用时间',
formatter: function (value, row, index) {
return row.useStart ? $.common.dateFormat(new Date(row.useStart), 'yyyy-MM-dd HH:mm:ss') + ' - ' + $.common.dateFormat(new Date(row.useEnd), 'yyyy-MM-dd HH:mm:ss') : ''
}
},
{
field: 'totalGeneral',
title: '库存'
},
{
field: 'agentSaleNum',
title: '代理销售数量'
},
{
field: 'totalPrice',
title: '销售金额'
}
]
};
$.table.init(options2);
} }
}) })
</script> </script>
......
...@@ -98,7 +98,9 @@ ...@@ -98,7 +98,9 @@
var subOArr = []; var subOArr = [];
$(function () { $(function () {
var options = { var options = {
modalName: "销售数据",
url: smilePrefix + "/list", url: smilePrefix + "/list",
detailUrl: smilePrefix + "/base/saleData/{id}",
columns: [{ columns: [{
checkbox: true checkbox: true
}, },
...@@ -156,8 +158,9 @@ ...@@ -156,8 +158,9 @@
formatter: function (value, row, index) { formatter: function (value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="toPop(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>设置票提</a> '); actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="toPop(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>设置票提</a> ');
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="editPop(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>编辑票提</a> '); // actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="editPop(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>编辑票提</a> ');
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="toDetail(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> '); actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="toDetail(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>查看</a> ');
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.detail(\'' + row.performancesId + '\')"><i class="fa fa-edit"></i>销售数据</a> ');
return actions.join(''); return actions.join('');
} }
}] }]
...@@ -195,10 +198,10 @@ ...@@ -195,10 +198,10 @@
postData.push({ postData.push({
delTag: subOArr[i].delTag, delTag: subOArr[i].delTag,
id: subOArr[i].id, id: subOArr[i].id,
ordCarry: Number($('.ticketsti' + i).find('.normal').val()) / 100, ordCarry: Math.round($('.ticketsti' + i).find('.normal').val() * 100) / 100,
performanceId: subOArr[i].performanceId, performanceId: subOArr[i].performanceId,
ticketId: subOArr[i].ticketId, ticketId: subOArr[i].ticketId,
totalCarry: Number($('.ticketsti' + i).find('.total').val()) / 100, totalCarry: Math.round($('.ticketsti' + i).find('.total').val() * 100) / 100,
}); });
} }
$.ajax({ $.ajax({
...@@ -207,8 +210,12 @@ ...@@ -207,8 +210,12 @@
headers: {"Content-Type": "application/json;charset=UTF-8"}, headers: {"Content-Type": "application/json;charset=UTF-8"},
data: JSON.stringify(postData), data: JSON.stringify(postData),
success: function (e) { success: function (e) {
if (e.code === 301) {
$.modal.msgWarning(e.msg);
} else {
$(".layui-layer-close1").click(); $(".layui-layer-close1").click();
} }
}
}); });
} }
...@@ -216,7 +223,7 @@ ...@@ -216,7 +223,7 @@
$('#addClassify .form-group').html(''); $('#addClassify .form-group').html('');
layer.open({ layer.open({
type: 1, type: 1,
shade: true, shade: .3,
title: '设置票提', //不显示标题 title: '设置票提', //不显示标题
content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响 content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
success: function () { success: function () {
...@@ -229,16 +236,16 @@ ...@@ -229,16 +236,16 @@
headers: {"Content-Type": "application/json;charset=UTF-8"}, headers: {"Content-Type": "application/json;charset=UTF-8"},
success: function (e) { success: function (e) {
subOArr = e.data; subOArr = e.data;
for (var i in e.data) { subOArr.forEach(item =>{
$('#addClassify .form-group').append( $('#addClassify .form-group').append(
'<div class="ticketsti' + i + '">' + '<div class="ticketsti' + item + '">' +
'<p>' + e.data[i].title + '</p>' + '<p>' + item.ticketName + '</p>' +
'<p>票提设置</p>' + '<p>票提设置</p>' +
'<span>总代<input type="text" class="total" value="' + Number(e.data[i].totalCarry) * 100 + '">%</span>' + '<span>总代<input type="text" class="total" value="' + Number(item.totalCarry) * 100 + '">%</span>' +
'<span>普代<input type="text" class="normal" value="' + Number(e.data[i].ordCarry) * 100 + '">%</span>' + '<span>普代<input type="text" class="normal" value="' + Number(item.ordCarry) * 100 + '">%</span>' +
'</div>' '</div>'
) )
} })
} }
}); });
}, },
...@@ -252,7 +259,7 @@ ...@@ -252,7 +259,7 @@
$('#addClassify .form-group').html(''); $('#addClassify .form-group').html('');
layer.open({ layer.open({
type: 1, type: 1,
shade: true, shade: .3,
title: '设置票提', //不显示标题 title: '设置票提', //不显示标题
content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响 content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
success: function () { success: function () {
...@@ -264,18 +271,17 @@ ...@@ -264,18 +271,17 @@
url: ctx + 'smile/agent/list?performancesId=' + id, url: ctx + 'smile/agent/list?performancesId=' + id,
headers: {"Content-Type": "application/json;charset=UTF-8"}, headers: {"Content-Type": "application/json;charset=UTF-8"},
success: function (e) { success: function (e) {
subOArr = e.data; subOArr = e.data || [];
for (var i in e.data) { subOArr.forEach((item, index) =>{
$('#addClassify .form-group').append( $('#addClassify .form-group').append(
'<div class="ticketsti' + i + '">' + '<div class="ticketsti' + index + '">' +
'<p>' + e.data.title + '</p>' + '<p>' + item.ticketName + '</p>' +
'<p>票提设置</p>' + '<p>票提设置</p>' +
'<span>总代<input type="text" class="total">%</span>' + '<span>总代<input type="text" class="total">%</span>' +
'<span>普代<input type="text" class="normal">%</span>' + '<span>普代<input type="text" class="normal">%</span>' +
'</div>' '</div>'
) )
} })
// console.log(e);
} }
}); });
}, },
...@@ -284,6 +290,7 @@ ...@@ -284,6 +290,7 @@
} }
}); });
} }
</script> </script>
</body> </body>
</html> </html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('销售数据')"/>
<th:block th:include="include :: datetimepicker-css"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-transfer-edit" th:object="${saleDataVo}">
<div class="form-group">
<label class="col-sm-3 control-label is-required">演出id:</label>
<div class="col-sm-8">
<input name="performancesId" th:field="*{performancesId}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">演出名称:</label>
<div class="col-sm-8">
<input name="title" th:field="*{title}" class="form-control" type="text" readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">票提设置:</label>
<table id="team-table" class="table table-condensed table-sm" th:border="1">
<tr>
<td>票种名称</td>
<td>总代票提</td>
<td>普代票提</td>
<tr/>
<div th:each="item : *{showAgentVoList}">
<tr class="content-tr">
<td th:text="${item.title}">
</td>
<td th:text="${item.totalCarry}">
</td>
<td th:text="${item.ordCarry}">
</td>
</tr>
</div>
</table>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">代理数据:</label>
<table id="team-table2" class="table table-condensed table-sm" th:border="1">
<tr>
<td>姓名</td>
<td>所属地区</td>
<td>身份</td>
<div th:each="item : *{showAgentVoList}">
<td th:text="${item.title}"></td>
</div>
<td>总销售张数</td>
<td>总销售金额</td>
<td>总销售佣金</td>
<td>打款状态</td>
<td>操作</td>
<tr/>
<div th:each="item : *{userDataList}">
<tr class="content-tr">
<td th:text="${item.username}"></td>
<td th:text="${item.cityName}"></td>
<!-- <td th:name="uid" th:text="${item.uid}" hidden="hidden"></td>-->
<td th:if="${item.type==1}" th:text="总代"></td>
<td th:if="${item.type==2}" th:text="普代"></td>
<td th:each="itemAgent : ${item.dataAgentVos}" th:text="${itemAgent.number}"></td>
<td th:text="${#aggregates.sum(item.dataAgentVos.![number])}"></td>
<td th:text="${#aggregates.sum(item.dataAgentVos.![price*number])}"></td>
<td th:text="${#aggregates.sum(item.dataAgentVos.![commission])}"></td>
<td th:if="${item.priceStatus!=0}" th:text="待打款"></td>
<td th:if="${item.priceStatus==0}" th:text="已打款"></td>
<td th:if="${item.priceStatus!=0}">
<button type="button" class="btn btn-success btn-xs"
th:onclick="submitHandler([[${item.uid}]])">
打款
</button>
</td>
</tr>
</div>
</table>
</div>
</form>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: datetimepicker-js"/>
<script th:inline="javascript">
var prefix = ctx + "smile/show";
$("#form-transfer-edit").validate({
focusCleanup: true
});
function submitHandler(uid) {
var param = {
performancesId: '[[${saleDataVo.performancesId}]]'.replaceAll("\"", ""),
uid: uid,
status: 0
}
$.ajax({
type: 'post',
url: prefix + "/price",
headers: {"Content-Type": "application/json;charset=UTF-8"},
data: JSON.stringify(param),
success: function (e) {
alert(e.msg)
location.reload();
}
});
}
</script>
</body>
</html>
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
// // modalName: "订单", // // modalName: "订单",
$(function() { $(function() {
var options = { var options = {
updateUrl: smilePrefix + "/smileDetail",
url: smilePrefix + "/list", url: smilePrefix + "/list",
columns: [{ columns: [{
checkbox: true checkbox: true
...@@ -115,7 +116,7 @@ ...@@ -115,7 +116,7 @@
align: 'center', align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.mid + '\')"><i class="fa fa-edit"></i>查看</a> '); actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="goDetail(\'' + row.uid + '\')"><i class="fa fa-edit"></i>查看</a> ');
return actions.join(''); return actions.join('');
} }
}] }]
...@@ -124,6 +125,10 @@ ...@@ -124,6 +125,10 @@
console.log(options) console.log(options)
}); });
function goDetail (id) {
var url = ctx+'local/smileDetail?id=' + id;
$.modal.openTab("用户详情", url);
}
// var updateFlag = [[${@permission.hasPermi('sweet:integralActivity:create')}]]; // var updateFlag = [[${@permission.hasPermi('sweet:integralActivity:create')}]];
// var isOnlineFlag = [[${@permission.hasPermi('sweet:integralActivity:isOnline')}]]; // var isOnlineFlag = [[${@permission.hasPermi('sweet:integralActivity:isOnline')}]];
// var drawListFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:list')}]]; // var drawListFlag = [[${@permission.hasPermi('sweet:integralActivityDraw:list')}]];
......
...@@ -24,8 +24,8 @@ ...@@ -24,8 +24,8 @@
<div class="detail_inner detail_school"></div> <div class="detail_inner detail_school"></div>
<p>所学专业/所在部门</p> <p>所学专业/所在部门</p>
<div class="detail_inner detail_acc"></div> <div class="detail_inner detail_acc"></div>
<p>微信号</p> <!--<p>微信号</p>-->
<div class="detail_inner detail_wx"></div> <!--<div class="detail_inner detail_wx"></div>-->
<p class="detail_title">认证信息</p> <p class="detail_title">认证信息</p>
<p>姓名:</p> <p>姓名:</p>
<div class="detail_inner detail_name"></div> <div class="detail_inner detail_name"></div>
...@@ -35,8 +35,8 @@ ...@@ -35,8 +35,8 @@
<div class="detail_inner detail_desc"></div> <div class="detail_inner detail_desc"></div>
<p>手机号:</p> <p>手机号:</p>
<div class="detail_inner detail_mobail"></div> <div class="detail_inner detail_mobail"></div>
<p>提交时间:</p> <!--<p>提交时间:</p>-->
<div class="detail_inner detail_created"></div> <!--<div class="detail_inner detail_created"></div>-->
<div class="bottomBtn" id="btn-commit"> <div class="bottomBtn" id="btn-commit">
<a href="javascript:" class="a-success layui-layer-btn0" onclick="yes(1)">通过</a> <a href="javascript:" class="a-success layui-layer-btn0" onclick="yes(1)">通过</a>
<a class="layui-layer-btn1 layui-layer-btn1 a-fail" onclick="closeModal(0)">驳回</a> <a class="layui-layer-btn1 layui-layer-btn1 a-fail" onclick="closeModal(0)">驳回</a>
...@@ -67,8 +67,10 @@ ...@@ -67,8 +67,10 @@
<div class="selectClassify"> <div class="selectClassify">
<div class="ibox-content"> <div class="ibox-content">
<div class="form-group"> <div class="form-group">
<span class="require-false">*</span>
<input class="reason_text" type="textarea" placeholder="请输入驳回原因"> <input class="reason_text" type="textarea" placeholder="请输入驳回原因">
</div> </div>
<p class="requireFalseText"></p>
</div> </div>
</div> </div>
<input type="hidden" class="editCon"> <input type="hidden" class="editCon">
...@@ -85,14 +87,16 @@ ...@@ -85,14 +87,16 @@
<script type="text/javascript"> <script type="text/javascript">
var smilePrefix = ctx + "smile/user"; var smilePrefix = ctx + "smile/user";
var orifix = ctx + "smile/organization"; var orifix = ctx + "smile/organization";
var penddingId = window.localStorage.getItem('penddingId'); // var penddingId = window.localStorage.getItem('penddingId');
let _uid = getUrlParms('id');
var detailObj = {} var detailObj = {}
$.ajax({ $.ajax({
type: 'post', type: 'post',
url: smilePrefix + "/getUserById", url: smilePrefix + "/getUserById",
data: { data: {
uid: penddingId uid: _uid
}, },
success: function (e) { success: function (e) {
var detailData = e.data; var detailData = e.data;
...@@ -125,13 +129,22 @@ ...@@ -125,13 +129,22 @@
if (detailData.type != 0) { if (detailData.type != 0) {
document.getElementById("btn-commit").style.visibility = "hidden"; document.getElementById("btn-commit").style.visibility = "hidden";
} }
console.log('e', e)
} }
}) })
function getUrlParms(name){
var reg = new RegExp("(^|&)"+ name +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null)
return unescape(r[2]);
return null;
}
function closeModal() { function closeModal() {
layer.open({ layer.open({
type: 1, type: 1,
shade: true, shade: 0.3,
title: '驳回', //不显示标题 title: '驳回', //不显示标题
content: $('#addClassify_false') //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响 content: $('#addClassify_false') //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
}); });
...@@ -145,7 +158,12 @@ ...@@ -145,7 +158,12 @@
type: Number(detailObj.type), type: Number(detailObj.type),
uid: detailObj.uid, uid: detailObj.uid,
} }
} else { } else { // 驳回
// 驳回原因必填
if (!$('.reason_text').val()) {
$('.requireFalseText').text('驳回原因为必填项!')
return
}
var postData = { var postData = {
id: Number(detailObj.id), id: Number(detailObj.id),
orgId: '', orgId: '',
...@@ -154,6 +172,8 @@ ...@@ -154,6 +172,8 @@
reason: $('.reason_text').val() reason: $('.reason_text').val()
} }
} }
$('.requireFalseText').text('')
$.ajax({ $.ajax({
type: 'post', type: 'post',
url: smilePrefix + "/check/updateById", url: smilePrefix + "/check/updateById",
...@@ -165,12 +185,13 @@ ...@@ -165,12 +185,13 @@
location.reload(); location.reload();
} }
}) })
} }
function yes() { function yes() {
layer.open({ layer.open({
type: 1, type: 1,
shade: true, shade: 0.3,
title: '通过', //不显示标题 title: '通过', //不显示标题
content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响 content: $('#addClassify'), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
success: function () { success: function () {
...@@ -257,6 +278,16 @@ ...@@ -257,6 +278,16 @@
font-weight: bold; font-weight: bold;
font-size: 16px; font-size: 16px;
} }
.require-false {
font-size: 20px;
color: red;
margin-right: 10px;
position: relative;
top: 6px;
}
.requireFalseText {
color: red;
}
</style> </style>
</html> </html>
\ No newline at end of file
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<ul> <ul>
<li> <li>
<label>手机号:</label> <label>手机号:</label>
<input type="text" name="activityTitle"/> <input type="text" name="phone"/>
</li> </li>
<li> <li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i <a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
...@@ -39,8 +39,10 @@ ...@@ -39,8 +39,10 @@
// // removeUrl: prefix + "/remove", // // removeUrl: prefix + "/remove",
// // exportUrl: prefix + "/export", // // exportUrl: prefix + "/export",
// // modalName: "订单", // // modalName: "订单",
$(function() { $(function() {
var options = { var options = {
detailUrl: "/local/smilePendingDetail/{id}",
url: smilePrefix + "/check/list", url: smilePrefix + "/check/list",
columns: [{ columns: [{
checkbox: true checkbox: true
...@@ -120,7 +122,7 @@ ...@@ -120,7 +122,7 @@
align: 'center', align: 'center',
formatter: function(value, row, index) { formatter: function(value, row, index) {
var actions = []; var actions = [];
actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="toDetail(\'' + row.uid + '\')"><i class="fa fa-edit"></i>查看</a> '); actions.push('<a class="btn btn-success btn-xs ' + detailFlag + '" href="javascript:void(0)" onclick="goDetail(\'' + row.uid + '\')"><i class="fa fa-edit"></i>查看</a> ');
return actions.join(''); return actions.join('');
} }
}] }]
...@@ -129,9 +131,14 @@ ...@@ -129,9 +131,14 @@
}); });
/* 跳转详情 */ /* 跳转详情 */
function toDetail(id) { // function toDetail(id) {
window.localStorage.setItem('penddingId', id); // // console.log('toDetail-uuid', id)
var url = '/local/smilePendingDetail'; // window.localStorage.setItem('penddingId', id);
// var url = '/local/smilePendingDetail';
// $.modal.openTab("待审核详情", url);
// }
function goDetail (id) {
var url = '/local/smilePendingDetail?id=' + id;
$.modal.openTab("待审核详情", url); $.modal.openTab("待审核详情", url);
} }
</script> </script>
......
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('修改职责组')"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-volunteers-edit" th:object="${smileVolunteersDetailsVo}">
<input name="projectId" th:value="*{projectId}" type="hidden">
<input name="uid" th:value="*{uid}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">审核状态:</label>
<div class="col-sm-8">
<input name="status" class="form-control" type="text" th:if="*{status==0}" th:value="待审核" readonly
required>
<input name="status" class="form-control" type="text" th:if="*{status==1}" th:value="通过" readonly
required>
<input name="status" class="form-control" type="text" th:if="*{status==2}" th:value="拒绝" readonly
required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">姓名:</label>
<div class="col-sm-8">
<input name="name" class="form-control" type="text" th:value="*{name}" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">头像:</label>
<div class="col-sm-8">
<!-- <input name="img" class="form-control" type="text" th:value="*{img}" readonly required>-->
<img class="img-details" name="img" th:src="*{img}"
th:onclick="click_big([[*{img}]])">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">证件号:</label>
<div class="col-sm-8">
<input name="idCard" class="form-control" type="text" th:value="*{idCard}" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">性别:</label>
<div class="col-sm-8">
<input name="sex" class="form-control" type="text" th:if="*{sex==0}" th:value="未知" readonly required>
<input name="sex" class="form-control" type="text" th:if="*{sex==1}" th:value="男" readonly required>
<input name="sex" class="form-control" type="text" th:if="*{sex==2}" th:value="女" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">学校:</label>
<div class="col-sm-8">
<input name="school" class="form-control" type="text" th:value="*{school}" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">学校地址:</label>
<div class="col-sm-8">
<input name="schoolAddress" class="form-control" type="text" th:value="*{schoolAddress}" readonly
required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">专长:</label>
<div class="col-sm-8">
<input name="specialty" class="form-control" type="text" th:value="*{specialty}" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">特长:</label>
<div class="col-sm-8">
<input name="specialty2" class="form-control" type="text" th:value="*{specialty2}" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">手机号:</label>
<div class="col-sm-8">
<input name="phone" class="form-control" type="text" th:value="*{phone}" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">项目名称:</label>
<div class="col-sm-8">
<input name="projectName" class="form-control" type="text" th:value="*{projectName}" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">自我介绍:</label>
<div class="col-sm-8">
<input name="introduce" class="form-control" type="text" th:value="*{introduce}" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">申请时间:</label>
<div class="col-sm-8">
<input name="createdAt" class="form-control" type="text" th:value="*{createdAt}" readonly required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">用户申请/分配职责组:</label>
<table id="team-table_user" class="table table-condensed table-sm" th:border="1">
<tr>
<td>名称</td>
<td>介绍</td>
<tr/>
<div th:each="item : ${smileVolunteersDetailsVo.teamArray}">
<tr class="content-tr">
<td th:value="${item.name}" th:text="${item.name}">
</td>
<td th:text="${item.introduce}">
</td>
</tr>
</div>
</table>
</div>
<div class="form-group" th:if="*{status==0}">
<label class="col-sm-3 control-label is-required">可分配申请职责组:</label>
<table id="team-table" class="table table-condensed table-sm" th:border="1">
<tr>
<td>名称</td>
<td>介绍</td>
<td>选中</td>
<tr/>
<div th:each="item : ${listData}">
<tr class="content-tr">
<td th:value="${item.name}" th:text="${item.name}">
</td>
<td th:text="${item.introduce}">
</td>
<td>
<input name="teamCheck" type="radio" th:value="${item.teamId}"> 选中</label>
</td>
</tr>
</div>
</table>
</div>
<button type="button" class="btn btn-w-m btn-success" onclick="submitHandler(1)" th:if="*{status==0}">
通过
</button>
<button type="button" class="btn btn-w-m btn-warning" onclick="submitHandler(2)" th:if="*{status==0}">
拒绝
</button>
</form>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var smilePrefix = ctx + "smile/volunteers";
$("#form-roadShow-edit").validate({
focusCleanup: true
});
function submitHandler(status) {
var teamIds = $("input[name^='teamCheck']:checked").val()
var uid = $("input[name^='uid']").val()
var projectId = $("input[name^='projectId']").val()
if (status === 1 && typeof (teamIds) == "undefined") {
alert("请分配职责组");
} else {
$.operate.post(smilePrefix + "/audit",
{
"projectId": projectId,
"uid": uid,
"teamId": teamIds,
"status": status
}, function (res) {
location.reload();
});
}
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('志愿者列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li th:if="${projectId==null}">
<label>活动名称:</label>
<input type="text" name="title"/>
</li>
<li style="display:none">
<label>活动id:</label>
<input type="text" name="projectId" th:value="${projectId}"/>
</li>
<li>
<label>用户名称:</label>
<input type="text" name="name"/>
</li>
<li>
<label>职责组:</label>
<input type="text" name="team"/>
</li>
<li>
<label>手机号:</label>
<input type="text" name="phone"/>
</li>
<li>
<label>审核状态:</label>
<select name="status">
<option value="-1">全部</option>
<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>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.table.exportExcel()">
<i class="fa fa-download"></i> 导出
</a>
</li>
</ul>
</div>
</form>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var prefix = ctx + "smile/volunteers";
$(function () {
var options = {
url: prefix + "/list",
updateUrl: prefix + "/details/{id}",
// sortName: "sort",
modalName: "审核志愿者",
exportUrl: prefix + "/export",
orderSc: "desc",
orderItem: "created_at",
columns: [{
checkbox: true
},
{
field: 'mid',
title: '序号'
},
// {
// field: 'uid',
// title: '用户id'
// },
{
field: 'name',
title: '姓名'
},
{
field: 'img',
title: '头像',
formatter: function (value, row, index) {
return $.table.imageView(value, "300", "300");
}
},
{
field: 'sex',
title: '性别'
},
{
field: 'phone',
title: '手机号'
},
{
field: 'projectName',
title: '活动名称'
},
{
field: 'school',
title: '学校'
},
{
field: 'schoolAddress',
title: '学校地址'
},
{
field: 'team1',
title: '申请职责1'
},
{
field: 'team2',
title: '申请职责2'
},
{
field: 'team3',
title: '申请职责3'
},
{
field: 'status',
title: '状态'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-warning btn-xs " href="javascript:void(0)" onclick="$.operate.editTab(\'' + row.mid + '\')"><i class="fa fa-remove"></i>管理</a>');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('新增活动')"/>
<th:block th:include="include :: datetimepicker-css"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-team-add">
<input id="teamIdArray" name="teamIdArray" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">活动名称:</label>
<div class="col-sm-8">
<input name="title" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<div class="col-sm-8">
<input id="fileinput10" type="file">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">封面图地址:</label>
<div class="col-sm-8">
<input id="iptUrl" name="img" class="form-control" type="text" required readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">地址:</label>
<div class="col-sm-8">
<input name="address" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">介绍:</label>
<div class="col-sm-8">
<input name="introduce" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">活动时间: </label>
<input type="text" style="width: 200px;float: left"
class="form-control" id="startTime" placeholder="开始时间选择" name="timeStart"
required/>
<span class="control-label" style="float: left;margin-left: 10px;margin-right: 10px"></span>
<input type="text" style="width: 200px;float: left"
class="form-control" id="endTime" placeholder="结束时间选择" name="timeEnd"
required/>
</div>
</form>
<form class="form-horizontal m" id="form-team" th:object="${listData}">
<table id="team-table" class="table table-condensed table-sm" th:border="1">
<tr>
<td>名称</td>
<td>介绍</td>
<td>选中</td>
<tr/>
<div th:each="item : ${listData}">
<tr class="content-tr">
<td th:value="${item.name}" th:text="${item.name}">
</td>
<td th:text="${item.introduce}">
</td>
<td>
<input name="checkbox" type="checkbox" th:value="${item.teamId}"> 选中</label>
</td>
</tr>
</div>
</table>
</form>
<div class="cover_pop" style="display: none">
<div class="pop_inner">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<div class="file-loading">
<input id="fileinput-demo-1" type="file" name="file" data-browse-on-zone-click="true"
data-msg-placeholder="Select {files} for upload...">
<input hidden id="coverImg" name="coverImg">
</div>
</div>
<div class="pop_btns">
<div class="confirm_btn" onclick="popBtn(1)">确认</div>
<div class="confirm_btn confirm_cancel" onclick="popBtn(0)">取消</div>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: datetimepicker-js"/>
<script th:inline="javascript">
var smilePrefix = ctx + "smile/volunteers";
var platformUrl = [[${platformUrl}]];
var teamIds = [];
$("#form-team-add").validate({
focusCleanup: true
});
$("#startTime").datetimepicker({
format: "yyyy-mm-dd hh:ii:ss",
autoclose: true
});
$("#endTime").datetimepicker({
format: "yyyy-mm-dd hh:ii:ss",
autoclose: true
});
$("input:checkbox").click(function () {
var domName = $(this).attr('name');//获取当前单选框控件name 属性值
var checkedState = $(this).attr('checked');//记录当前选中状态
var value = $(this).val();
$("input:radio[name='" + domName + "']").attr('checked', false);//1.
$(this).attr('checked', true);//2.
if (checkedState == 'checked') {
$(this).attr('checked', false); //3.
teamIds.remove(value)
} else {
teamIds.push(value);
}
});
//扩展数组方法:查找指定元素的下标
//author cjianquan 2016-1-14
Array.prototype.indexOf = function (val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
//扩展数组方法:删除指定元素
//author cjianquan 2016-1-14
Array.prototype.remove = function (val) {
var index = this.indexOf(val);
while (index > -1) {
this.splice(index, 1);
index = this.indexOf(val);
}
};
$("#fileinput10").change((e) => {
if (!e.target.files[0]) {
return
}
var formData = new FormData();
formData.append("file", e.target.files[0]);
$.ajax({
url: platformUrl + "/platform/basicServices/alOss/upload",//路径是你控制器中上传图片的方法,下面controller里面我会写到
data: formData,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function (res) {
console.log(res, 'res')
let imgPath = 'https://img.zhengzai.tv/' + res.data.ossPath;
$("#iptUrl").val(imgPath);
}
});
})
function submitHandler() {
if (teamIds.length === 0) {
alert("未选择职责组");
} else {
document.getElementById("teamIdArray").value = teamIds.join(",");
if ($.validate.form()) {
$.operate.save(smilePrefix + "/project/insert", $('#form-team-add').serialize());
}
}
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org">
<head>
<th:block th:include="include :: header('修改活动')"/>
<th:block th:include="include :: datetimepicker-css"/>
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-project-edit" th:object="${smileProjectDetailsVo}">
<input id="teamIdArray" name="teamIdArray" type="hidden">
<input id="projectId" name="projectId" type="hidden" th:value="${smileProjectDetailsVo.projectId}">
<div class="form-group">
<label class="col-sm-3 control-label is-required">活动名称:</label>
<div class="col-sm-8">
<input name="title" class="form-control" type="text" th:value="${smileProjectDetailsVo.title}" required>
</div>
</div>
<div class="form-group">
<div class="col-sm-8">
<input id="fileinput10" type="file">
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">封面图地址:</label>
<div class="col-sm-8">
<input id="iptUrl" name="img" class="form-control" type="text" th:value="${smileProjectDetailsVo.img}"
required readonly>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">地址:</label>
<div class="col-sm-8">
<input name="address" class="form-control" type="text" th:value="${smileProjectDetailsVo.address}"
required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">介绍:</label>
<div class="col-sm-8">
<input name="introduce" class="form-control" type="text" th:value="${smileProjectDetailsVo.introduce}"
required>
</div>
</div>
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">开始时间:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="timeStart" class="form-control" type="date" th:value="${smileProjectDetailsVo.timeStart}"-->
<!-- required>-->
<!-- </div>-->
<!-- </div>-->
<!-- <div class="form-group">-->
<!-- <label class="col-sm-3 control-label is-required">结束时间:</label>-->
<!-- <div class="col-sm-8">-->
<!-- <input name="timeEnd" class="form-control" type="date" th:value="${smileProjectDetailsVo.timeEnd}"-->
<!-- required>-->
<!-- </div>-->
<!-- </div>-->
<div class="form-group">
<label class="col-sm-3 control-label is-required">活动时间: </label>
<input th:field="${smileProjectDetailsVo.timeStart}" type="text" style="width: 200px;float: left"
class="form-control" id="startTime" placeholder="开始时间选择" name="timeStart"
required/>
<span class="control-label" style="float: left;margin-left: 10px;margin-right: 10px"></span>
<input th:field="${smileProjectDetailsVo.timeEnd}" type="text" style="width: 200px;float: left"
class="form-control" id="endTime" placeholder="结束时间选择" name="timeEnd"
required/>
</div>
</form>
<form class="form-horizontal m" id="form-team">
<table id="team-table" class="table table-condensed table-sm" th:border="1">
<tr>
<td>名称</td>
<td>介绍</td>
<td>选中</td>
<tr/>
<div th:each="item : ${smileProjectDetailsVo.teamVoArray}">
<tr class="content-tr">
<td th:value="${item.name}" th:text="${item.name}">
</td>
<td th:text="${item.introduce}">
</td>
<td>
<input name="checkbox" type="checkbox" th:value="${item.teamId}"
th:if="${item.isCheck==1}" th:text="选中" checked></label>
<input name="checkbox" type="checkbox" th:value="${item.teamId}" th:if="${item.isCheck==0}"
th:text="选中"></label>
</td>
</tr>
</div>
</table>
</form>
<div class="cover_pop" style="display: none">
<div class="pop_inner">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<div class="file-loading">
<input id="fileinput-demo-1" type="file" name="file" data-browse-on-zone-click="true"
data-msg-placeholder="Select {files} for upload...">
<input hidden id="coverImg" name="coverImg">
</div>
</div>
<div class="pop_btns">
<div class="confirm_btn" onclick="popBtn(1)">确认</div>
<div class="confirm_btn confirm_cancel" onclick="popBtn(0)">取消</div>
</div>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<th:block th:include="include :: datetimepicker-js"/>
<script th:inline="javascript">
var smilePrefix = ctx + "smile/volunteers";
var platformUrl = [[${platformUrl}]];
var teamIds = [];
$("#form-roadShow-edit").validate({
focusCleanup: true
});
$("#startTime").datetimepicker({
format: "yyyy-mm-dd hh:ii:ss",
autoclose: true
});
$("#endTime").datetimepicker({
format: "yyyy-mm-dd hh:ii:ss",
autoclose: true
});
$(function () {
var data = [[${smileProjectDetailsVo.teamVoArray}]]
for (var i = 0; i < data.length; i++) {
if(data[i].isCheck===1){
teamIds.push(data[i].teamId);
}
}
});
$("input:checkbox").click(function () {
var domName = $(this).attr('name');//获取当前单选框控件name 属性值
var checkedState = $(this).attr('checked');//记录当前选中状态
var value = $(this).val();
$("input:radio[name='" + domName + "']").attr('checked', false);//1.
$(this).attr('checked', true);//2.
if (checkedState == 'checked') {
$(this).attr('checked', false); //3.
teamIds.remove(value)
} else {
teamIds.push(value);
}
});
//扩展数组方法:查找指定元素的下标
//author cjianquan 2016-1-14
Array.prototype.indexOf = function (val) {
for (var i = 0; i < this.length; i++) {
if (this[i] == val) return i;
}
return -1;
};
//扩展数组方法:删除指定元素
//author cjianquan 2016-1-14
Array.prototype.remove = function (val) {
var index = this.indexOf(val);
while (index > -1) {
this.splice(index, 1);
index = this.indexOf(val);
}
};
$("#fileinput10").change((e) => {
if (!e.target.files[0]) {
return
}
var formData = new FormData();
formData.append("file", e.target.files[0]);
$.ajax({
url: platformUrl + "/platform/basicServices/alOss/upload",//路径是你控制器中上传图片的方法,下面controller里面我会写到
data: formData,
cache: false,
contentType: false,
processData: false,
type: 'POST',
success: function (res) {
console.log(res, 'res')
let imgPath = 'https://img.zhengzai.tv/' + res.data.ossPath;
$("#iptUrl").val(imgPath);
}
});
})
function submitHandler() {
if (teamIds.length === 0) {
alert("未选择职责组");
} else {
document.getElementById("teamIdArray").value = teamIds.join(",");
if ($.validate.form()) {
$.operate.save(smilePrefix + "/project/update", $('#form-project-edit').serialize());
}
}
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('项目列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>项目名称:</label>
<input type="text" name="title"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()">
<i class="fa fa-plus"></i> 添加
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var smilePrefix = ctx + "smile/volunteers";
$(function () {
var options = {
url: smilePrefix + "/project/list",
createUrl: smilePrefix + "/project/add",
updateUrl: smilePrefix + "/project/details/{id}",
detailUrl: smilePrefix + "/project/userList/{id}",
// sortName: "sort",
modalName: "活动",
orderSc: "desc",
orderItem: "created_at",
// pageSize: 200,
// pageList: [200],
columns: [{
checkbox: true
},
{
field: 'projectId',
title: '活动id'
},
{
field: 'title',
title: '活动名称'
},
{
field: 'img',
title: '封面图',
formatter: function (value, row, index) {
return $.table.imageView(value, "300", "300");
}
},
{
field: 'timeStart',
title: '开始时间'
},
{
field: 'timeEnd',
title: '结束时间'
},
{
field: 'createdAt',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="$.operate.edit(\'' + row.projectId + '\')"><i class="fa fa-edit"></i>管理</a> ');
if (row.status == 1) {
actions.push('<a class="btn btn-danger btn-xs " href="javascript:void(0)" onclick="f(\'' + row.projectId + '\',0)"><i class="fa fa-remove"></i>下线</a>');
} else {
actions.push('<a class="btn btn-warning btn-xs " href="javascript:void(0)" onclick="f(\'' + row.projectId + '\',1)"><i class="fa fa-remove"></i>上线</a>');
}
actions.push('<a class="btn btn-success btn-xs " href="javascript:void(0)" onclick="$.operate.detailTab(\'' + row.projectId + '\')"><i class="fa fa-edit"></i>审核列表</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
function f(a1, a2) {
$.post(smilePrefix +"/project/status", {projectId: a1, status: a2}, function (res) {
alert(res.msg);
location.reload();
});
}
</script>
</body>
</html>
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('新增职责组')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-team-add">
<div class="form-group">
<label class="col-sm-3 control-label is-required">职责组名称:</label>
<div class="col-sm-8">
<input name="name" class="form-control" type="text" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">职责组介绍:</label>
<div class="col-sm-8">
<input name="introduce" class="form-control" type="text" required>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var smilePrefix = ctx + "smile/volunteers";
$("#form-team-add").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(smilePrefix + "/team/insert", $('#form-team-add').serialize());
}
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" >
<head>
<th:block th:include="include :: header('修改职责组')" />
</head>
<body class="white-bg">
<div class="wrapper wrapper-content animated fadeInRight ibox-content">
<form class="form-horizontal m" id="form-team-edit" th:object="${smileVolunteersTeam}">
<input name="teamId" th:value="*{teamId}" type="hidden">
<div class="form-group">
<label class="col-sm-3 control-label is-required">职责组名称:</label>
<div class="col-sm-8">
<input name="name" class="form-control" type="text" th:value="*{name}" required>
</div>
</div>
<div class="form-group">
<label class="col-sm-3 control-label is-required">职责组介绍:</label>
<div class="col-sm-8">
<input name="introduce" class="form-control" type="text" th:value="*{introduce}" required>
</div>
</div>
</form>
</div>
<th:block th:include="include :: footer" />
<script th:inline="javascript">
var smilePrefix = ctx + "smile/volunteers";
$("#form-roadShow-edit").validate({
focusCleanup: true
});
function submitHandler() {
if ($.validate.form()) {
$.operate.save(smilePrefix + "/team/update", $('#form-team-edit').serialize());
}
}
</script>
</body>
</html>
\ No newline at end of file
<!DOCTYPE html>
<html lang="zh" xmlns:th="http://www.thymeleaf.org" xmlns:shiro="http://www.pollix.at/thymeleaf/shiro">
<head>
<th:block th:include="include :: header('职责组列表')"/>
</head>
<body class="gray-bg">
<div class="container-div">
<div class="row">
<div class="col-sm-12 search-collapse">
<form id="formId">
<div class="select-list">
<ul>
<li>
<label>职责组名称:</label>
<input type="text" name="title"/>
</li>
<li>
<a class="btn btn-primary btn-rounded btn-sm" onclick="$.table.search()"><i
class="fa fa-search"></i>&nbsp;搜索</a>
<a class="btn btn-warning btn-rounded btn-sm" onclick="$.form.reset()"><i
class="fa fa-refresh"></i>&nbsp;重置</a>
</li>
</ul>
</div>
</form>
</div>
<div class="btn-group-sm" id="toolbar" role="group">
<a class="btn btn-success" onclick="$.operate.add()">
<i class="fa fa-plus"></i> 添加
</a>
</div>
<div class="col-sm-12 select-table table-striped">
<table id="bootstrap-table"></table>
</div>
</div>
</div>
<th:block th:include="include :: footer"/>
<script th:inline="javascript">
var smilePrefix = ctx + "smile/volunteers";
$(function () {
var options = {
url: smilePrefix + "/team/list",
// detailUrl: prefix + "/team/details/{id}",
createUrl: smilePrefix + "/team/add",
updateUrl: smilePrefix + "/team/details/{id}",
modalName: "职责组",
orderSc: "desc",
// pageSize: 200,
// pageList: [200],
orderItem: "created_at",
columns: [{
checkbox: true
},
{
field: 'teamId',
title: '职责组id'
},
{
field: 'name',
title: '组名称'
},
{
field: 'introduce',
title: '组介绍'
},
{
field: 'createdAt',
title: '创建时间'
},
{
title: '操作',
align: 'center',
formatter: function (value, row, index) {
var actions = [];
actions.push('<a class="btn btn-success btn-xs" href="javascript:void(0)" onclick="$.operate.edit(\'' + row.teamId + '\')"><i class="fa fa-edit"></i>管理</a> ');
return actions.join('');
}
}]
};
$.table.init(options);
});
</script>
</body>
</html>
...@@ -615,6 +615,8 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma ...@@ -615,6 +615,8 @@ public class KylinPerformancesAdminServiceImpl extends ServiceImpl<KylinPerforma
}else { }else {
smileAgent.setDelTag(1); smileAgent.setDelTag(1);
smileAgentMapper.update(smileAgent,queryWrapper); smileAgentMapper.update(smileAgent,queryWrapper);
//删除票提redis
smileRedisUtils.delAgent(performancesId,ticketId);
} }
......
package com.liquidnet.client.admin.zhengzai.smile.dto; package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -8,6 +9,7 @@ import java.util.List; ...@@ -8,6 +9,7 @@ import java.util.List;
/** /**
* @author TT * @author TT
*/ */
@ApiModel(value = "SaleDataVo", description = "演出销售数据")
@Data @Data
public class SaleDataVo { public class SaleDataVo {
......
package com.liquidnet.client.admin.zhengzai.smile.dto; package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -8,6 +9,7 @@ import java.math.BigDecimal; ...@@ -8,6 +9,7 @@ import java.math.BigDecimal;
/** /**
* @author TT * @author TT
*/ */
@ApiModel(value = "ShowAgentVo", description = "票提信息")
@Data @Data
public class ShowAgentVo { public class ShowAgentVo {
......
...@@ -41,7 +41,7 @@ public class ShowTicketVo { ...@@ -41,7 +41,7 @@ public class ShowTicketVo {
/** /**
* 代理销售数量 总代销售数量+普代销售数量 * 代理销售数量 总代销售数量+普代销售数量
*/ */
private Integer agentSaleNum; private BigDecimal agentSaleNum;
/** /**
* 总销售金额 总代销售金额+普代销售金额 * 总销售金额 总代销售金额+普代销售金额
......
package com.liquidnet.client.admin.zhengzai.smile.dto; package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
...@@ -8,6 +9,7 @@ import java.util.List; ...@@ -8,6 +9,7 @@ import java.util.List;
/** /**
* @author TT * @author TT
*/ */
@ApiModel(value = "ShowVoById", description = "演出详情")
@Data @Data
public class ShowVoById { public class ShowVoById {
......
...@@ -17,9 +17,21 @@ public class SmileUserParam { ...@@ -17,9 +17,21 @@ public class SmileUserParam {
@ApiModelProperty(value = "手机号", example = "") @ApiModelProperty(value = "手机号", example = "")
private String phone; private String phone;
@ApiModelProperty(value = "代理类型", example = "") @ApiModelProperty(value = "代理类型(1:总代,2:普代)", example = "")
private Integer type; private Integer type;
@ApiModelProperty(value = "姓名")
private String name;
@ApiModelProperty(value = "性别 1:男,2女")
private Integer sex;
@ApiModelProperty(value = "身份(1:在校学生(默认),2已毕业)")
private Integer identity;
@ApiModelProperty(value = "学校id")
private String schoolId;
@ApiModelProperty(value = "用户状态0:正常,1:黑名单", example = "") @ApiModelProperty(value = "用户状态0:正常,1:黑名单", example = "")
private Integer state; private Integer state;
......
package com.liquidnet.client.admin.zhengzai.smile.dto; package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.*; import lombok.*;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime;
@Data @Data
public class SmileUserVo { public class SmileUserVo {
private Long id; private Long id;
@ApiModelProperty("uid")
private String uid; private String uid;
/** /**
* 照片 * 照片
*/ */
@ApiModelProperty("照片d")
private String img; private String img;
/** /**
* 真实姓名 * 真实姓名
*/ */
@ApiModelProperty("真实姓名")
private String name; private String name;
/** /**
* 生日YYYY-MM-DD * 生日YYYY-MM-DD
*/ */
@ApiModelProperty("生日")
private LocalDate birthday; private LocalDate birthday;
/** /**
* 性别(1:男(默认),2:女) * 性别(1:男(默认),2:女)
*/ */
@ApiModelProperty("性别(1:男(默认),2:女)")
private Integer sex; private Integer sex;
/** /**
* 手机号 * 手机号
*/ */
@ApiModelProperty("手机号")
private String phone; private String phone;
/** /**
* 省Id * 省Id
*/ */
@ApiModelProperty("省Id")
private String provinceId; private String provinceId;
/** /**
* 省 * 省
*/ */
@ApiModelProperty("省")
private String province; private String province;
/** /**
* 市Id * 市Id
*/ */
@ApiModelProperty("市Id")
private String cityId; private String cityId;
/** /**
* 市 * 市
*/ */
@ApiModelProperty("市")
private String city; private String city;
/** /**
* 区Id * 区Id
*/ */
@ApiModelProperty("区Id")
private String areaId; private String areaId;
/** /**
* 区 * 区
*/ */
@ApiModelProperty("区")
private String area; private String area;
/** /**
* 详细地址 * 详细地址
*/ */
@ApiModelProperty("详细地址")
private String address; private String address;
/** /**
* 微信号 * 微信号
*/ */
@ApiModelProperty("微信号")
private String wechat; private String wechat;
/** /**
* 代理类型(1:总代,2:普代) * 代理类型(1:总代,2:普代)
*/ */
@ApiModelProperty("代理类型(1:总代,2:普代)")
private Integer type; private Integer type;
/** /**
* 组织关联 * 组织关联
*/ */
@ApiModelProperty("组织关联")
private Long orgId; private Long orgId;
/** /**
* 身份证号 * 身份证号
*/ */
@ApiModelProperty("身份证号")
private String idCard; private String idCard;
/** /**
* 学校ID * 学校ID
*/ */
@ApiModelProperty("学校ID")
private String schoolId; private String schoolId;
/** /**
* 学校名称 * 学校名称
*/ */
@ApiModelProperty("学校名称")
private String schoolName; private String schoolName;
/** /**
* 专业 * 专业
*/ */
@ApiModelProperty("专业")
private String schoolMajor; private String schoolMajor;
/** /**
* 身份(1:在校学生(默认),2已毕业) * 身份(1:在校学生(默认),2已毕业)
*/ */
@ApiModelProperty("身份(1:在校学生(默认),2已毕业)")
private Integer identity; private Integer identity;
/** /**
* 标识步骤 * 标识步骤
*/ */
@ApiModelProperty("标识步骤")
private String tag; private String tag;
/** /**
* 认证标识(0:未审核,1:通过,2:未通过) * 认证标识(0:未审核,1:通过,2:未通过)
*/ */
@ApiModelProperty("认证标识(0:未审核,1:通过,2:未通过)")
private Integer authTag; private Integer authTag;
/** /**
* 认证失败原因 * 认证失败原因
*/ */
@ApiModelProperty("认证失败原因")
private String errorReason; private String errorReason;
/** /**
* 1:代理开启,2:代理关闭 * 1:代理开启,2:代理关闭
*/ */
@ApiModelProperty("uid")
private Integer agent; private Integer agent;
/** /**
* 自我介绍 * 自我介绍
*/ */
@ApiModelProperty("自我介绍")
private String introduce; private String introduce;
/** /**
* 擅长1 * 擅长1
*/ */
@ApiModelProperty("擅长1")
private String specialty1; private String specialty1;
/** /**
* 擅长2 * 擅长2
*/ */
@ApiModelProperty("擅长2")
private String specialty2; private String specialty2;
/** /**
* 擅长3 * 擅长3
*/ */
@ApiModelProperty("擅长3")
private String specialty3; private String specialty3;
@ApiModelProperty("创建时间")
private LocalDateTime createdDate;
} }
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;
import java.util.ArrayList;
/**
* @author 志愿者活动创建修改
*/
@Data
public class SmileVPParam {
@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 = "职责组id数组", example = "")
private String teamIdArray;
}
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 志愿者活动搜索
*/
@Data
public class SmileVPSParam {
@ApiModelProperty(value = "职责组名称", example = "")
private String title;
@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;
}
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 = "")
private String team;
@ApiModelProperty(value = "活动id", example = "")
private String projectId;
@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;
}
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import javax.validation.constraints.NotNull;
/**
* 志愿者职责组搜索
*/
@Data
public class SmileVTSParam {
@ApiModelProperty(value = "职责组名称", example = "")
private String title;
@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;
}
package com.liquidnet.client.admin.zhengzai.smile.dto; package com.liquidnet.client.admin.zhengzai.smile.dto;
import com.liquidnet.service.goblin.dto.vo.SellDataOneVO; import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.List; import java.util.List;
/** /**
* @author TT * @author TT
*/ */
@ApiModel(value = "UserData", description = "代理数据")
@Data @Data
public class UserData { public class UserData {
...@@ -37,28 +37,16 @@ public class UserData { ...@@ -37,28 +37,16 @@ public class UserData {
@ApiModelProperty(value = "身份 1。总代 2.普代", example = "") @ApiModelProperty(value = "身份 1。总代 2.普代", example = "")
private Integer type; private Integer type;
/**
* 用户代理票信息
*/
@ApiModelProperty(value = "用户代理票信息", example = "")
List<UserDataAgentVo> dataAgentVos;
/** /**
* 打款状态 * 打款状态
*/ */
@ApiModelProperty(value = "打款状态", example = "") @ApiModelProperty(value = "打款状态", example = "")
private Integer priceStatus; private Integer priceStatus;
@ApiModelProperty(value = "活动名字")
private String activeName;
@ApiModelProperty(value = "id(用户+活动id)")
private String sellDataId;
@ApiModelProperty(value = "销售具体情况")
List<SellDataOneVO> sellDataOneVO;
@ApiModelProperty(value = "销售总金额")
private BigDecimal sellAmount;
@ApiModelProperty(value = "销售总数量")
private BigDecimal sellNumber;
@ApiModelProperty(value = "销售总佣金")
private BigDecimal totalCommission;
} }
package com.liquidnet.client.admin.zhengzai.smile.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
@ApiModel(value = "UserDataAgentVo", description = "用户单票数据")
@Data
public class UserDataAgentVo {
/**
* 票提id
*/
@ApiModelProperty(value = "票提id", example = "")
private String ticketsId;
/**
* 票名称
*/
@ApiModelProperty(value = "票名称", example = "")
private String ticketName;
/**
* 数量
*/
@ApiModelProperty(value = "售出张数", example = "")
private BigDecimal number;
/**
* 单价
*/
@ApiModelProperty(value = "单价", example = "")
private BigDecimal price;
/**
* 票提
*/
@ApiModelProperty(value = "票提", example = "")
private BigDecimal agent;
/**
* 提成
*/
@ApiModelProperty(value = "提成", example = "")
private BigDecimal commission;
}
package com.liquidnet.client.admin.zhengzai.smile.dto;
import com.liquidnet.client.admin.common.annotation.Excel;
import com.liquidnet.commons.lang.util.DateUtil;
import com.liquidnet.service.kylin.dao.OrderExportDao;
import com.liquidnet.service.smile.entity.dto.VolunteersExportDto;
import lombok.Data;
import java.io.Serializable;
@Data
public class VolunteersExportVo implements Serializable, Cloneable{
@Excel(name = "用户姓名", cellType = Excel.ColumnType.STRING)
private String name;
@Excel(name = "证件号", cellType = Excel.ColumnType.STRING)
private String idCard;
@Excel(name = "性别", cellType = Excel.ColumnType.STRING)
private String sex;
@Excel(name = "审核状态", cellType = Excel.ColumnType.STRING)
private String status;
@Excel(name = "学校", cellType = Excel.ColumnType.STRING)
private String school;
// @Excel(name = "学校地址", cellType = Excel.ColumnType.STRING)
// private String schoolAddress;
@Excel(name = "手机号", cellType = Excel.ColumnType.STRING)
private String phone;
@Excel(name = "项目名称", cellType = Excel.ColumnType.STRING)
private String projectName;
@Excel(name = "申请时间", cellType = Excel.ColumnType.STRING)
private String createdAt;
// @Excel(name = "特长", cellType = Excel.ColumnType.STRING)
// private String specialty;
// @Excel(name = "专长", cellType = Excel.ColumnType.STRING)
// private String specialty2;
// @Excel(name = "申请组1名称", cellType = Excel.ColumnType.STRING)
// private String team1;
// @Excel(name = "申请组2名称", cellType = Excel.ColumnType.STRING)
// private String team2;
// @Excel(name = "申请组3名称", cellType = Excel.ColumnType.STRING)
// private String team3;
// @Excel(name = "自我介绍", cellType = Excel.ColumnType.STRING)
// private String introduce;
private static final VolunteersExportVo obj = new VolunteersExportVo();
public static VolunteersExportVo getNew() {
try {
return (VolunteersExportVo) obj.clone();
} catch (CloneNotSupportedException e) {
e.printStackTrace();
}
return new VolunteersExportVo();
}
public VolunteersExportVo copy(VolunteersExportDto source) {
this.setName(source.getName());
this.setIdCard(source.getIdCard());
this.setSex(source.getSex());
this.setStatus(source.getStatus());
this.setSchool(source.getSchool());
// this.setSchoolAddress(source.getSchoolAddress());
this.setPhone(source.getPhone());
this.setProjectName(source.getProjectName());
this.setCreatedAt(DateUtil.Formatter.yyyyMMddHHmmss.format(source.getCreatedAt()));
// this.setSpecialty(source.getSpecialty());
// this.setSpecialty2(source.getSpecialty2());
// this.setTeam1(source.getTeam1()==null?"":source.getTeam1());
// this.setTeam2(source.getTeam2()==null?"":source.getTeam2());
// this.setTeam3(source.getTeam3()==null?"":source.getTeam3());
// this.setIntroduce(source.getIntroduce());
return this;
}
}
...@@ -17,9 +17,17 @@ import java.util.List; ...@@ -17,9 +17,17 @@ import java.util.List;
*/ */
public interface ISmileAgentService extends IService<SmileAgent> { public interface ISmileAgentService extends IService<SmileAgent> {
SmileAgent listAgentByShowIdAndTicketId(String showId,String ticketId); /**
* 创建票提
* @param smileAgents :List<SmileAgent> list票提信息
* @return : AjaxResult
*/
AjaxResult create(List<SmileAgent> smileAgents); AjaxResult create(List<SmileAgent> smileAgents);
/**
* 根据PerId获取票提
* @param performancesId : 演出id
* @return :AjaxResult
*/
AjaxResult getAgent(String performancesId); AjaxResult getAgent(String performancesId);
} }
...@@ -2,7 +2,6 @@ package com.liquidnet.client.admin.zhengzai.smile.service; ...@@ -2,7 +2,6 @@ package com.liquidnet.client.admin.zhengzai.smile.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileOrgAndUserVo; import com.liquidnet.client.admin.zhengzai.smile.dto.SmileOrgAndUserVo;
...@@ -20,11 +19,31 @@ import com.liquidnet.service.smile.entity.SmileOrganization; ...@@ -20,11 +19,31 @@ import com.liquidnet.service.smile.entity.SmileOrganization;
*/ */
public interface ISmileOrganizationService extends IService<SmileOrganization> { public interface ISmileOrganizationService extends IService<SmileOrganization> {
/**
* 组织列表
* @param smileOrganizationParam :
* @return :TableDataInfo
*/
TableDataInfo organizationList(SmileOrganizationParam smileOrganizationParam); TableDataInfo organizationList(SmileOrganizationParam smileOrganizationParam);
/**
* 新增组织
* @param smileOrganizationVo :
* @return :
*/
AjaxResult create(SmileOrganizationVo smileOrganizationVo); AjaxResult create(SmileOrganizationVo smileOrganizationVo);
/**
* 修改组织
* @param smileOrganization :
* @return :
*/
AjaxResult update(SmileOrganization smileOrganization); AjaxResult update(SmileOrganization smileOrganization);
/**
* 根据组织id获取信息
* @param id:组织id
* @return :
*/
SmileOrgAndUserVo getOrgById(Long id); SmileOrgAndUserVo getOrgById(Long id);
} }
package com.liquidnet.client.admin.zhengzai.smile.service;
import com.liquidnet.service.smile.entity.SmileProjectTeamRelation;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* <p>
* 志愿者-项目关联职责表 服务类
* </p>
*
* @author jiangxiulong
* @since 2022-04-01
*/
public interface ISmileProjectTeamRelationService extends IService<SmileProjectTeamRelation> {
}
...@@ -4,6 +4,7 @@ package com.liquidnet.client.admin.zhengzai.smile.service; ...@@ -4,6 +4,7 @@ package com.liquidnet.client.admin.zhengzai.smile.service;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.liquidnet.client.admin.common.core.domain.AjaxResult; import com.liquidnet.client.admin.common.core.domain.AjaxResult;
import com.liquidnet.client.admin.common.core.page.TableDataInfo; import com.liquidnet.client.admin.common.core.page.TableDataInfo;
import com.liquidnet.client.admin.zhengzai.smile.dto.SaleDataVo;
import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort; import com.liquidnet.client.admin.zhengzai.smile.dto.ShowSort;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmilePriceParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmilePriceParam;
import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam; import com.liquidnet.client.admin.zhengzai.smile.dto.SmileShowParam;
...@@ -19,15 +20,45 @@ import com.liquidnet.service.smile.entity.SmileSchool; ...@@ -19,15 +20,45 @@ import com.liquidnet.service.smile.entity.SmileSchool;
*/ */
public interface ISmileShowService extends IService<SmileSchool> { public interface ISmileShowService extends IService<SmileSchool> {
/**
* 演出列表
* @param smileShowParam: 查询条件
* @return :TableDataInfo
*/
TableDataInfo listShow(SmileShowParam smileShowParam); TableDataInfo listShow(SmileShowParam smileShowParam);
/**
* 演出排序
* @param showSort : 演出id和序号
* @return :AjaxResult
*/
AjaxResult sort(ShowSort showSort); AjaxResult sort(ShowSort showSort);
/**
* 个人打款打款
* @param smilePriceParam:参数 演出id,uid,打款标识
* @return :
*/
AjaxResult price(SmilePriceParam smilePriceParam); AjaxResult price(SmilePriceParam smilePriceParam);
/**
* 根据演出id查询演出详情
* @param performancesId :演出id
* @return :AjaxResult
*/
AjaxResult getShowById(String performancesId); AjaxResult getShowById(String performancesId);
AjaxResult saleData(String performancesId); /**
* 销售数据
* @param performancesId: 演出id
* @return :AjaxResult
*/
SaleDataVo saleData(String performancesId);
/**
* 演出标识打款
* @param smilePriceParam : SmilePriceParam
* @return : AjaxResult
*/
AjaxResult allPrice(SmilePriceParam smilePriceParam); AjaxResult allPrice(SmilePriceParam smilePriceParam);
} }
...@@ -15,9 +15,7 @@ public interface ISmileUserService extends IService<SmileUser> { ...@@ -15,9 +15,7 @@ public interface ISmileUserService extends IService<SmileUser> {
TableDataInfo userList(SmileUserParam smileUserParam); TableDataInfo userList(SmileUserParam smileUserParam);
SmileUser getUserById(String id); SmileUserVo getUserById(String id);
Boolean create(SmileUser smileUser);
List<SmileUserVoOrg> getUserListByOrgId(Long orgId, Long agentId); List<SmileUserVoOrg> getUserListByOrgId(Long orgId, Long agentId);
......
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.service.goblin.dto.vo.SmileProjectDetailsVo;
import com.liquidnet.service.smile.entity.SmileVolunteersProject;
import com.baomidou.mybatisplus.extension.service.IService;
import java.util.List;
/**
* <p>
* 志愿者-志愿者项目表 服务类
* </p>
*
* @author jiangxiulong
* @since 2022-04-01
*/
public interface ISmileVolunteersProjectService extends IService<SmileVolunteersProject> {
//活动列表
List<SmileVolunteersProject> list(SmileVPSParam param);
//活动添加
AjaxResult insertData(SmileVPParam param);
//活动修改
AjaxResult updateData(SmileVPParam param);
//活动详情
SmileProjectDetailsVo details(String projectId);
//活动状态修改
AjaxResult updateStatus(String projectId,Integer status);
}
...@@ -36,8 +36,6 @@ import java.util.Map; ...@@ -36,8 +36,6 @@ import java.util.Map;
@Service @Service
public class SmileSchoolServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSchool> implements ISmileSchoolService { public class SmileSchoolServiceImpl extends ServiceImpl<SmileSchoolMapper, SmileSchool> implements ISmileSchoolService {
private Boolean redisSchoolTag = true;
@Autowired @Autowired
SmileSchoolMapper smileSchoolMapper; SmileSchoolMapper smileSchoolMapper;
......
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