forked from luyan/epmet-cloud-lingshan
				
			
			
			
				Browse Source
			
			
			
			
				
		# Conflicts: # epmet-module/epmet-point/epmet-point-server/pom.xml # epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/GovOrgOpenFeignClient.java # epmet-module/gov-org/gov-org-client/src/main/java/com/epmet/feign/fallback/GovOrgOpenFeignClientFallback.java # epmet-user/epmet-user-client/src/main/java/com/epmet/feign/EpmetUserOpenFeignClient.java # epmet-user/epmet-user-client/src/main/java/com/epmet/feign/fallback/EpmetUserOpenFeignClientFallback.java # epmet-user/epmet-user-server/src/main/java/com/epmet/controller/UserController.javamaster
				 399 changed files with 12947 additions and 2373 deletions
			
			
		| @ -0,0 +1,47 @@ | |||
| package com.epmet.dto.form; | |||
| 
 | |||
| import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; | |||
| import lombok.Data; | |||
| 
 | |||
| import javax.validation.constraints.NotBlank; | |||
| import java.io.Serializable; | |||
| 
 | |||
| /** | |||
|  * @Description 单客户-选择组织,进入首页入参Dto | |||
|  * @Author sun | |||
|  */ | |||
| @Data | |||
| public class ThirdWxmpEnteOrgFormDTO implements Serializable { | |||
|     public interface AddUserInternalGroup {} | |||
|     public interface AddUserShowGroup extends CustomerClientShowGroup {} | |||
|     /** | |||
|      * wxCode | |||
|      */ | |||
|     @NotBlank(message = "wxCode不能为空",groups = {AddUserInternalGroup.class}) | |||
|     private String wxCode; | |||
| 
 | |||
|     /** | |||
|      * 手机号 | |||
|      */ | |||
|     @NotBlank(message = "手机号不能为空",groups = {AddUserShowGroup.class}) | |||
|     private String mobile; | |||
| 
 | |||
|     /** | |||
|      * 选择的组织所属的id | |||
|      */ | |||
|     @NotBlank(message = "客户id不能为空",groups = {AddUserInternalGroup.class}) | |||
|     private String customerId; | |||
| 
 | |||
|     /** | |||
|      * 选择的要进入的组织(根组织id) | |||
|      */ | |||
|     @NotBlank(message = "组织id不能为空",groups = {AddUserInternalGroup.class}) | |||
|     private String rootAgencyId; | |||
| 
 | |||
|     /** | |||
|      * 客户appId(exJson文件中获取) | |||
|      */ | |||
|     @NotBlank(message = "appId不能为空",groups = {AddUserInternalGroup.class}) | |||
|     private String appId; | |||
| } | |||
| 
 | |||
| @ -0,0 +1,117 @@ | |||
| /** | |||
|  * Copyright (c) 2018 人人开源 All rights reserved. | |||
|  * <p> | |||
|  * https://www.renren.io
 | |||
|  * <p> | |||
|  * 版权所有,侵权必究! | |||
|  */ | |||
| 
 | |||
| package com.epmet.redis; | |||
| 
 | |||
| import cn.binarywang.wx.miniapp.api.WxMaService; | |||
| import cn.binarywang.wx.miniapp.api.impl.WxMaServiceImpl; | |||
| import cn.binarywang.wx.miniapp.config.impl.WxMaDefaultConfigImpl; | |||
| import com.alibaba.fastjson.JSON; | |||
| import com.epmet.commons.tools.redis.RedisKeys; | |||
| import com.epmet.commons.tools.utils.Result; | |||
| import com.epmet.dto.CustomerAppDTO; | |||
| import com.epmet.dto.CustomerAppRedisDTO; | |||
| import com.epmet.feign.OperCrmOpenFeignClient; | |||
| import com.google.common.collect.Maps; | |||
| import org.apache.logging.log4j.LogManager; | |||
| import org.apache.logging.log4j.Logger; | |||
| import org.springframework.beans.factory.annotation.Autowired; | |||
| import org.springframework.boot.ApplicationArguments; | |||
| import org.springframework.boot.ApplicationRunner; | |||
| import org.springframework.data.redis.core.RedisTemplate; | |||
| import org.springframework.data.redis.core.SetOperations; | |||
| import org.springframework.stereotype.Component; | |||
| import org.springframework.util.CollectionUtils; | |||
| 
 | |||
