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.javadev_shibei_match
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