├── README.md
├── missyou
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ │ └── lin
│ │ │ │ └── missyou
│ │ │ │ ├── auth
│ │ │ │ ├── AboutAuthConception.md
│ │ │ │ ├── Auth0.java
│ │ │ │ └── JavaJWT.java
│ │ │ │ ├── dto
│ │ │ │ ├── doubleTokenDTO.java
│ │ │ │ ├── VerifyTokenDTO.java
│ │ │ │ ├── TokenDTO.java
│ │ │ │ └── validators
│ │ │ │ │ ├── TokenPassword.java
│ │ │ │ │ └── TokenPasswordValidator.java
│ │ │ │ ├── util
│ │ │ │ ├── CheckJsonToElasticsearch.java
│ │ │ │ ├── CommonUtil.java
│ │ │ │ ├── ImportJsonToElasticsearch.java
│ │ │ │ ├── ListAndJon.java
│ │ │ │ ├── MapAndJson.java
│ │ │ │ ├── GenericAndJson.java
│ │ │ │ └── JwtToken.java
│ │ │ │ ├── service
│ │ │ │ ├── BannerService.java
│ │ │ │ ├── AuthenticationService.java
│ │ │ │ ├── BannerServiceImpl.java
│ │ │ │ ├── ActivityService.java
│ │ │ │ ├── GridCategoryService.java
│ │ │ │ ├── ThemeService.java
│ │ │ │ ├── CategoryService.java
│ │ │ │ ├── UserService.java
│ │ │ │ ├── SpuService.java
│ │ │ │ ├── WxAuthenticationService.java
│ │ │ │ └── CouponService.java
│ │ │ │ ├── exception
│ │ │ │ ├── Http
│ │ │ │ │ ├── ServerErrorException.java
│ │ │ │ │ ├── ForbiddenException.java
│ │ │ │ │ ├── ParemeterExcepiton.java
│ │ │ │ │ ├── UnAuthenticatedException.java
│ │ │ │ │ ├── NotFoundException.java
│ │ │ │ │ └── HttpException.java
│ │ │ │ ├── CreateSuccess.java
│ │ │ │ ├── DeleteSuccess.java
│ │ │ │ └── UpdateSuccess.java
│ │ │ │ ├── bo
│ │ │ │ └── PageCounter.java
│ │ │ │ ├── model
│ │ │ │ ├── Spec.java
│ │ │ │ ├── SpuImg.java
│ │ │ │ ├── SpuDetailImg.java
│ │ │ │ ├── ActivityCoupon.java
│ │ │ │ ├── BaseEntity.java
│ │ │ │ ├── BannerItem.java
│ │ │ │ ├── UserCoupon.java
│ │ │ │ ├── GridCategory.java
│ │ │ │ ├── Banner.java
│ │ │ │ ├── Activity.java
│ │ │ │ ├── User.java
│ │ │ │ ├── Coupon.java
│ │ │ │ ├── Category.java
│ │ │ │ ├── Theme.java
│ │ │ │ ├── Spu.java
│ │ │ │ └── Sku.java
│ │ │ │ ├── repository
│ │ │ │ ├── GridCategoryRepository.java
│ │ │ │ ├── BannerRepository.java
│ │ │ │ ├── CategoryRepository.java
│ │ │ │ ├── UserCouponRepository.java
│ │ │ │ ├── ActivityRepository.java
│ │ │ │ ├── UserRepository.java
│ │ │ │ ├── SpuRepository.java
│ │ │ │ ├── ThemeRepository.java
│ │ │ │ └── CouponRepository.java
│ │ │ │ ├── core
│ │ │ │ ├── enumeration
│ │ │ │ │ ├── LoginType.java
│ │ │ │ │ └── CouponStatus.java
│ │ │ │ ├── interceptors
│ │ │ │ │ ├── ScopeLevel.java
│ │ │ │ │ └── PermissionInterceptor.java
│ │ │ │ ├── configuration
│ │ │ │ │ ├── AutoPrefixConfiguration.java
│ │ │ │ │ ├── ExceptionCodeConfiguration.java
│ │ │ │ │ └── InterceptorConfiguration.java
│ │ │ │ ├── UnifyResponse.java
│ │ │ │ ├── LocalUser.java
│ │ │ │ ├── hack
│ │ │ │ │ └── AutoPrefixUrlMapping.java
│ │ │ │ └── GlobalHttpExceptionAdvice.java
│ │ │ │ ├── MissyouApplication.java
│ │ │ │ ├── vo
│ │ │ │ ├── ThemePureVO.java
│ │ │ │ ├── SpuSimplifyVO.java
│ │ │ │ ├── CategoryPureVO.java
│ │ │ │ ├── ActivityCouponVO.java
│ │ │ │ ├── CategoryAllVO.java
│ │ │ │ ├── ActivityPureVO.java
│ │ │ │ ├── CouponCategoryVO.java
│ │ │ │ ├── PagingDozer.java
│ │ │ │ ├── Paging.java
│ │ │ │ └── CouponPureVO.java
│ │ │ │ ├── mark
│ │ │ │ ├── token.md
│ │ │ │ ├── tencentSerivce.md
│ │ │ │ ├── testOptional.java
│ │ │ │ ├── doubleToken.md
│ │ │ │ ├── tokenDevelopment.md
│ │ │ │ └── testCollection.java
│ │ │ │ └── api
│ │ │ │ └── v1
│ │ │ │ ├── CategoryController.java
│ │ │ │ ├── ActivityController.java
│ │ │ │ ├── ThemeController.java
│ │ │ │ ├── TokenController.java
│ │ │ │ ├── SpuController.java
│ │ │ │ ├── TestTool.java
│ │ │ │ ├── CouponController.java
│ │ │ │ └── BannerController.java
│ │ └── resources
│ │ │ ├── config
│ │ │ ├── application-prod.yml
│ │ │ ├── application-dev.yml
│ │ │ └── exception-code.properties
│ │ │ └── application.yml
│ └── test
│ │ └── java
│ │ └── com
│ │ └── lin
│ │ └── missyou
│ │ ├── optional
│ │ └── OptionalTest.java
│ │ ├── MissyouApplicationTests.java
│ │ └── MissyouApplication.java
├── .mvn
│ └── wrapper
│ │ ├── maven-wrapper.jar
│ │ ├── maven-wrapper.properties
│ │ └── MavenWrapperDownloader.java
├── .gitignore
└── pom.xml
└── .idea
├── misc.xml
├── vcs.xml
├── modules.xml
├── .gitignore
└── mini-program-backend.iml
/README.md:
--------------------------------------------------------------------------------
1 | # mini-program-backend
2 |
3 | 学习springboot相关知识
4 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/auth/AboutAuthConception.md:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/dto/doubleTokenDTO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.dto;
2 |
3 | public class doubleTokenDTO {
4 |
5 | }
6 |
--------------------------------------------------------------------------------
/missyou/.mvn/wrapper/maven-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Until-You-Possible/mini-program-backend/HEAD/missyou/.mvn/wrapper/maven-wrapper.jar
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/auth/Auth0.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.auth;
2 |
3 |
4 | // 关于Java Auth0的基本概念和实现
5 | public class Auth0 {
6 | }
7 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/auth/JavaJWT.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.auth;
2 |
3 |
4 | // 关于jjjwt的基本概念和基本权限实现
5 | public class JavaJWT {
6 |
7 | }
8 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/util/CheckJsonToElasticsearch.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.util;
2 |
3 | public class CheckJsonToElasticsearch {
4 |
5 |
6 | }
7 |
--------------------------------------------------------------------------------
/.idea/misc.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
--------------------------------------------------------------------------------
/.idea/vcs.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/service/BannerService.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.service;
2 |
3 | import com.lin.missyou.model.Banner;
4 |
5 | public interface BannerService {
6 | Banner getByName(String name);
7 | }
8 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/service/AuthenticationService.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.service;
2 |
3 |
4 | import org.springframework.stereotype.Service;
5 |
6 | @Service
7 | public class AuthenticationService {
8 |
9 |
10 |
11 | }
12 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/dto/VerifyTokenDTO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.dto;
2 |
3 |
4 | import lombok.Getter;
5 | import lombok.Setter;
6 |
7 | @Getter
8 | @Setter
9 | public class VerifyTokenDTO {
10 | private String token;
11 | }
12 |
--------------------------------------------------------------------------------
/missyou/.mvn/wrapper/maven-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionUrl=https://repo.maven.apache.org/maven2/org/apache/maven/apache-maven/3.8.1/apache-maven-3.8.1-bin.zip
2 | wrapperUrl=https://repo.maven.apache.org/maven2/io/takari/maven-wrapper/0.5.6/maven-wrapper-0.5.6.jar
3 |
--------------------------------------------------------------------------------
/missyou/src/main/resources/config/application-prod.yml:
--------------------------------------------------------------------------------
1 | server:
2 | port: 8080
3 |
4 | spring:
5 | datasource:
6 | url: jdbc:mysql:http://localhost:3306/testMissyou?characterEncoding=utf-8&serverTimeZone=GMT%2B8
7 | username: root
8 | password: dyh18215153215
--------------------------------------------------------------------------------
/missyou/src/test/java/com/lin/missyou/optional/OptionalTest.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.optional;
2 |
3 |
4 | import org.junit.jupiter.api.Test;
5 |
6 | public class OptionalTest {
7 |
8 | @Test
9 | public void testOptional () {
10 |
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/exception/Http/ServerErrorException.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.exception.Http;
2 |
3 | public class ServerErrorException extends HttpException {
4 | public ServerErrorException(int code) {
5 | this.code = code;
6 | this.httpStatusCode = 500;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/exception/Http/ForbiddenException.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.exception.Http;
2 |
3 | public class ForbiddenException extends HttpException{
4 | public ForbiddenException(int code) {
5 | this.httpStatusCode = 403;
6 | this.code = code;
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/exception/Http/ParemeterExcepiton.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.exception.Http;
2 |
3 | public class ParemeterExcepiton extends HttpException{
4 | public ParemeterExcepiton(int code) {
5 | this.httpStatusCode = 400;
6 | this.code = code;
7 |
8 | }
9 | }
10 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/exception/Http/UnAuthenticatedException.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.exception.Http;
2 |
3 | public class UnAuthenticatedException extends HttpException{
4 | public UnAuthenticatedException(int code){
5 | this.code = code;
6 | this.httpStatusCode = 401;
7 | }
8 | }
9 |
--------------------------------------------------------------------------------
/.idea/modules.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/bo/PageCounter.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.bo;
2 |
3 |
4 | import lombok.Builder;
5 | import lombok.Getter;
6 | import lombok.Setter;
7 |
8 | @Getter
9 | @Setter
10 | @Builder
11 | public class PageCounter {
12 |
13 | public Integer page;
14 | public Integer count;
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 | # Datasource local storage ignored files
5 | /../../../../../../../../../:\Users\C5312072\Desktop\arthur\frontMiniprogram\mini-program-backend\mini-program-backend\.idea/dataSources/
6 | /dataSources.local.xml
7 | # Editor-based HTTP Client requests
8 | /httpRequests/
9 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/Spec.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 |
4 | import lombok.Getter;
5 | import lombok.Setter;
6 |
7 | @Getter
8 | @Setter
9 | public class Spec {
10 |
11 | private Long id;
12 | private Long valueId;
13 | private String key;
14 | private String value;
15 |
16 | }
17 |
--------------------------------------------------------------------------------
/missyou/src/test/java/com/lin/missyou/MissyouApplicationTests.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou;
2 |
3 | import org.junit.jupiter.api.Test;
4 | import org.springframework.boot.test.context.SpringBootTest;
5 |
6 | @SpringBootTest
7 | class MissyouApplicationTests {
8 |
9 | @Test
10 | void contextLoads() {
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/exception/CreateSuccess.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.exception;
2 |
3 | import com.lin.missyou.exception.Http.HttpException;
4 |
5 | public class CreateSuccess extends HttpException {
6 | public CreateSuccess(int code){
7 | this.httpStatusCode = 201;
8 | this.code = code;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/exception/DeleteSuccess.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.exception;
2 |
3 | import com.lin.missyou.exception.Http.HttpException;
4 |
5 | public class DeleteSuccess extends HttpException {
6 | public DeleteSuccess(int code){
7 | this.httpStatusCode = 200;
8 | this.code = code;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/exception/UpdateSuccess.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.exception;
2 |
3 | import com.lin.missyou.exception.Http.HttpException;
4 |
5 | public class UpdateSuccess extends HttpException {
6 | public UpdateSuccess(int code){
7 | this.httpStatusCode = 200;
8 | this.code = code;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/exception/Http/NotFoundException.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.exception.Http;
2 |
3 | import org.springframework.http.HttpStatus;
4 |
5 | public class NotFoundException extends HttpException{
6 | public NotFoundException(int code) {
7 | this.code = code;
8 | this.httpStatusCode = 404;
9 | }
10 | }
11 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/repository/GridCategoryRepository.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.repository;
2 |
3 | import com.lin.missyou.model.GridCategory;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | import java.util.List;
7 |
8 | public interface GridCategoryRepository extends JpaRepository {
9 | }
10 |
--------------------------------------------------------------------------------
/.idea/mini-program-backend.iml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/core/enumeration/LoginType.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.core.enumeration;
2 |
3 | public enum LoginType {
4 |
5 | USER_WX(0, "微信登陆"),
6 | USER_Email(1, "邮箱登陆");
7 |
8 | private Integer value;
9 | LoginType(Integer value, String description) {
10 | this.value = value;
11 | }
12 | public void test() {
13 |
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/repository/BannerRepository.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.repository;
2 |
3 | import com.lin.missyou.model.Banner;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 |
7 | public interface BannerRepository extends JpaRepository {
8 |
9 | Banner findOneById(Long id);
10 | Banner findOneByName(String name);
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/missyou/src/test/java/com/lin/missyou/MissyouApplication.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class MissyouApplication {
8 | public static void main(String[] args) {
9 | SpringApplication.run(MissyouApplication.class, args);
10 | }
11 | }
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/repository/CategoryRepository.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.repository;
2 |
3 | import com.lin.missyou.model.Category;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | import java.util.List;
7 |
8 | public interface CategoryRepository extends JpaRepository {
9 |
10 | List findAllByIsRootOrderByIndexAsc(Boolean isRoot);
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/MissyouApplication.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou;
2 |
3 | import org.springframework.boot.SpringApplication;
4 | import org.springframework.boot.autoconfigure.SpringBootApplication;
5 |
6 | @SpringBootApplication
7 | public class MissyouApplication {
8 |
9 | public static void main(String[] args) {
10 | SpringApplication.run(MissyouApplication.class, args);
11 | }
12 |
13 | }
14 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/exception/Http/HttpException.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.exception.Http;
2 |
3 | public class HttpException extends RuntimeException{
4 | protected Integer code;
5 |
6 | protected Integer httpStatusCode = 500;
7 |
8 | public Integer getCode() {
9 | return code;
10 | }
11 |
12 | public Integer getHttpStatusCode() {
13 | return httpStatusCode;
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/SpuImg.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 |
6 | import javax.persistence.*;
7 |
8 | @Entity
9 | @Table(name = "spu_img", schema = "missyou-v2", catalog = "")
10 | @Setter
11 | @Getter
12 | public class SpuImg extends BaseEntity {
13 | @Id
14 | private Long id;
15 | private String img;
16 | private Long spuId;
17 |
18 | }
19 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/repository/UserCouponRepository.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.repository;
2 |
3 | import com.lin.missyou.model.UserCoupon;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | import java.util.Optional;
7 |
8 | public interface UserCouponRepository extends JpaRepository {
9 |
10 | Optional findFirstByUserIdAndCouponId(Long uid, Long couponId);
11 |
12 | }
13 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/core/interceptors/ScopeLevel.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.core.interceptors;
2 |
3 | import java.lang.annotation.ElementType;
4 | import java.lang.annotation.Retention;
5 | import java.lang.annotation.RetentionPolicy;
6 | import java.lang.annotation.Target;
7 |
8 | @Target({ElementType.METHOD, ElementType.TYPE})
9 | @Retention(RetentionPolicy.RUNTIME)
10 | public @interface ScopeLevel {
11 | int value() default 4;
12 | }
13 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/SpuDetailImg.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 |
6 | import javax.persistence.*;
7 |
8 | @Entity
9 | @Table(name = "spu_detail_img", schema = "missyou-v2", catalog = "")
10 | @Getter
11 | @Setter
12 | public class SpuDetailImg extends BaseEntity {
13 | @Id
14 | private Long id;
15 | private String img;
16 | private Long spuId;
17 | private Long index;
18 | }
19 |
--------------------------------------------------------------------------------
/missyou/src/main/resources/config/application-dev.yml:
--------------------------------------------------------------------------------
1 | server:
2 | port: 8088
3 |
4 |
5 | spring:
6 | datasource:
7 | url: jdbc:mysql://localhost:3306/missyou-v2?&characterEncoding=UTF-8&serverTimezone=GMT%2B8
8 | username: root
9 | password: dyh18215153215
10 | jpa:
11 | properties:
12 | hibernate:
13 | show_sql: true
14 | format_sql: true
15 |
16 |
17 | missyou:
18 | security:
19 | jwt-key: 1234567
20 | token-expired-in: 86400000
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/ActivityCoupon.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 |
6 | import javax.persistence.*;
7 | import java.util.Objects;
8 |
9 | @Entity
10 | @Setter
11 | @Getter
12 | @Table(name = "activity_coupon", schema = "missyou", catalog = "")
13 | public class ActivityCoupon extends BaseEntity {
14 | @Id
15 | private Long id;
16 | private Long couponId;
17 | private Long activityId;
18 | }
19 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/repository/ActivityRepository.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.repository;
2 |
3 | import com.lin.missyou.model.Activity;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | import java.util.Optional;
7 |
8 | public interface ActivityRepository extends JpaRepository {
9 |
10 | Activity findByName(String name);
11 |
12 | // 根据优惠券id查询对应的优惠券
13 | Optional findByCouponListId(Long couponId);
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/repository/UserRepository.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.repository;
2 |
3 | import com.lin.missyou.model.User;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 |
6 | import java.util.Optional;
7 |
8 | public interface UserRepository extends JpaRepository {
9 |
10 | User findByEmail(String email);
11 | Optional findByOpenid(String openid);
12 | User findFirstById(Long id);
13 | User findByUnifyUid(Long uuid);
14 | }
15 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/vo/ThemePureVO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.vo;
2 |
3 |
4 | import lombok.Getter;
5 | import lombok.Setter;
6 |
7 | @Getter
8 | @Setter
9 | public class ThemePureVO {
10 | private Long id;
11 | private String title;
12 | private String description;
13 | private String name;
14 | private String entranceImg;
15 | private String extend;
16 | private String internalTopImg;
17 | private String titleImg;
18 | private String tplName;
19 | private Boolean online;
20 | }
21 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/BaseEntity.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import com.fasterxml.jackson.annotation.JsonIgnore;
4 | import lombok.Getter;
5 | import lombok.Setter;
6 |
7 | import javax.persistence.MappedSuperclass;
8 | import java.util.Date;
9 |
10 | @Getter
11 | @Setter
12 | @MappedSuperclass
13 | public abstract class BaseEntity {
14 |
15 | @JsonIgnore
16 | private Date createTime;
17 | @JsonIgnore
18 | private Date updateTime;
19 | @JsonIgnore
20 | private Date deleteTime;
21 | }
22 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/vo/SpuSimplifyVO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.vo;
2 |
3 |
4 | import lombok.Getter;
5 | import lombok.Setter;
6 |
7 | @Getter
8 | @Setter
9 | public class SpuSimplifyVO {
10 |
11 | private Long id;
12 | private String title;
13 | private String subtitle;
14 | private String img;
15 | private String discountPrice;
16 | private String description;
17 | private String tags;
18 | private String price;
19 | private String sketchSpecId;
20 | private String forThemeImg;
21 |
22 | }
23 |
--------------------------------------------------------------------------------
/missyou/.gitignore:
--------------------------------------------------------------------------------
1 | HELP.md
2 | target/
3 | !.mvn/wrapper/maven-wrapper.jar
4 | !**/src/main/**/target/
5 | !**/src/test/**/target/
6 |
7 | ### STS ###
8 | .apt_generated
9 | .classpath
10 | .factorypath
11 | .project
12 | .settings
13 | .springBeans
14 | .sts4-cache
15 |
16 | ### IntelliJ IDEA ###
17 | .idea
18 | *.iws
19 | *.iml
20 | *.ipr
21 |
22 | ### NetBeans ###
23 | /nbproject/private/
24 | /nbbuild/
25 | /dist/
26 | /nbdist/
27 | /.nb-gradle/
28 | build/
29 | !**/src/main/**/build/
30 | !**/src/test/**/build/
31 |
32 | ### VS Code ###
33 | .vscode/
34 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/mark/token.md:
--------------------------------------------------------------------------------
1 | ###### 关于token
2 |
3 | ###### token的出现
4 | Token的引入:Token是在客户端频繁向服务端请求数据,服务端频繁的去数据库查询用户名和密码并进行对比,
5 | 判断用户名和密码正确与否,并作出相应提示,在这样的背景下,Token便应运而生。
6 |
7 | ###### token的定义
8 | Token是服务端生成的一串字符串,以作客户端进行请求的一个令牌,当第一次登录后,
9 | 服务器生成一个Token便将此Token返回给客户端,以后客户端只需带上这个Token前来请求数据即可,
10 | 无需再次带上用户名和密码
11 |
12 | ###### token的目的
13 |
14 | Token的目的是为了减轻服务器的压力,减少频繁的查询数据库,使服务器更加健壮。
15 |
16 |
17 | ###### token和jwt存在什么区别
18 |
19 | 相同: 都是访问资源的令牌, 都可以记录用户信息,都是只有验证成功后。
20 | 区别:服务端验证客户端发来的token信息要进行数据的查询操作;JWT验证客户端发来的token信息就不用,
21 | 在服务端使用密钥校验就可以,不用数据库的查询。
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/dto/TokenDTO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.dto;
2 |
3 |
4 | import com.lin.missyou.core.enumeration.LoginType;
5 | import com.lin.missyou.dto.validators.TokenPassword;
6 | import lombok.Getter;
7 | import lombok.Setter;
8 |
9 | import javax.validation.constraints.NotBlank;
10 |
11 | @Getter
12 | @Setter
13 | public class TokenDTO {
14 | @NotBlank(message = "Account 不允许为空")
15 | private String account;
16 | @TokenPassword(min = 6, max = 30, message = "{token.password}")
17 | private String password;
18 | private LoginType type;
19 | }
20 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/repository/SpuRepository.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.repository;
2 |
3 | import com.lin.missyou.model.Spu;
4 | import org.springframework.data.domain.Page;
5 | import org.springframework.data.domain.Pageable;
6 | import org.springframework.data.jpa.repository.JpaRepository;
7 |
8 | public interface SpuRepository extends JpaRepository {
9 |
10 | Spu findOneById(Long id);
11 |
12 | Page findByCategoryIdOrderByCreateTimeDesc(Long cid, Pageable pageable);
13 | Page findByRootCategoryIdOrderByCreateTime(Long cid, Pageable pageable);
14 |
15 | }
16 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/service/BannerServiceImpl.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.service;
2 |
3 |
4 | import com.lin.missyou.model.Banner;
5 | import com.lin.missyou.repository.BannerRepository;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Service;
8 |
9 | @Service
10 | public class BannerServiceImpl implements BannerService {
11 |
12 | @Autowired
13 | private BannerRepository bannerRepository;
14 | public Banner getByName(String name) {
15 | // 查询数据库
16 | return bannerRepository.findOneByName(name);
17 | }
18 | }
19 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/service/ActivityService.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.service;
2 |
3 |
4 | import com.lin.missyou.model.Activity;
5 | import com.lin.missyou.repository.ActivityRepository;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Service;
8 |
9 | @Service
10 | public class ActivityService {
11 | // 调用repository 根据名称查询优惠券
12 | @Autowired
13 | private ActivityRepository activityRepository;
14 |
15 |
16 | public Activity findByName(String name) {
17 | return activityRepository.findByName(name);
18 | }
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/BannerItem.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 |
6 | import javax.persistence.*;
7 | import java.sql.Timestamp;
8 | import java.util.Date;
9 | import java.util.Objects;
10 |
11 | @Entity
12 | @Table(name = "banner_item", schema = "missyou", catalog = "")
13 | @Getter
14 | @Setter
15 | public class BannerItem extends BaseEntity {
16 | @Id
17 | private Long id;
18 | private String img;
19 | private String keyword;
20 | private short type;
21 | private Long bannerId;
22 | private String name;
23 |
24 | }
25 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/vo/CategoryPureVO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.vo;
2 |
3 | import com.lin.missyou.model.Category;
4 | import lombok.Getter;
5 | import lombok.Setter;
6 | import org.springframework.beans.BeanUtils;
7 |
8 | @Getter
9 | @Setter
10 | public class CategoryPureVO {
11 | private Long id;
12 |
13 | private String name;
14 |
15 | private Boolean isRoot;
16 |
17 | private String img;
18 |
19 | private Long parentId;
20 |
21 | private Long index;
22 |
23 | public CategoryPureVO(Category category) {
24 | BeanUtils.copyProperties(category, this);
25 | }
26 | }
27 |
28 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/dto/validators/TokenPassword.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.dto.validators;
2 |
3 |
4 | import javax.validation.Constraint;
5 | import javax.validation.Payload;
6 | import java.lang.annotation.*;
7 |
8 | @Documented
9 | @Retention(RetentionPolicy.RUNTIME)
10 | @Target({ElementType.TYPE, ElementType.FIELD})
11 | @Constraint(validatedBy = TokenPasswordValidator.class)
12 | public @interface TokenPassword {
13 | String message() default "字段不符合要求";
14 | int min() default 0;
15 | int max() default 8;
16 | Class>[] groups() default {};
17 | Class extends Payload>[] payload() default {};
18 | }
19 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/service/GridCategoryService.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.service;
2 |
3 | import com.lin.missyou.model.GridCategory;
4 | import com.lin.missyou.repository.GridCategoryRepository;
5 | import org.springframework.beans.factory.annotation.Autowired;
6 | import org.springframework.stereotype.Service;
7 |
8 | import java.util.List;
9 |
10 | @Service
11 | public class GridCategoryService {
12 |
13 | @Autowired
14 | private GridCategoryRepository gridCategoryRepository;
15 |
16 | public List getGridListAll() {
17 | return gridCategoryRepository.findAll();
18 | }
19 |
20 |
21 | }
22 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/vo/ActivityCouponVO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.vo;
2 |
3 |
4 | import com.lin.missyou.model.Activity;
5 | import lombok.Getter;
6 | import lombok.Setter;
7 |
8 | import java.util.List;
9 | import java.util.stream.Collectors;
10 |
11 | @Getter
12 | @Setter
13 | public class ActivityCouponVO extends ActivityPureVO{
14 |
15 | private List coupons;
16 |
17 |
18 | public ActivityCouponVO(Activity activity) {
19 | super(activity);
20 | coupons = activity.getCouponList()
21 | .stream().map(CouponPureVO::new)
22 | .collect(Collectors.toList());
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/core/configuration/AutoPrefixConfiguration.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.core.configuration;
2 |
3 | import com.lin.missyou.core.hack.AutoPrefixUrlMapping;
4 | import org.springframework.boot.autoconfigure.web.servlet.WebMvcRegistrations;
5 | import org.springframework.stereotype.Component;
6 | import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
7 |
8 | @Component
9 | public class AutoPrefixConfiguration implements WebMvcRegistrations {
10 |
11 | @Override
12 | public RequestMappingHandlerMapping getRequestMappingHandlerMapping() {
13 | return new AutoPrefixUrlMapping();
14 | }
15 | }
16 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/repository/ThemeRepository.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.repository;
2 |
3 | import com.lin.missyou.model.Theme;
4 | import org.springframework.data.jpa.repository.JpaRepository;
5 | import org.springframework.data.jpa.repository.Query;
6 | import org.springframework.stereotype.Repository;
7 |
8 | import java.util.List;
9 | import java.util.Optional;
10 |
11 | @Repository
12 | public interface ThemeRepository extends JpaRepository {
13 |
14 | @Query("select t from Theme t where t.name in (:names)")
15 | List findByNames(List names);
16 |
17 | @Query
18 | Optional findByName(String name);
19 |
20 | }
21 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/UserCoupon.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import lombok.*;
4 |
5 | import javax.persistence.*;
6 | import java.sql.Timestamp;
7 | import java.util.Date;
8 | import java.util.Objects;
9 |
10 | @Entity
11 | @Setter
12 | @Getter
13 | @Builder
14 | @NoArgsConstructor
15 | @AllArgsConstructor
16 | @Table(name = "user_coupon", schema = "missyou", catalog = "")
17 | public class UserCoupon extends BaseEntity {
18 | @Id
19 | private Long id;
20 | private Long userId;
21 | private Long couponId;
22 | private Integer status;
23 | private Long orderId;
24 | private Date updateTime;
25 | private Date createTime;
26 | }
27 |
--------------------------------------------------------------------------------
/missyou/src/main/resources/application.yml:
--------------------------------------------------------------------------------
1 |
2 | spring:
3 | profiles:
4 | active: dev
5 | jpa:
6 | hibernate:
7 | ddl-auto: update
8 | jackson:
9 | property-naming-strategy: SNAKE_CASE
10 | serialization:
11 | WRITE_DATES_AS_TIMESTAMPS: true
12 |
13 | missyou:
14 | api-package: com.lin.missyou.api
15 |
16 | server:
17 | servlet:
18 | encoding:
19 | force: true
20 | charset: utf-8
21 | enabled: true
22 |
23 |
24 | wx:
25 | appid: wx0d1cc0de3e7e3d53
26 | appsecret: b8177e8cd7a7dc411576e49124270025
27 | code2session: https://api.weixin.qq.com/sns/jscode2session?appid={0}&secret={1}&js_code={2}&grant_type=authorization_code
28 |
29 |
30 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/core/enumeration/CouponStatus.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.core.enumeration;
2 |
3 | import java.util.stream.Stream;
4 |
5 | public enum CouponStatus {
6 |
7 | AVAILABLE(1, "可以使用为过期"),
8 | USED(2, "已使用"),
9 | EXPIRED(3, "未使用,已过期");
10 |
11 | private Integer value;
12 |
13 | public Integer getValue() {
14 | return this.value;
15 | }
16 |
17 | CouponStatus(Integer value, String description) {
18 | this.value = value;
19 | }
20 |
21 | public static CouponStatus toType(int value) {
22 | return Stream.of(CouponStatus.values()).filter(c -> c.value == value)
23 | .findAny()
24 | .orElse(null);
25 | }
26 | }
27 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/GridCategory.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 |
6 | import javax.persistence.*;
7 | import java.sql.Timestamp;
8 | import java.util.Date;
9 | import java.util.Objects;
10 |
11 | @Entity
12 | @Setter
13 | @Getter
14 | @Table(name = "grid_category", schema = "missyou", catalog = "")
15 | public class GridCategory {
16 | @Id
17 | private Long id;
18 | private String title;
19 | private String img;
20 | private String name;
21 | private Date createTime;
22 | private Date updateTime;
23 | private Date deleteTime;
24 | private Integer categoryId;
25 | private Integer rootCategoryId;
26 |
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/mark/tencentSerivce.md:
--------------------------------------------------------------------------------
1 | 1: df -h 查看分区情况以及数据盘名称
2 | 2: sudo -i 切换到root超级用户
3 |
4 |
5 |
6 | ### Linux yum命令
7 |
8 | yum( Yellow dog Updater Modified) 是一个再Fedoras和Redhat以及Shell前端软件包管理器
9 | 基于 RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自己处理依赖关系,并且可以一次安装所有依赖的软件包
10 |
11 | yum语法
12 |
13 | ```shell script
14 | yum [options] [command] [package]
15 | ```
16 |
17 | - options 可选 选项包括 -h(help) -y(当安装过程提示全部为yes) q(不显示安装过程) 等等
18 | - command 要进行的操作
19 | - package 安装包的包名
20 |
21 | yum的常用命令
22 |
23 | - 列出所有可能更新的软件清单命令
24 | - yum list
25 | - yum install
26 | - yum remove
27 | - yum search
28 | - yum update
29 |
30 | - yum clean package
31 | - yum clean headers
32 | - yum clean oldheaders
33 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/Banner.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 |
6 | import javax.persistence.*;
7 | import java.sql.Timestamp;
8 | import java.util.Date;
9 | import java.util.List;
10 | import java.util.Objects;
11 |
12 | @Entity
13 | @Table(name = "banner", schema = "missyou", catalog = "")
14 | @Getter
15 | @Setter
16 | public class Banner extends BaseEntity {
17 | @Id
18 | private Long id;
19 | private String name;
20 | private String description;
21 | private String title;
22 | private String img;
23 |
24 | @OneToMany(fetch = FetchType.LAZY)
25 | @JoinColumn(name = "bannerId")
26 | private List items;
27 |
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/vo/CategoryAllVO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.vo;
2 |
3 | import com.lin.missyou.model.Category;
4 | import lombok.Getter;
5 | import lombok.Setter;
6 | import org.springframework.beans.BeanUtils;
7 |
8 | import java.util.List;
9 | import java.util.Map;
10 | import java.util.stream.Collectors;
11 |
12 | @Setter
13 | @Getter
14 | public class CategoryAllVO {
15 |
16 | private List roots;
17 | private List subs;
18 |
19 | public CategoryAllVO(Map> map) {
20 | this.roots = map.get(1).stream().map(CategoryPureVO::new).collect(Collectors.toList());
21 | this.subs = map.get(2).stream().map(CategoryPureVO::new).collect(Collectors.toList());
22 | }
23 | }
24 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/util/CommonUtil.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.util;
2 |
3 |
4 | import com.lin.missyou.bo.PageCounter;
5 |
6 | import java.util.Date;
7 |
8 | public class CommonUtil {
9 |
10 | public static PageCounter ConvertToPageParameter (Integer start, Integer count) {
11 |
12 | int pageNum = start / count;
13 | return PageCounter.builder()
14 | .page(pageNum)
15 | .count(count)
16 | .build();
17 | }
18 |
19 |
20 | public static Boolean isInTimeLine(Date date, Date start, Date end) {
21 | long time = date.getTime();
22 | long startTime = start.getTime();
23 | long endTime = end.getTime();
24 | return time > startTime && time < endTime;
25 | }
26 |
27 |
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/core/UnifyResponse.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.core;
2 |
3 | import com.lin.missyou.exception.CreateSuccess;
4 |
5 | public class UnifyResponse {
6 |
7 | private int code;
8 | private String message;
9 | private String request;
10 |
11 | public static void createSuccess(int code) {
12 | throw new CreateSuccess(code);
13 | }
14 | public int getCode() {
15 | return code;
16 | }
17 |
18 | public String getMessage() {
19 | return message;
20 | }
21 |
22 | public String getRequest() {
23 | return request;
24 | }
25 |
26 | public UnifyResponse(int code, String message, String request) {
27 | this.code = code;
28 | this.message = message;
29 | this.request = request;
30 | }
31 |
32 | }
33 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/vo/ActivityPureVO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.vo;
2 |
3 |
4 | import com.lin.missyou.model.Activity;
5 | import lombok.Getter;
6 | import lombok.NoArgsConstructor;
7 | import lombok.Setter;
8 | import org.springframework.beans.BeanUtils;
9 |
10 | @Setter
11 | @Getter
12 | @NoArgsConstructor
13 | public class ActivityPureVO {
14 | private Long id;
15 | private String title;
16 | private String entranceImg;
17 | private Boolean online;
18 | private String remark;
19 | private String startTime;
20 | private String endTime;
21 |
22 | public ActivityPureVO(Activity activity) {
23 | BeanUtils.copyProperties(activity,this);
24 | }
25 |
26 | public ActivityPureVO(Object object){
27 | BeanUtils.copyProperties(object, this);
28 | }
29 |
30 | }
31 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/vo/CouponCategoryVO.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.vo;
2 |
3 |
4 | import com.lin.missyou.model.Category;
5 | import com.lin.missyou.model.Coupon;
6 | import lombok.Getter;
7 | import lombok.NoArgsConstructor;
8 | import lombok.Setter;
9 |
10 | import java.util.ArrayList;
11 | import java.util.List;
12 |
13 | @Getter
14 | @Setter
15 | @NoArgsConstructor
16 | public class CouponCategoryVO extends CouponPureVO {
17 | private List categories = new ArrayList<>();
18 |
19 | public CouponCategoryVO(Coupon coupon) {
20 | super(coupon);
21 | List categories = coupon.getCategoryList();
22 | categories.forEach(category -> {
23 | CategoryPureVO vo = new CategoryPureVO(category);
24 | this.categories.add(vo);
25 | });
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/service/ThemeService.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.service;
2 |
3 | import com.lin.missyou.model.Theme;
4 | import com.lin.missyou.repository.ThemeRepository;
5 | import org.springframework.beans.factory.annotation.Autowired;
6 | import org.springframework.stereotype.Service;
7 |
8 | import java.util.List;
9 | import java.util.Optional;
10 |
11 |
12 | @Service
13 | public class ThemeService {
14 | // service 调用repository
15 | // repository jpa去查数据库返回结果
16 | // 引入repository
17 | @Autowired
18 | private ThemeRepository themeRepository;
19 |
20 | public List findByNames (List names) {
21 | return themeRepository.findByNames(names);
22 | }
23 |
24 | public Optional findByName(String name) {
25 | return themeRepository.findByName(name);
26 | }
27 |
28 | }
29 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/core/configuration/ExceptionCodeConfiguration.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.core.configuration;
2 |
3 | import org.springframework.boot.context.properties.ConfigurationProperties;
4 | import org.springframework.context.annotation.PropertySource;
5 | import org.springframework.stereotype.Component;
6 |
7 | import java.util.HashMap;
8 | import java.util.Map;
9 |
10 |
11 | @ConfigurationProperties(prefix = "lin")
12 | @PropertySource(value = "classpath:config/exception-code.properties")
13 | @Component
14 | public class ExceptionCodeConfiguration {
15 |
16 | private final Map codes = new HashMap<>();
17 |
18 | public Map getCodes() {
19 | return codes;
20 | }
21 |
22 |
23 | public String getMessage(int code) {
24 | return codes.get(code);
25 | }
26 |
27 | }
28 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/vo/PagingDozer.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.vo;
2 |
3 | import com.github.dozermapper.core.DozerBeanMapperBuilder;
4 | import com.github.dozermapper.core.Mapper;
5 | import org.springframework.data.domain.Page;
6 |
7 | import java.util.ArrayList;
8 | import java.util.List;
9 |
10 | public class PagingDozer extends Paging {
11 |
12 | @SuppressWarnings("unchecked")
13 | public PagingDozer(Page pageT, Class classK) {
14 | this.initPageParameters(pageT);
15 | List tList = pageT.getContent();
16 | Mapper mapper = DozerBeanMapperBuilder.buildDefault();
17 | List voList = new ArrayList<>();
18 | tList.forEach(s-> {
19 | K vo = mapper.map(s, classK);
20 | voList.add(vo);
21 | });
22 | this.setItems(voList);
23 | }
24 |
25 | }
26 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/Activity.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import lombok.Getter;
4 | import lombok.Setter;
5 |
6 | import javax.persistence.*;
7 | import java.sql.Timestamp;
8 | import java.util.Date;
9 | import java.util.List;
10 | import java.util.Objects;
11 |
12 | @Entity
13 | @Getter
14 | @Setter
15 | public class Activity extends BaseEntity{
16 | @Id
17 | private Long id;
18 | private String title;
19 | private String description;
20 | private Date startTime;
21 | private Date endTime;
22 | private String remark;
23 | private Boolean online;
24 | private String entranceImg;
25 | private String internalTopImg;
26 | private String name;
27 |
28 |
29 | @OneToMany(fetch = FetchType.LAZY)
30 | @JoinColumn(name = "activityId")
31 | private List couponList;
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/vo/Paging.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.vo;
2 |
3 | import lombok.Getter;
4 | import lombok.NoArgsConstructor;
5 | import lombok.Setter;
6 | import org.springframework.data.domain.Page;
7 |
8 | import java.util.List;
9 |
10 |
11 | @Getter
12 | @Setter
13 | @NoArgsConstructor
14 | public class Paging {
15 |
16 | private Long total;
17 | private Integer count;
18 | private Integer page;
19 | private Integer totalPage;
20 | private List items;
21 |
22 | public Paging(Page pageT) {
23 | this.initPageParameters(pageT);
24 | this.items = pageT.getContent();
25 | }
26 |
27 | void initPageParameters(Page pageT) {
28 | this.total = pageT.getTotalElements();
29 | this.count = pageT.getSize();
30 | this.page = pageT.getNumber();
31 | this.totalPage = this.getTotalPage();
32 | }
33 |
34 | }
35 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/User.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import com.lin.missyou.util.MapAndJson;
4 | import lombok.*;
5 |
6 | import javax.persistence.*;
7 | import java.sql.Timestamp;
8 | import java.util.Map;
9 | import java.util.Objects;
10 |
11 | import static javax.persistence.GenerationType.IDENTITY;
12 |
13 | @Entity
14 | @Getter
15 | @Setter
16 | @Builder
17 | @NoArgsConstructor
18 | @AllArgsConstructor
19 | public class User extends BaseEntity{
20 | @Id
21 | @GeneratedValue(strategy = IDENTITY)
22 | private Long id;
23 | private String openid;
24 | private String nickname;
25 | private Long unifyUid;
26 | private String email;
27 | private String password;
28 | private String mobile;
29 | // private Object wxProfile;
30 |
31 | @Convert(converter = MapAndJson.class)
32 | @Transient
33 | private Map wxProfile;
34 |
35 | }
36 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/util/ImportJsonToElasticsearch.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.util;
2 |
3 |
4 |
5 | import java.io.*;
6 | import java.nio.charset.StandardCharsets;
7 |
8 | public class ImportJsonToElasticsearch {
9 |
10 |
11 | // 以本地json为例子
12 | public static String readJsonFile() throws IOException {
13 | String jsonString = "";
14 | // 读取本地json
15 | File file = new File("/Users/wanggang/Desktop/index.json");
16 | FileReader fileReader = new FileReader(file);
17 | Reader reader = new InputStreamReader(new FileInputStream(file), StandardCharsets.UTF_8);
18 | int ch = 0;
19 | StringBuilder sb = new StringBuilder();
20 | while ((ch = reader.read()) != -1) {
21 | sb.append((char) ch);
22 | }
23 | fileReader.close();
24 | reader.close();
25 | jsonString = sb.toString();
26 | return jsonString;
27 | }
28 |
29 | }
30 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/dto/validators/TokenPasswordValidator.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.dto.validators;
2 |
3 | import org.springframework.util.StringUtils;
4 |
5 | import javax.validation.ConstraintValidator;
6 | import javax.validation.ConstraintValidatorContext;
7 |
8 | public class TokenPasswordValidator implements ConstraintValidator {
9 |
10 | private Integer min;
11 | private Integer max;
12 |
13 | @Override
14 | public void initialize(TokenPassword constraintAnnotation) {
15 | this.max = constraintAnnotation.max();
16 | this.min = constraintAnnotation.min();
17 | }
18 |
19 | @Override
20 | public boolean isValid(String s, ConstraintValidatorContext constraintValidatorContext) {
21 | // isEmpty已经被遗弃
22 | if(StringUtils.hasLength(s)) {
23 | return true;
24 | }
25 | return s.length() >= this.min && s.length() <= this.max;
26 | }
27 | }
28 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/service/CategoryService.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.service;
2 |
3 |
4 | import com.lin.missyou.model.Category;
5 | import com.lin.missyou.repository.CategoryRepository;
6 | import org.springframework.beans.factory.annotation.Autowired;
7 | import org.springframework.stereotype.Service;
8 |
9 | import java.util.HashMap;
10 | import java.util.List;
11 | import java.util.Map;
12 |
13 | @Service
14 | public class CategoryService {
15 |
16 | @Autowired
17 | private CategoryRepository categoryRepository;
18 |
19 | public Map> getALl () {
20 | List roots = categoryRepository.findAllByIsRootOrderByIndexAsc(true);
21 | List subs = categoryRepository.findAllByIsRootOrderByIndexAsc(false);
22 | Map> categories = new HashMap<>();
23 | categories.put(1, roots);
24 | categories.put(2, subs);
25 | return categories;
26 | }
27 |
28 | }
29 |
30 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/core/configuration/InterceptorConfiguration.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.core.configuration;
2 |
3 | import com.lin.missyou.core.interceptors.PermissionInterceptor;
4 | import org.springframework.context.annotation.Bean;
5 | import org.springframework.context.annotation.Configuration;
6 | import org.springframework.stereotype.Component;
7 | import org.springframework.web.servlet.HandlerInterceptor;
8 | import org.springframework.web.servlet.config.annotation.InterceptorRegistry;
9 | import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
10 |
11 |
12 | @Configuration
13 | public class InterceptorConfiguration implements WebMvcConfigurer {
14 |
15 | @Bean
16 | public HandlerInterceptor permissionInterceptor() {
17 | return new PermissionInterceptor();
18 | }
19 |
20 | @Override
21 | public void addInterceptors(InterceptorRegistry registry) {
22 | registry.addInterceptor(this.permissionInterceptor());
23 | }
24 | }
25 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/model/Coupon.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.model;
2 |
3 | import com.sun.org.apache.xpath.internal.operations.Bool;
4 | import lombok.Getter;
5 | import lombok.Setter;
6 |
7 | import javax.persistence.*;
8 | import java.math.BigDecimal;
9 | import java.sql.Timestamp;
10 | import java.util.Date;
11 | import java.util.List;
12 | import java.util.Objects;
13 |
14 | @Entity
15 | @Setter
16 | @Getter
17 | public class Coupon extends BaseEntity {
18 |
19 | @Id
20 | private Long id;
21 | private String title;
22 | private Date startTime;
23 | private Date endTime;
24 | private String description;
25 | private BigDecimal fullMoney;
26 | private BigDecimal minus;
27 | private BigDecimal rate;
28 | private short type;
29 | private Long activityId;
30 | private String remark;
31 | private Boolean wholeStore;
32 |
33 | @ManyToMany(fetch = FetchType.LAZY, mappedBy = "couponList")
34 | private List categoryList;
35 |
36 | }
37 |
--------------------------------------------------------------------------------
/missyou/src/main/java/com/lin/missyou/core/LocalUser.java:
--------------------------------------------------------------------------------
1 | package com.lin.missyou.core;
2 |
3 | import com.lin.missyou.model.User;
4 |
5 | import java.util.HashMap;
6 | import java.util.Map;
7 |
8 | public class LocalUser {
9 |
10 | private static final ThreadLocal