| import java.util.List; | |||
| import java.util.Map; | |||
| import java.util.Set; | |||
| 
 | |||
| /** | |||
|  * 客户app Redis | |||
|  * | |||
|  * @author Mark sunlightcs@gmail.com | |||
|  * @since 1.0.0 | |||
|  */ | |||
| @Component | |||
| public class CustomerAppWxServiceUtil implements ApplicationRunner { | |||
| 	private static Logger logger = LogManager.getLogger(CustomerAppWxServiceUtil.class); | |||
| 
 | |||
| 	/** | |||
| 	 * 过期时长为30分钟,单位:秒 | |||
| 	 */ | |||
| 	private final static long MINUTE_THIRTY_EXPIRE = 60 * 60 * 24 * 7L; | |||
| 	private final static String JSON_STR = "JSON"; | |||
| 
 | |||
| 	@Autowired | |||
| 	private RedisTemplate redisTemplate; | |||
| 	@Autowired | |||
| 	private OperCrmOpenFeignClient operCrmOpenFeignClient; | |||
| 
 | |||
| 	private static Map<String, WxMaService> maServices = Maps.newConcurrentMap(); | |||
| 
 | |||
| 	public static WxMaService getWxMaService(String appId) { | |||
| 		WxMaService wxMaService = maServices.get(appId); | |||
| 		if (wxMaService == null) { | |||
| 			logger.error("getMaService appId:{} is not config from customer_app", appId); | |||
| 		} | |||
| 		return wxMaService; | |||
| 	} | |||
| 
 | |||
| 	@Override | |||
| 	public void run(ApplicationArguments args) { | |||
| 		Map<String, WxMaService> maServicesNew = Maps.newConcurrentMap(); | |||
| 		SetOperations appSet = null; | |||
| 		List<CustomerAppDTO> result = null; | |||
| 		String appKey = RedisKeys.getCustomerAppKey(); | |||
| 		try { | |||
| 			appSet = redisTemplate.opsForSet(); | |||
| 			Set<CustomerAppRedisDTO> members = appSet.members(appKey); | |||
| 			if (!CollectionUtils.isEmpty(members)) { | |||
| 				members.forEach(app -> { | |||
| 					WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); | |||
| 					config.setAppid(app.getAppId()); | |||
| 					config.setSecret(app.getSecret()); | |||
| 					config.setMsgDataFormat(JSON_STR); | |||
| 					WxMaService service = new WxMaServiceImpl(); | |||
| 					service.setWxMaConfig(config); | |||
| 					maServicesNew.put(app.getAppId(), service); | |||
| 				}); | |||
| 			} | |||
| 		} catch (Exception ex) { | |||
| 			logger.error("init wxMaService from redis error", ex); | |||
| 		} | |||
| 		try { | |||
| 			Result<List<CustomerAppDTO>> configAllAppResult = operCrmOpenFeignClient.getConfigAllApp(); | |||
| 			logger.info("wxMaService operCrmOpenFeignClient.getConfigAllApp result:{}", JSON.toJSONString(configAllAppResult)); | |||
| 			if (configAllAppResult == null || !configAllAppResult.success()) { | |||
| 				logger.info("wxMaService operCrmOpenFeignClient.getConfigAllApp fail"); | |||
| 				return; | |||
| 			} | |||
| 			result = configAllAppResult.getData(); | |||
| 			result.forEach(app -> { | |||
| 				WxMaDefaultConfigImpl config = new WxMaDefaultConfigImpl(); | |||
| 				config.setAppid(app.getAppId()); | |||
| 				config.setSecret(app.getSecret()); | |||
| 				config.setMsgDataFormat(JSON_STR); | |||
| 
 | |||
| 				WxMaService service = new WxMaServiceImpl(); | |||
| 				service.setWxMaConfig(config); | |||
| 				maServicesNew.put(app.getAppId(), service); | |||
| 			}); | |||
| 		} catch (Exception e) { | |||
| 			logger.error("init wxMaService from db exception", e); | |||
| 		} | |||
| 		if (maServicesNew.size() > 0) { | |||
| 			maServices = maServicesNew; | |||
| 			if (appSet != null && result != null) { | |||
| 				appSet.add(appKey, result); | |||
| 			} | |||
| 		} | |||
| 	} | |||
| } | |||
| @ -0,0 +1,20 @@ | |||
| package com.epmet.commons.tools.constant; | |||
| 
 | |||
