admin
2020-12-17 452714cdffb21300ed64d5818efaa9cc38c3ee83
rpc服务引用优化
1个文件已删除
1 文件已重命名
37个文件已修改
5个文件已添加
860 ■■■■ 已修改文件
service-daylucky/pom.xml 57 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/aspect/ApiClientSignAspect.java 20 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/aspect/VerifyAppAspect.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/config/COSConfig.java 44 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/config/CharsetConfig.java 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/config/XXLJobConfig.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/controller/admin/FileUploadController.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAssistController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityAwardsController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityJoinController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/ActivityLuckyCouponController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/controller/api/client/UserController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/mapper/UserInfoMapper.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/pojo/DTO/ImageFromEnum.java 12 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/ActivityServiceImpl.java 17 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/AppManager.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/ActivityScanRecordServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/ActivityTagServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/AnnouncementServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/AppConfigServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/MsgTypeConfigServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/UserInfoExtraServiceImpl.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/UserInfoServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/service/impl/remote/UserMsgServiceImpl.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/java/com/ks/daylucky/util/UserInfoUtil.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/resources/application.yml 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/resources/static/activity-add.html 368 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/resources/static/activity-list.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/resources/static/app-add.html 123 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/resources/static/index.html 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-daylucky/src/main/resources/static/menu.json 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardMaterialServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardResultServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityAwardServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinAssistServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityJoinServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenInfoServiceImpl.java 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityOpenServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivitySponsorInfoServiceImpl.java 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckyActivityUserWeightRecordServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckySponsorAdServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
service-lucky/src/main/java/com/ks/lucky/service/impl/remote/LuckySponsorServiceImpl.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>-->
                    <!--&lt;!&ndash;配置文件的位置&ndash;&gt;-->
                    <!--<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>-->
            <!--&lt;!&ndash;配置文件的位置&ndash;&gt;-->
            <!--<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">&#xe640;</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="应用管理">&#xe6b8;</i>
                    <cite>应用管理</cite>
                    <cite>活动管理</cite>
                    <i class="iconfont nav_right">&#xe697;</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">&#xe6a7;</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": "&#xe6f4;",
    "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