service-daylucky/pom.xml
@@ -126,7 +126,6 @@ </dependency> <!--全局排除log4j --> <dependency> <groupId>org.slf4j</groupId> @@ -163,6 +162,14 @@ <!--</exclusions>--> <!--</dependency>--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional> true </optional> </dependency> </dependencies> @@ -175,30 +182,30 @@ </plugin> <!-- MyBatis插件 --> <!--<plugin>--> <!--<groupId>org.mybatis.generator</groupId>--> <!--<artifactId>mybatis-generator-maven-plugin</artifactId>--> <!--<version>1.3.2</version>--> <!--<configuration>--> <!--<!–配置文件的位置–>--> <!--<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>--> <!--<verbose>true</verbose>--> <!--<overwrite>true</overwrite>--> <!--</configuration>--> <!--<executions>--> <!--<execution>--> <!--<id>Generate MyBatis Artifacts</id>--> <!--<goals>--> <!--<goal>generate</goal>--> <!--</goals>--> <!--</execution>--> <!--</executions>--> <!--<dependencies>--> <!--<dependency>--> <!--<groupId>org.mybatis.generator</groupId>--> <!--<artifactId>mybatis-generator-core</artifactId>--> <!--<version>1.3.2</version>--> <!--</dependency>--> <!--</dependencies>--> <!--<groupId>org.mybatis.generator</groupId>--> <!--<artifactId>mybatis-generator-maven-plugin</artifactId>--> <!--<version>1.3.2</version>--> <!--<configuration>--> <!--<!–配置文件的位置–>--> <!--<configurationFile>src/main/resources/generatorConfig.xml</configurationFile>--> <!--<verbose>true</verbose>--> <!--<overwrite>true</overwrite>--> <!--</configuration>--> <!--<executions>--> <!--<execution>--> <!--<id>Generate MyBatis Artifacts</id>--> <!--<goals>--> <!--<goal>generate</goal>--> <!--</goals>--> <!--</execution>--> <!--</executions>--> <!--<dependencies>--> <!--<dependency>--> <!--<groupId>org.mybatis.generator</groupId>--> <!--<artifactId>mybatis-generator-core</artifactId>--> <!--<version>1.3.2</version>--> <!--</dependency>--> <!--</dependencies>--> <!--</plugin>--> </plugins> </build> service-daylucky/src/main/java/com/ks/daylucky/aspect/ApiClientSignAspect.java
@@ -30,21 +30,29 @@ public Object validSign(ProceedingJoinPoint joinPoint) throws Throwable { ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); PrintWriter out = servletContainer.getResponse().getWriter(); HttpServletRequest request = servletContainer.getRequest(); Map<String, String[]> paramsMap = request.getParameterMap(); Map<String, String[]> pm = request.getParameterMap(); Map<String, String> paramsMap = new HashMap<>(); for (Iterator<String> its = pm.keySet().iterator(); its.hasNext(); ) { String key = its.next(); paramsMap.put(key, pm.get(key)[0]); } List<String> dataSource = new ArrayList<>(); for (Iterator<String> its = paramsMap.keySet().iterator(); its.hasNext(); ) { String key = its.next(); if (!key.equalsIgnoreCase("sign")) { dataSource.add(key + "=" + paramsMap.get(key).toString()); dataSource.add(key + "=" + paramsMap.get(key)); } } Collections.sort(dataSource); String src = StringUtil.concat(dataSource, "&") + SECRET; String sign = StringUtil.Md5(src); String sign = StringUtil.Md5(StringUtil.concat(dataSource, "&") + SECRET); if (!sign.equalsIgnoreCase(paramsMap.get("sign") + "")) { if (!sign.equalsIgnoreCase(paramsMap.get("sign"))) { PrintWriter out = servletContainer.getResponse().getWriter(); //签名出错 out.print(JsonUtil.loadFalseResult(-1, "签名出错")); out.close(); service-daylucky/src/main/java/com/ks/daylucky/aspect/VerifyAppAspect.java
@@ -37,16 +37,17 @@ public Object verifyApp(ProceedingJoinPoint joinPoint) throws Throwable { ServletRequestAttributes servletContainer = (ServletRequestAttributes) RequestContextHolder .getRequestAttributes(); PrintWriter out = servletContainer.getResponse().getWriter(); HttpServletRequest request = servletContainer.getRequest(); Map<String, String[]> paramsMap = request.getParameterMap(); String appKey = paramsMap.get("appKey") + ""; String appKey = paramsMap.get("appKey")[0] + ""; AppInfo app = null; if (!StringUtil.isNullOrEmpty(appKey)) { app = appManager.getAppDetail(appKey); } if (StringUtil.isNullOrEmpty(appKey) || app == null) { PrintWriter out = servletContainer.getResponse().getWriter(); out.print(JsonUtil.loadFalseResult(ApiCodeConstant.CODE_APP_NOT_EXIST, "应用不存在")); out.close(); return null; service-daylucky/src/main/java/com/ks/daylucky/config/COSConfig.java
New file @@ -0,0 +1,44 @@ package com.ks.daylucky.config; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.yeshi.utils.tencentcloud.COSManager; import org.yeshi.utils.tencentcloud.entity.COSInitParams; @Configuration public class COSConfig { Logger log = LoggerFactory.getLogger(COSConfig.class); @Value("${cos.appId}") private Long appId; @Value("${cos.secretId}") private String secretId; @Value("${cos.secretKey}") private String secretKey; @Value("${cos.bucketName}") private String bucketName; @Value("${cos.region}") private String region; @Bean public COSInitParams cosInitParams() { log.info(">>>>>>>>>>> cos config init."); COSInitParams params = new COSInitParams(); params.setAppId(appId); params.setBucketName(bucketName); params.setRegion(region); params.setSecretId(secretId); params.setSecretKey(secretKey); COSManager.getInstance().init(params); return params; } } service-daylucky/src/main/java/com/ks/daylucky/config/CharsetConfig.java
New file @@ -0,0 +1,32 @@ package com.ks.daylucky.config; import org.springframework.context.annotation.Bean; import org.springframework.http.converter.HttpMessageConverter; import org.springframework.http.converter.StringHttpMessageConverter; import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer; import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter; import java.nio.charset.Charset; import java.util.List; //@Configuration public class CharsetConfig extends WebMvcConfigurerAdapter { @Bean public HttpMessageConverter<String> responseBodyConverter() { StringHttpMessageConverter converter = new StringHttpMessageConverter( Charset.forName("UTF-8")); return converter; } @Override public void configureMessageConverters(List<HttpMessageConverter<?>> converters) { super.configureMessageConverters(converters); converters.add(responseBodyConverter()); } @Override public void configureContentNegotiation(ContentNegotiationConfigurer configurer) { configurer.favorPathExtension(false); } } service-daylucky/src/main/java/com/ks/daylucky/config/XXLJobConfig.java
@@ -7,7 +7,7 @@ import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; @Configuration //@Configuration public class XXLJobConfig { Logger log = LoggerFactory.getLogger(XXLJobConfig.class); service-daylucky/src/main/java/com/ks/daylucky/controller/admin/FileUploadController.java
New file @@ -0,0 +1,53 @@ package com.ks.daylucky.controller.admin; import com.ks.daylucky.pojo.DTO.ImageFromEnum; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartHttpServletRequest; import org.yeshi.utils.JsonUtil; import org.yeshi.utils.entity.FileUploadResult; import org.yeshi.utils.tencentcloud.COSManager; import javax.servlet.http.HttpServletRequest; import java.io.IOException; import java.util.UUID; @Controller @RequestMapping("/admin/upload") public class FileUploadController { /** * 上传图片 * * @param request * @param from * @return */ @ResponseBody @RequestMapping("image") public String uploadImage(HttpServletRequest request, String from) { MultipartFile image = ((MultipartHttpServletRequest) request).getFile("image"); ImageFromEnum imageFromEnum = ImageFromEnum.valueOf(from); if (imageFromEnum == null) { return JsonUtil.loadFalseResult("from错误"); } String contentType = image.getContentType(); try { FileUploadResult result = COSManager.getInstance().uploadFile(image.getInputStream(), "/image/" + from + "/" + UUID.randomUUID().toString() + "." + getExtensionName(contentType)); return JsonUtil.loadTrueResult(result.getUrl()); } catch (IOException e) { e.printStackTrace(); } return JsonUtil.loadFalseResult("上传文件出错"); } private String getExtensionName(String contentType) { return contentType.split("/")[1]; } } service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAssistController.java
@@ -31,10 +31,10 @@ @RequestMapping("api/client/activity/assist") public class ActivityAssistController { @Reference(version = "1.0") @Reference(version = "1.0.0") private LuckyActivityJoinAssistService luckyActivityJoinAssistService; @Reference(version = "1.0") @Reference(version = "1.0.0") private LuckyActivityJoinService luckyActivityJoinService; @Resource service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java
@@ -33,10 +33,10 @@ @RequestMapping("api/client/activity/awards") public class ActivityAwardsController { @Reference(version = "1.0") @Reference(version = "1.0.0") private LuckyActivityAwardResultService luckyActivityAwardResultService; @Reference(version = "1.0") @Reference(version = "1.0.0") private LuckyActivityAwardService luckyActivityAwardService; @Resource service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java
@@ -30,10 +30,10 @@ @RequestMapping("api/client/activity") public class ActivityController { @Reference(version = "1.0") @Reference(version = "1.0.0") private LuckyActivityService luckyActivityService; @Reference(version = "1.0") @Reference(version = "1.0.0") private LuckyActivityJoinAssistService luckyActivityJoinAssistService; @Resource service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityJoinController.java
@@ -30,10 +30,10 @@ @RequestMapping("api/client/activity/join") public class ActivityJoinController { @Reference(version = "1.0") @Reference(version = "1.0.0") private LuckyActivityJoinService luckyActivityJoinService; @Reference(version = "1.0") @Reference(version = "1.0.0") private LuckyActivityAwardResultService luckyActivityAwardResultService; @Resource service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityLuckyCouponController.java
@@ -23,7 +23,7 @@ @RequestMapping("api/client/activity/coupon") public class ActivityLuckyCouponController { @Reference(version = "1.0") @Reference(version = "1.0.0") private LuckyActivityUserWeightRecordService luckyActivityUserWeightRecordService; service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/UserController.java
@@ -33,7 +33,7 @@ import java.util.List; @Controller @RequestMapping("api/client/user") @RequestMapping(value = "api/client/user", produces = "application/json;charset=utf-8") public class UserController { @Resource private UserInfoService userInfoService; service-daylucky/src/main/java/com/ks/daylucky/mapper/UserInfoMapper.java
@@ -21,7 +21,7 @@ * @param userList * @return */ List<UserInfo> listUserInfo(List<BaseUser> userList); List<UserInfo> listUserInfo(@Param("userList") List<BaseUser> userList); } service-daylucky/src/main/java/com/ks/daylucky/pojo/DTO/ImageFromEnum.java
New file @@ -0,0 +1,12 @@ package com.ks.daylucky.pojo.DTO; public enum ImageFromEnum { activity("活动"); private ImageFromEnum(String name) { } } service-daylucky/src/main/java/com/ks/daylucky/service/impl/ActivityServiceImpl.java
@@ -27,23 +27,22 @@ @Service public class ActivityServiceImpl implements ActivityService { @Reference @Reference(version = "1.0.0") private LuckyActivityService luckyActivityService; @Reference private ActivityTagService activityTagService; @Reference @Reference(version = "1.0.0") private LuckyActivityJoinService luckyActivityJoinService; @Reference @Reference(version = "1.0.0") private LuckyActivityAwardResultService luckyActivityAwardResultService; @Reference @Reference(version = "1.0.0") private LuckyActivityAwardService luckyActivityAwardService; @Resource private UserInfoService userInfoService; @Resource private ActivityTagService activityTagService; @Override public List<ActivityDetailInfoDTO> getActivityDetail(List<Long> activityIds, Long appId, Long uid, Boolean needAwardResult) { List<ActivityDetailInfoDTO> voList = new ArrayList<>(); service-daylucky/src/main/java/com/ks/daylucky/service/impl/AppManager.java
@@ -9,7 +9,7 @@ public class AppManager { //,url = "dubbo://193.112.35.168:20882/com.ks.app.service.AppService" @Reference(version = "1.0.0", url = "dubbo://193.112.35.168:20882/com.ks.app.service.AppService", check = false) @Reference(version = "1.0.0",check = false) private AppService appService; public Long getAppId(String appKey) { service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/ActivityScanRecordServiceImpl.java
@@ -5,7 +5,7 @@ import com.ks.daylucky.pojo.DO.ActivityScanRecord; import com.ks.daylucky.query.ActivityScanQuery; import com.ks.daylucky.service.ActivityScanRecordService; import org.apache.dubbo.config.annotation.Service; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import org.yeshi.utils.TimeUtil; @@ -15,7 +15,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0.0") @Service public class ActivityScanRecordServiceImpl implements ActivityScanRecordService { @Resource private ActivityScanRecordMapper activityScanRecordMapper; service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/ActivityTagServiceImpl.java
@@ -4,7 +4,7 @@ import com.ks.daylucky.mapper.ActivityTagMapper; import com.ks.daylucky.pojo.DO.ActivityTag; import com.ks.daylucky.service.ActivityTagService; import org.apache.dubbo.config.annotation.Service; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -12,7 +12,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0.0") @Service public class ActivityTagServiceImpl implements ActivityTagService { @Resource service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/AnnouncementServiceImpl.java
@@ -6,7 +6,7 @@ import com.ks.daylucky.pojo.DO.Announcement; import com.ks.daylucky.query.AnnouncementQuery; import com.ks.daylucky.service.AnnouncementService; import org.apache.dubbo.config.annotation.Service; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -14,7 +14,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0.0") @Service public class AnnouncementServiceImpl implements AnnouncementService { service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/AppConfigServiceImpl.java
@@ -7,7 +7,7 @@ import com.ks.daylucky.pojo.DTO.ConfigKeyEnum; import com.ks.daylucky.query.AppConfigQuery; import com.ks.daylucky.service.AppConfigService; import org.apache.dubbo.config.annotation.Service; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -15,7 +15,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0.0") @Service public class AppConfigServiceImpl implements AppConfigService { @Resource service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/MsgTypeConfigServiceImpl.java
@@ -6,7 +6,7 @@ import com.ks.daylucky.pojo.DO.UserMsg; import com.ks.daylucky.query.MsgTypeConfigQuery; import com.ks.daylucky.service.MsgTypeConfigService; import org.apache.dubbo.config.annotation.Service; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -14,7 +14,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0.0") @Service public class MsgTypeConfigServiceImpl implements MsgTypeConfigService { @Resource service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/UserInfoExtraServiceImpl.java
@@ -5,12 +5,12 @@ import com.ks.daylucky.pojo.DO.UserInfoExtra; import com.ks.daylucky.pojo.DTO.UserMsgSettings; import com.ks.daylucky.service.UserInfoExtraService; import org.apache.dubbo.config.annotation.Service; import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.Date; @Service(version = "1.0.0") @Service public class UserInfoExtraServiceImpl implements UserInfoExtraService { @Resource @@ -20,6 +20,7 @@ @Override public void init(Long uid) { UserInfoExtra extra = new UserInfoExtra(); extra.setUid(uid); extra.setCreateTime(new Date()); extra.setMsgSetting(new UserMsgSettings().toString()); extra.setMsgUnreadCount(0); service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/UserInfoServiceImpl.java
@@ -10,14 +10,14 @@ import com.ks.daylucky.service.UserInfoExtraService; import com.ks.daylucky.service.UserInfoService; import com.ks.lucky.pojo.DO.BaseUser; import org.apache.dubbo.config.annotation.Service; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Valid; import java.util.*; @Service(version = "1.0.0") @Service public class UserInfoServiceImpl implements UserInfoService { @Resource service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/UserMsgServiceImpl.java
@@ -5,7 +5,7 @@ import com.ks.daylucky.pojo.DO.UserMsg; import com.ks.daylucky.query.UserMsgQuery; import com.ks.daylucky.service.UserMsgService; import org.apache.dubbo.config.annotation.Service; import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; @@ -14,7 +14,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0.0") @Service public class UserMsgServiceImpl implements UserMsgService { @Resource private UserMsgMapper userMsgMapper; service-daylucky/src/main/java/com/ks/daylucky/util/UserInfoUtil.java
@@ -11,7 +11,7 @@ public class UserInfoUtil { private final static String TOKEN_KEY = "@2020_Ks@8#8"; private final static String TOKEN_KEY = "@2020_Ks@8#8!!@#"; /** service-daylucky/src/main/resources/application.yml
@@ -63,11 +63,11 @@ name: daylucky-provider registry: protocol: zookeeper address: zookeeper://134.175.68.214:2181 # 134.175.68.214 134.175.68.214:2181 address: zookeeper://192.168.3.253:2181 # 134.175.68.214 134.175.68.214:2181 client: curator protocol: name: dubbo port: 20882 port: 20883 scan: base-packages: com.ks.lucky.service.impl.remote provider: @@ -81,6 +81,19 @@ ip: logpath: /data/applogs/xxl-job/jobhandler logretentiondays: -1 port: 9999 port: 10000 admin: addresses: http://localhost:8081/xxl-job-admin addresses: http://localhost:8081/xxl-job-admin # appId =1255749512 # secretId =AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25 # secretKey =xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo # bucketName =ec # region=ap-guangzhou cos: appId: 1255749512 secretId: AKIDTlpgJhLjOozvd6QI2XnpfGbgV4NQJk25 secretKey: xhCSUHo55oHUQ6XicFcmfIgspX0EEzWo bucketName: daylucky region: ap-nanjing service-daylucky/src/main/resources/static/activity-add.html
New file @@ -0,0 +1,368 @@ <!DOCTYPE html> <html class="x-admin-sm"> <head> <meta charset="UTF-8"> <title>欢迎页面-X-admin2.2</title> <meta name="renderer" content="webkit"> <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"> <meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi"/> <link rel="stylesheet" href="./css/font.css"> <link rel="stylesheet" href="./css/xadmin.css"> <script type="text/javascript" src="./lib/layui/layui.js" charset="utf-8"></script> <script type="text/javascript" src="./js/xadmin.js"></script> <script type="text/javascript" src="./js/vue.min.js"></script> <script src="js/http.js" type="text/javascript" charset="utf-8"></script> <script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script> <!-- 让IE8/9支持媒体查询,从而兼容栅格 --> <!--[if lt IE 9]> <script src="https://cdn.staticfile.org/html5shiv/r29/html5.min.js"></script> <script src="https://cdn.staticfile.org/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <style> .poster { max-width: 300px; max-height: 300px; } </style> </head> <body> <div class="layui-fluid" id="main"> <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief"> <ul class="layui-tab-title"> <li class="layui-this">活动内容</li> <li>活动奖品</li> <li>开奖设置</li> <li>广告设置</li> </ul> <div class="layui-tab-content"> <div class="layui-tab-item layui-show"> <div class="layui-row"> <form class="layui-form"> <div class="layui-form-item"> <label for="L_name" class="layui-form-label"> <span class="x-red">*</span>活动名称</label> <div class="layui-input-inline"> <input type="text" id="L_name" name="name" lay-verify="username|required" autocomplete="off" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_appName" class="layui-form-label"> <span class="x-red">*</span>活动海报</label> <div class="layui-input-inline"> <div class="layui-upload"> <button type="button" class="layui-btn" id="test1">选择图片</button> <div class="layui-upload-list"> <img class="layui-upload-img poster" id="poster"> </div> </div> </div> </div> <div class="layui-form-item"> <label for="L_desc" class="layui-form-label"> 活动简介</label> <div class="layui-input-inline"> <textarea id="L_desc" name="desc" required="" lay-verify="desc" autocomplete="off" class="layui-textarea"></textarea></div> </div> <div class="layui-form-item"> <label class="layui-form-label"> <span class="x-red">*</span>最大参与人数</label> <div class="layui-input-inline"> <input type="text" name="maxPersonCount" required="" lay-verify="required|number" autocomplete="off" class="layui-input"></div> </div> <div class="layui-form-item"> <label class="layui-form-label"> <span class="x-red">*</span>预计开始时间</label> <div class="layui-input-inline"> <input type="text" name="preStartTime" required="" autocomplete="off" class="layui-input"></div> </div> <div class="layui-form-item"> <label class="layui-form-label"> 预计结束时间</label> <div class="layui-input-inline"> <input type="text" name="preFinishTime" autocomplete="off" class="layui-input"></div> </div> <div class="layui-form-item"> <label class="layui-form-label"> 预计开奖时间</label> <div class="layui-input-inline"> <input type="text" name="preOpenTime" autocomplete="off" class="layui-input"></div> </div> <div class="layui-form-item"> <label for="L_remarks" class="layui-form-label"></label> <button class="layui-btn layui-btn-radius layui-btn-normal" id="save" lay-filter="save-activity" lay-submit="">保存 </button> </div> </form> </div> </div> <div class="layui-tab-item"> <!--奖品列表 --> <form class="layui-form award-form"> <div v-for="(item,index) in tempAwardsList"> <div class="layui-form-item"> <label for="L_name" class="layui-form-label"> <span class="x-red">*</span>奖品名称</label> <div class="layui-input-inline"> <input type="text" id="L_name" placeholder="请输入奖品名称" name="name" lay-verify="username|required" autocomplete="off" class="layui-input"></div> </div> <div class="layui-form-item"> <label class="layui-form-label"> <span class="x-red">*</span>奖品数量</label> <div class="layui-input-inline"> <input type="text" name="maxPersonCount" placeholder="请输入奖品数量" required="" lay-verify="required|number" autocomplete="off" class="layui-input"></div> </div> <div class="layui-form-item"> <label class="layui-form-label"> <span class="x-red">*</span>奖品类型</label> <div class="layui-input-inline"> <select name="city" lay-verify="required"> <option value=""></option> <option value="0">支付宝现金红包</option> </select> </div> </div> <div class="layui-form-item"> <label class="layui-form-label"> <span class="x-red">*</span>红包总金额</label> <div class="layui-input-inline"> <input type="text" name="maxPersonCount" placeholder="请输入红包总金额" required="" lay-verify="required|number" autocomplete="off" class="layui-input"></div> </div> <div class="layui-form-item"> <label class="layui-form-label"> <span class="x-red">*</span>中奖方式</label> <div class="layui-input-inline"> <select name="city" lay-verify="required"> <option value=""></option> <option value="0">随机</option> <option value="0">均分</option> </select> </div> </div> <i @click="delAward(index)" class="layui-icon"></i> <hr class="layui-bg-green"> </div> <i v-on:click="addAward" class="layui-btn">添加奖项</i> <div class="layui-form-item"> <label for="L_remarks" class="layui-form-label"></label> <button class="layui-btn layui-btn-radius layui-btn-normal" lay-filter="save-awards" lay-submit="">保存 </button> </div> </form> </div> <div class="layui-tab-item">开奖设置</div> <div class="layui-tab-item">广告设置</div> </div> <button class="layui-btn layui-btn-warm layui-btn-lg" id="submit" lay-submit="">立即提交</button> </div> </div> <script> var app = new Vue({ el: '#main', data: { poster: '', activity: null, awardsList: [], tempAwardsList: [{}], openInfo: null, adInfo: null, uploadPosterUrl: '/admin/upload/image?from=activity' }, watch: { tempAwardsList: function () { setTimeout(function () { layui.use(['form'], function () { form.render(); }) }); } }, methods: { //添加 requestAdd: function () { //组装数据 if (this.data.awardsList.length == 0) { return; } if (this.data.poster == null || this.data.poster.length == 0) { return; } var params = { activity: this.data.activity, awardsList: this.data.awardsList, openInfo: this.data.openInfo, adInfo: this.data.adInfo, } this.activity.poster = this.data.poster; //发异步,把数据提交给php ksapp.post('/admin/api/app/add', params, function (res) { if (res.code == 0) { layer.alert("增加成功", { icon: 6 }, function () { //关闭当前frame xadmin.close(); // 可以对父窗口进行刷新 xadmin.father_reload(); }); } else { layer.msg(res.msg); } }, function (res) { }); }, //图片上传成功 posterUploadSuccess: function (url) { //获取表单的数据 app.data.poster = url; app.requestAdd(); }, addAward: function () { this.tempAwardsList.push({}); }, delAward: function (index) { this.tempAwardsList.splice(index, 1); }, //提交 submit: function () { $("#poster").trigger("click"); } } }); layui.use('upload', function () { var $ = layui.jquery , upload = layui.upload; //普通图片上传 var uploadInst = upload.render({ elem: '#test1', auto: false, url: app.data.uploadPosterUrl, field: 'image', bindAction: '#poster' , choose: function (obj) { //预读本地文件示例,不支持ie8 obj.preview(function (index, file, result) { $('#poster').attr('src', result); //图片链接(base64) }); }, done: function (res, index, upload) { //上传后的回调 alert("图片上传成功") app.posterUploadSuccess(); }, error: function () { layer.alert("图片上传失败", {icon: 6}, null); } }); }); //图片上传成功 var form = null; layui.use(['form', 'layer', 'jquery'], function () { $ = layui.jquery; form = layui.form; layer = layui.layer; //自定义验证规则 form.verify({ username: function (value) { if (value.length < 5) { return '活动名称至少得5个字符啊'; } }, appcode: [/^([A-Za-z0-9]|\-|_)+$/, '应用标识只能包含 数字、英文字符、_ 、-'], desc: function (value) { if (value != null && value.length > 128) { return '简介最大为128个字符'; } }, remarks: function (value) { if (value != null && value.length > 128) { return '备注最大为128个字符'; } }, }); //监听提交 //保存活动 form.on('submit(save-activity)', function (data) { app.data.activity = data.field; console.log(data.field); return false; }); //保存奖项 form.on('submit(save-awards)', function (data) { alert(JSON.stringify(data.field)); app.data.activity = data.field; console.log(data.field); return true; }); });</script> </body> </html> service-daylucky/src/main/resources/static/activity-list.html
File was renamed from service-daylucky/src/main/resources/static/app-list.html @@ -25,9 +25,9 @@ <body> <div class="x-nav"> <span class="layui-breadcrumb"> <a href="">应用管理</a> <a href="">活动管理</a> <a> <cite>应用列表</cite></a> <cite>所有活动</cite></a> </span> <a class="layui-btn layui-btn-small" style="line-height:1.6em;margin-top:3px;float:right" onclick="location.reload()" title="刷新"> @@ -67,7 +67,7 @@ </body> <script type="text/html" id="toolbar"> <div class="layui-btn-container"> <button class="layui-btn" onclick="xadmin.open('添加用户','./app-add.html',500,480)"><i class="layui-icon"></i>添加 <button class="layui-btn" onclick="xadmin.open('新建活动','./activity-add.html',600,800)"><i class="layui-icon"></i>新建活动 </button> </div> </script> service-daylucky/src/main/resources/static/app-add.html
File was deleted service-daylucky/src/main/resources/static/index.html
@@ -79,7 +79,7 @@ <li> <a href="javascript:;"> <i class="iconfont left-nav-li" lay-tips="应用管理"></i> <cite>应用管理</cite> <cite>活动管理</cite> <i class="iconfont nav_right"></i></a> <ul class="sub-menu"> <li> @@ -88,9 +88,9 @@ <cite>统计页面</cite></a> </li> <li> <a onclick="xadmin.add_tab('应用列表','app-list.html',true)"> <a onclick="xadmin.add_tab('所有活动','activity-list.html',true)"> <i class="iconfont"></i> <cite>应用列表</cite></a> <cite>所有活动</cite></a> </li> </ul> </li> service-daylucky/src/main/resources/static/menu.json
@@ -1,11 +1,11 @@ [ { "value": "系统设置", "value": "活动", "icon": "", "child": [ { "value": "应用管理", "href": "app-list.html", "value": "所有活动", "href": "activity-list.html", "child": [] } ] service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardMaterialServiceImpl.java
@@ -11,7 +11,7 @@ import javax.annotation.Resource; import java.util.Date; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivityAwardMaterialServiceImpl implements LuckyActivityAwardMaterialService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java
@@ -22,7 +22,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivityAwardResultServiceImpl implements LuckyActivityAwardResultService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardServiceImpl.java
@@ -9,10 +9,9 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Valid; import java.util.List; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivityAwardServiceImpl implements LuckyActivityAwardService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinAssistServiceImpl.java
@@ -22,7 +22,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivityJoinAssistServiceImpl implements LuckyActivityJoinAssistService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinServiceImpl.java
@@ -13,7 +13,6 @@ import com.ks.lucky.query.ActivityAwardQuery; import com.ks.lucky.query.ActivityJoinRecordQuery; import com.ks.lucky.remote.service.LuckyActivityJoinService; import com.ks.lucky.service.impl.AppManager; import com.ks.lucky.service.impl.LuckyActivityJoinManager; import com.ks.lucky.service.impl.LuckyActivityManager; import com.ks.lucky.service.impl.LuckyActivityUserWeightRecordManager; @@ -30,7 +29,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivityJoinServiceImpl implements LuckyActivityJoinService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenInfoServiceImpl.java
@@ -9,10 +9,8 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Valid; import java.util.Date; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivityOpenInfoServiceImpl implements LuckyActivityOpenInfoService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenServiceImpl.java
@@ -23,7 +23,7 @@ import java.util.Map; import java.util.Set; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivityOpenServiceImpl implements LuckyActivityOpenService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java
@@ -20,7 +20,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivityServiceImpl implements LuckyActivityService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivitySponsorInfoServiceImpl.java
@@ -9,9 +9,8 @@ import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; import javax.validation.Valid; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivitySponsorInfoServiceImpl implements LuckyActivitySponsorInfoService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityUserWeightRecordServiceImpl.java
@@ -9,7 +9,7 @@ import javax.annotation.Resource; import java.util.List; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckyActivityUserWeightRecordServiceImpl implements LuckyActivityUserWeightRecordService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckySponsorAdServiceImpl.java
@@ -14,7 +14,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckySponsorAdServiceImpl implements LuckySponsorAdService { @Resource service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckySponsorServiceImpl.java
@@ -15,7 +15,7 @@ import java.util.Date; import java.util.List; @Service(version = "1.0") @Service(version = "1.0.0") public class LuckySponsorServiceImpl implements LuckySponsorService { @Resource