| /** | |||
|  * 消息常亮 | |||
|  * | |||
|  * @author yinzuomei@elink-cn.com | |||
|  * @date 2020/7/27 9:58 | |||
|  */ | |||
| public interface MqConstant { | |||
| 
 | |||
|     /** | |||
|      * 加分 plus | |||
|      */ | |||
|     String PLUS="plus"; | |||
| 
 | |||
|     /** | |||
|      * 减分标识 minus | |||
|      */ | |||
|     String MINUS="minus"; | |||
| } | |||
| @ -0,0 +1,41 @@ | |||
| package com.epmet.commons.tools.dto.form.mq; | |||
| 
 | |||
| import lombok.Data; | |||
| 
 | |||
| import java.io.Serializable; | |||
| 
 | |||
| /** | |||
|  * desc:消息网关事件类型dto | |||
|  * | |||
|  * @author lyn | |||
|  * @date 2020/7/24 18:30 | |||
|  */ | |||
| @Data | |||
| public class EventClassDto implements Serializable { | |||
| 	private static final long serialVersionUID = 6923860669547819790L; | |||
| 	/** | |||
| 	 * appId | |||
| 	 */ | |||
| 	private String appId; | |||
| 	/** | |||
| 	 * 事件类型Id | |||
| 	 */ | |||
| 	private Integer id; | |||
| 	/** | |||
| 	 * 事件标识 | |||
| 	 */ | |||
| 	private String eventClass; | |||
| 	/** | |||
| 	 * 事件名称 | |||
| 	 */ | |||
| 	private String eventClassName; | |||
| 	/** | |||
| 	 * 0''未删''1''已删 | |||
| 	 */ | |||
| 	private Integer delFlag; | |||
| 	/** | |||
| 	 * 事件计数 | |||
| 	 */ | |||
| 	private Integer eventCount; | |||
| 
 | |||
| } | |||
| @ -0,0 +1,18 @@ | |||
| package com.epmet.commons.tools.dto.form.mq.eventmsg; | |||
| 
 | |||
| import lombok.Data; | |||
| 
 | |||
| /** | |||
|  * 结束活动,发放活动积分消息体 | |||
|  * | |||
|  * @author yinzuomei@elink-cn.com | |||
|  * @date 2020/7/27 9:26 | |||
|  */ | |||
| @Data | |||
| public class ActPointEventMsg extends BasePointEventMsg{ | |||
|     /** | |||
|      * 参与活动的备注 | |||
|      */ | |||
|     private String remark; | |||
| 
 | |||
| } | |||
| @ -0,0 +1,45 @@ | |||
| package com.epmet.commons.tools.dto.form.mq.eventmsg; | |||
| 
 | |||
| import lombok.Data; | |||
| 
 | |||
| import java.io.Serializable; | |||
| 
 | |||
| /** | |||
|  * desc:积分相关事件消息体 | |||
|  * | |||
|  * @author lyn | |||
|  * @date 2020/7/23 16:34 | |||
|  */ | |||
| @Data | |||
| public class BasePointEventMsg implements Serializable { | |||
| 	private static final long serialVersionUID = 4037225404113743943L; | |||
| 
 | |||
| 	/** | |||
| 	 * 操作人机关id | |||
| 	 */ | |||
| 	private String opAgencyId; | |||
| 
 | |||
| 	/** | |||
| 	 * 客户Id | |||
| 	 */ | |||
| 	private String customerId; | |||
| 	/** | |||
| 	 * 被操作用户id | |||
| 	 */ | |||
| 	private String userId; | |||
| 
 | |||
| 	/** | |||
| 	 * 加减分标识 plus/minus | |||
| 	 */ | |||
| 	private String actionFlag; | |||
| 
 | |||
| 	/** | |||
| 	 * 积分值 | |||
| 	 */ | |||
| 	private Integer point; | |||
| 
 | |||
| 	/** | |||
| 	 * 是否是通用事件,通用事件不走规则 | |||
| 	 */ | |||
| 	private Boolean isCommon; | |||
| } | |||
| @ -0,0 +1,42 @@ | |||
| package com.epmet.commons.tools.enums; | |||
| 
 | |||
| /** | |||
|  * 通用操作类型 枚举类 | |||
|  * dev|test|prod | |||
|  * | |||
|  * @author jianjun liu | |||
|  * @date 2020-07-03 11:14 | |||
|  **/ | |||
| public enum CommonOperateTypeEnum { | |||
| 	ADD("add", "添加"), | |||
| 	EDIT("edit", "编辑"), | |||
| 	DEL("del", "删除"), | |||
| 	; | |||
| 
 | |||
| 	private String code; | |||
| 	private String desc; | |||
| 
 | |||
| 
 | |||
| 	CommonOperateTypeEnum(String code, String name) { | |||
| 		this.code = code; | |||
| 		this.desc = name; | |||
| 	} | |||
| 
 | |||
| 	public static CommonOperateTypeEnum getEnum(String code) { | |||
| 		CommonOperateTypeEnum[] values = CommonOperateTypeEnum.values(); | |||
| 		for (CommonOperateTypeEnum value : values) { | |||
| 			if (code != null && value.getCode().equals(code)) { | |||
| 				return value; | |||
| 			} | |||
| 		} | |||
| 		return null; | |||
| 	} | |||
| 
 | |||
| 	public String getCode() { | |||
| 		return code; | |||
| 	} | |||
| 
 | |||
| 	public String getDesc() { | |||
| 		return desc; | |||
| 	} | |||
| } | |||
| @ -0,0 +1,47 @@ | |||
| package com.epmet.commons.tools.enums; | |||
| 
 | |||
| /** | |||
|  * 系统支持的事件枚举类 | |||
|  * | |||
|  * @author jianjun liu | |||
|  * @date 2020-07-03 11:14 | |||
|  **/ | |||
| public enum EventEnum { | |||
| 	ACTIVE_SEND_POINT("active_send_point", "epmet_heart", "活动发放积分"), | |||
| 	REGISTER_VOLUNTEER("register_volunteer", "epmet_heart", "认证志愿者"), | |||
| 	ACTIVE_INSERT_LIVE("active_insert_live", "epmet_heart", "添加活动实况"), | |||
| 	; | |||
| 
 | |||
| 	private String eventClass; | |||
| 	private String eventTag; | |||
| 	private String eventDesc; | |||
| 
 | |||
| 
 | |||
| 	EventEnum(String eventTag, String eventClass, String eventDesc) { | |||
| 		this.eventTag = eventTag; | |||
| 		this.eventClass = eventClass; | |||
| 		this.eventDesc = eventDesc; | |||
| 	} | |||
| 
 | |||
| 	public static EventEnum getEnum(String eventCode) { | |||
| 		EventEnum[] values = EventEnum.values(); | |||
| 		for (EventEnum value : values) { | |||
| 			if (eventCode != null && value.getEventTag().equals(eventCode)) { | |||
| 				return value; | |||
| 			} | |||
| 		} | |||
| 		return null; | |||
| 	} | |||
| 
 | |||
| 	public String getEventTag() { | |||
| 		return eventTag; | |||
| 	} | |||
| 
 | |||
| 	public String getEventClass() { | |||
| 		return eventClass; | |||
| 	} | |||
| 
 | |||
| 	public String getEventDesc() { | |||
| 		return eventDesc; | |||
| 	} | |||
| } | |||
| @ -0,0 +1,37 @@ | |||
| package com.epmet.commons.tools.utils; | |||
| 
 | |||
| import java.io.File; | |||
| import java.io.IOException; | |||
| import java.io.InputStream; | |||
| import java.nio.file.Files; | |||
| 
 | |||
| public class FileUtils { | |||
| 
 | |||
|   /** | |||
|    * 创建临时文件. | |||
|    * | |||
|    * @param inputStream 输入文件流 | |||
|    * @param name        文件名 | |||
|    * @param ext         扩展名 | |||
|    * @param tmpDirFile  临时文件夹目录 | |||
|    */ | |||
|   public static File createTmpFile(InputStream inputStream, String name, String ext, File tmpDirFile) throws IOException { | |||
|     File resultFile = File.createTempFile(name, '.' + ext, tmpDirFile); | |||
| 
 | |||
|     resultFile.deleteOnExit(); | |||
|     org.apache.commons.io.FileUtils.copyToFile(inputStream, resultFile); | |||
|     return resultFile; | |||
|   } | |||
| 
 | |||
|   /** | |||
|    * 创建临时文件. | |||
|    * | |||
|    * @param inputStream 输入文件流 | |||
|    * @param name        文件名 | |||
|    * @param ext         扩展名 | |||
|    */ | |||
|   public static File createTmpFile(InputStream inputStream, String name, String ext) throws IOException { | |||
|     return createTmpFile(inputStream, name, ext, Files.createTempDirectory("weixin-java-tools-temp").toFile()); | |||
|   } | |||
| 
 | |||
| } | |||
| @ -1,81 +0,0 @@ | |||
| /** | |||
|  * Copyright 2018 人人开源 https://www.renren.io
 | |||
|  * <p> | |||
|  * This program is free software: you can redistribute it and/or modify | |||
|  * it under the terms of the GNU General Public License as published by | |||
|  * the Free Software Foundation, either version 3 of the License, or | |||
|  * (at your option) any later version. | |||
|  * <p> | |||
|  * This program is distributed in the hope that it will be useful, | |||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | |||
|  * GNU General Public License for more details. | |||
|  * <p> | |||
|  * You should have received a copy of the GNU General Public License | |||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |||
|  */ | |||
| 
 | |||
| package com.epmet.dto.form.resi; | |||
| 
 | |||
| import lombok.Data; | |||
| 
 | |||
| import javax.validation.constraints.NotBlank; | |||
| import java.io.Serializable; | |||
| import java.math.BigDecimal; | |||
| import java.util.ArrayList; | |||
| 
 | |||
| /** | |||
|  * 用户活动打卡参数 | |||
|  * | |||
|  * @author zhangyong | |||
|  * @since v1.0.0 2020-07-14 | |||
|  */ | |||
| @Data | |||
| public class ActUserClockLogFormDTO implements Serializable { | |||
| 
 | |||
|     private static final long serialVersionUID = 1L; | |||
| 
 | |||
|     /** | |||
|      * 用户ID | |||
|      */ | |||
|     private String userId; | |||
|     /** | |||
|      * 活动ID | |||
|      */ | |||
|     @NotBlank(message = "活动ID不能为空") | |||
|     private String actId; | |||
|     /** | |||
|      * 打卡类型(0-打卡,1-更新打卡) | |||
|      */ | |||
|     @NotBlank(message = "打卡类型不能为空") | |||
|     private String clockType; | |||
|     /** | |||
|      * 打卡位置经度 | |||
|      */ | |||
|     @NotBlank(message = "打卡位置经度不能为空") | |||
|     private BigDecimal clockLongitude; | |||
|     /** | |||
|      * 打卡位置纬度 | |||
|      */ | |||
|     @NotBlank(message = "打卡位置纬度不能为空") | |||
|     private BigDecimal clockLatitude; | |||
|     /** | |||
|      * 打卡地址 | |||
|      */ | |||
|     @NotBlank(message = "打卡地址不能为空") | |||
|     private String clockAddress; | |||
|     /** | |||
|      * 打卡描述 | |||
|      */ | |||
|     @NotBlank(message = "打卡描述不能为空") | |||
|     private String clockDesc; | |||
|     /** | |||
|      * 打卡是否有效(0-否,1-是) | |||
|      */ | |||
|     @NotBlank(message = "打卡是否有效不能为空") | |||
|     private String effectiveFlag; | |||
|     /** | |||
|      * 打卡图片 | |||
|      */ | |||
|     private ArrayList<String> images; | |||
| } | |||
| @ -0,0 +1,46 @@ | |||
| package com.epmet.dto.form.resi; | |||
| 
 | |||
| import lombok.Data; | |||
| 
 | |||
| import javax.validation.constraints.Min; | |||
| import javax.validation.constraints.NotBlank; | |||
| import java.io.Serializable; | |||
| 
 | |||
| /** | |||
|  * 活动内容(活动详情-已结束-回顾稿) 入参 | |||
|  * | |||
|  * @Auther: zhangyong | |||
|  * @Date: 2020-07-21 18:12 | |||
|  */ | |||
| @Data | |||
| public class ResiActContentFormDTO implements Serializable { | |||
| 
 | |||
|     private static final long serialVersionUID = 1L; | |||
| 
 | |||
|     //>>>>>>>>>>>>>>>>>校验分组开始>>>>>>>>>>>>>>>>>>>>>
 | |||
|     /** | |||
|      * 添加用户操作的内部异常分组 | |||
|      * 出现错误会提示给前端7000错误码,返回信息为:服务器开小差... | |||
|      */ | |||
|     public interface AddUserInternalGroup {} | |||
| 
 | |||
|     // <<<<<<<<<<<<<<<<<<<校验分组结束<<<<<<<<<<<<<<<<<<<<<<<<
 | |||
| 
 | |||
|     /** | |||
|      * 活动Id | |||
|      */ | |||
|     @NotBlank(message = "活动Id不能为空", groups = { AddUserInternalGroup.class }) | |||
|     private String actId; | |||
| 
 | |||
|     /** | |||
|      * 页码,从1开始 | |||
|      */ | |||
|     @Min(value = 1, message = "页码必须大于0", groups = { AddUserInternalGroup.class }) | |||
|     private Integer pageNo; | |||
| 
 | |||
|     /** | |||
|      * 页容量,默认20页 | |||
|      */ | |||
|     @Min(value = 1, message = "每页条数必须大于必须大于0", groups = { ResiActBaseFormDTO.AddUserInternalGroup.class }) | |||
|     private Integer pageSize; | |||
| } | |||
| @ -0,0 +1,38 @@ | |||
| package com.epmet.dto.form.resi; | |||
| 
 | |||
| import lombok.Data; | |||
| 
 | |||
| import javax.validation.constraints.NotBlank; | |||
| import java.io.Serializable; | |||
| 
 | |||
| /** | |||
|  * 活动详情 入参 | |||
|  * | |||
|  * @Auther: zhangyong | |||
|  * @Date: 2020-07-21 18:12 | |||
|  */ | |||
| @Data | |||
| public class ResiActDetailFormDTO implements Serializable { | |||
| 
 | |||
|     private static final long serialVersionUID = 1L; | |||
| 
 | |||
|     //>>>>>>>>>>>>>>>>>校验分组开始>>>>>>>>>>>>>>>>>>>>>
 | |||
|     /** | |||
|      * 添加用户操作的内部异常分组 | |||
|      * 出现错误会提示给前端7000错误码,返回信息为:服务器开小差... | |||
|      */ | |||
|     public interface AddUserInternalGroup {} | |||
| 
 | |||
|     // <<<<<<<<<<<<<<<<<<<校验分组结束<<<<<<<<<<<<<<<<<<<<<<<<
 | |||
| 
 | |||
|     /** | |||
|      * 活动Id | |||
|      */ | |||
|     @NotBlank(message = "活动Id不能为空", groups = { AddUserInternalGroup.class }) | |||
|     private String actId; | |||
| 
 | |||
|     /** | |||
|      * 用户id | |||
|      */ | |||
|     private String userId; | |||
| } | |||
| @ -0,0 +1,104 @@ | |||
| /** | |||
|  * Copyright 2018 人人开源 https://www.renren.io
 | |||
|  * <p> | |||
|  * This program is free software: you can redistribute it and/or modify | |||
|  * it under the terms of the GNU General Public License as published by | |||
|  * the Free Software Foundation, either version 3 of the License, or | |||
|  * (at your option) any later version. | |||
|  * <p> | |||
|  * This program is distributed in the hope that it will be useful, | |||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | |||
|  * GNU General Public License for more details. | |||
|  * <p> | |||
|  * You should have received a copy of the GNU General Public License | |||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |||
|  */ | |||
| 
 | |||
| package com.epmet.dto.form.resi; | |||
| 
 | |||
| import com.epmet.commons.tools.validator.group.CustomerClientShowGroup; | |||
| import lombok.Data; | |||
| 
 | |||
| import javax.validation.constraints.NotBlank; | |||
| import java.io.Serializable; | |||
| import java.math.BigDecimal; | |||
| import java.util.List; | |||
| 
 | |||
| /** | |||
|  * 活动-添加实况  入参 | |||
|  * | |||
|  * @author zhangyong | |||
|  * @since v1.0.0 2020-07-23 | |||
|  */ | |||
| @Data | |||
| public class ResiActInsertLiveFormDTO implements Serializable { | |||
| 
 | |||
|     private static final long serialVersionUID = 1L; | |||
| 
 | |||
|     //>>>>>>>>>>>>>>>>>校验分组开始>>>>>>>>>>>>>>>>>>>>>
 | |||
|     /** | |||
|      * 添加用户操作的内部异常分组 | |||
|      * 出现错误会提示给前端7000错误码,返回信息为:服务器开小差... | |||
|      */ | |||
|     public interface AddUserInternalGroup {} | |||
| 
 | |||
|     /** | |||
|      * 添加用户操作的用户可见异常分组 | |||
|      * 该分组用于校验需要返回给前端错误信息提示的列,需要继承CustomerClientShowGroup | |||
|      * 返回错误码为8999,提示信息为DTO中具体的列的校验注解message的内容 | |||
|      */ | |||
|     public interface AddUserShowGroup extends CustomerClientShowGroup {} | |||
| 
 | |||
|     // <<<<<<<<<<<<<<<<<<<校验分组结束<<<<<<<<<<<<<<<<<<<<<<<<
 | |||
| 
 | |||
|     /** | |||
|      * 活动ID | |||
|      */ | |||
|     @NotBlank(message = "活动ID不能为空", groups = { AddUserInternalGroup.class }) | |||
|     private String actId; | |||
| 
 | |||
|     /** | |||
|      * 活动签到描述 | |||
|      */ | |||
|     private String desc; | |||
| 
 | |||
|     /** | |||
|      * 活动签到位置经度 | |||
|      */ | |||
|     @NotBlank(message = "活动签到位置经度不能为空", groups = { AddUserInternalGroup.class }) | |||
|     private BigDecimal longitude; | |||
| 
 | |||
|     /** | |||
|      * 活动签到位置纬度 | |||
|      */ | |||
|     @NotBlank(message = "活动签到位置纬度不能为空", groups = { AddUserInternalGroup.class }) | |||
|     private BigDecimal latitude; | |||
| 
 | |||
|     /** | |||
|      * 活动签到地址 | |||
|      */ | |||
|     @NotBlank(message = "活动签到地址不能为空", groups = { AddUserInternalGroup.class, AddUserShowGroup.class}) | |||
|     private String address; | |||
| 
 | |||
|     /** | |||
|      * 图片 | |||
|      */ | |||
|     private List<String> images; | |||
| 
 | |||
|     /** | |||
|      * 用户id | |||
|      */ | |||
|     private String userId; | |||
| 
 | |||
|     /** | |||
|      * id | |||
|      */ | |||
|     private String id; | |||
| 
 | |||
|     /** | |||
|      * 客户id | |||
|      */ | |||
|     @NotBlank(message = "客户id不能为空", groups = {AddUserShowGroup.class }) | |||
|     private String customerId; | |||
| } | |||
| @ -0,0 +1,61 @@ | |||
| /** | |||
|  * Copyright 2018 人人开源 https://www.renren.io
 | |||
|  * <p> | |||
|  * This program is free software: you can redistribute it and/or modify | |||
|  * it under the terms of the GNU General Public License as published by | |||
|  * the Free Software Foundation, either version 3 of the License, or | |||
|  * (at your option) any later version. | |||
|  * <p> | |||
|  * This program is distributed in the hope that it will be useful, | |||
|  * but WITHOUT ANY WARRANTY; without even the implied warranty of | |||
|  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the | |||
|  * GNU General Public License for more details. | |||
|  * <p> | |||
|  * You should have received a copy of the GNU General Public License | |||
|  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 | |||
|  */ | |||
| 
 | |||
| package com.epmet.dto.form.resi; | |||
| 
 | |||
| import lombok.Data; | |||
| 
 | |||
| import javax.validation.constraints.NotBlank; | |||
| import java.io.Serializable; | |||
| 
 | |||
| /** | |||
|  * 活动报名参数 | |||
|  * | |||
|  * @author zhangyong | |||
|  * @since v1.0.0 2020-07-20 | |||
|  */ | |||
| @Data | |||
| public class ResiActRegistrationFormDTO implements Serializable { | |||
| 
 | |||
|     private static final long serialVersionUID = 1L; | |||
| 
 | |||
|     //>>>>>>>>>>>>>>>>>校验分组开始>>>>>>>>>>>>>>>>>>>>>
 | |||
|     /** | |||
|      * 添加用户操作的内部异常分组 | |||
|      * 出现错误会提示给前端7000错误码,返回信息为:服务器开小差... | |||
|      */ | |||
|     public interface AddUserInternalGroup {} | |||
| 
 | |||
|     // <<<<<<<<<<<<<<<<<<<校验分组结束<<<<<<<<<<<<<<<<<<<<<<<<
 | |||
| 
 | |||
|     /** | |||
|      * 用户Id | |||
|      */ | |||
|     private String userId; | |||
| 
 | |||
|     /** | |||
|      * 活动ID | |||
|      */ | |||
|     @NotBlank(message = "活动ID不能为空", groups = { AddUserInternalGroup.class }) | |||
|     private String actId; | |||
| 
 | |||
|     /** | |||
|      * 客户ID | |||
|      */ | |||
|     @NotBlank(message = "客户ID不能为空", groups = { AddUserInternalGroup.class }) | |||
|     private String customerId; | |||
| } | |||
Some files were not shown because too many files changed in this diff
					Loading…
					
					
				
		Reference in new issue