Jelajahi Sumber

修改需求提交

zsy 1 hari lalu
induk
melakukan
cc34fca93d

+ 31 - 0
src/main/java/com/rf/check/copywriting/dao/model/CopywritingEntity.java

@@ -0,0 +1,31 @@
+package com.rf.check.copywriting.dao.model;
+
+import com.rf.check.base.model.BaseEntity;
+import lombok.*;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.Table;
+
+/**
+ * @author zsy
+ * @description:文案信息表
+ * @date 2021/6/17 15:55
+ */
+@Entity
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+@Table(name = "t_copywriting_info")
+@EqualsAndHashCode(callSuper=true)
+@org.hibernate.annotations.Table(appliesTo = "t_copywriting_info", comment = "文案信息表")
+public class CopywritingEntity extends BaseEntity {
+
+    @Column(name = "copywriting", columnDefinition = "varchar(25) not null comment '文案内容'")
+    private String copywriting;
+
+    @Column(name = "category", columnDefinition = "varchar(20) not null comment '所属分类(成长与自我-1;心态与情绪-2;选择与取舍-3;人际关系-4;生活与态度-5;" +
+            "梦想与行动-6;挫折与坚持-7;认知与智慧-8;珍惜与感恩-9;生命与意义-10)'")
+    private String category;
+
+}

+ 22 - 0
src/main/java/com/rf/check/copywriting/dao/repository/CopywritingRepository.java

@@ -0,0 +1,22 @@
+package com.rf.check.copywriting.dao.repository;
+
+import com.rf.check.base.repository.BaseRepository;
+import com.rf.check.copywriting.dao.model.CopywritingEntity;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.data.jpa.repository.Query;
+
+/**
+ * @Description: 文案相关接口
+ * @Author: zsy
+ * @Date: 2024/12/4
+ */
+public interface CopywritingRepository extends BaseRepository<CopywritingEntity, String> {
+
+    @Query(value = "select * from t_copywriting_info ",
+            countQuery = "select * from t_copywriting_info ", nativeQuery = true)
+    Page<CopywritingEntity> findCopywritingList(PageRequest of);
+
+    @Query(value = "select * from t_copywriting_info where category = ?1 ORDER BY RAND() LIMIT 1 ",nativeQuery = true)
+    CopywritingEntity recommendCopywriting(int category);
+}

+ 50 - 0
src/main/java/com/rf/check/copywriting/rest/CopywritingController.java

@@ -0,0 +1,50 @@
+package com.rf.check.copywriting.rest;
+
+import com.alibaba.fastjson.JSONObject;
+import com.rf.check.base.rest.BaseController;
+import com.rf.check.copywriting.dao.model.CopywritingEntity;
+import com.rf.check.copywriting.service.CopywritingService;
+import com.rf.check.filter.JwtIgnore;
+import com.rf.check.picture.dao.model.PictureEntity;
+import com.rf.check.user.dao.model.UserEntity;
+import com.rf.check.utils.JWTUtil;
+import com.rf.check.utils.LunarCalendarFestivalUtils;
+import com.rf.check.utils.Result;
+import io.swagger.annotations.Api;
+import io.swagger.annotations.ApiOperation;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.ArrayList;
+import java.util.List;
+
+
+/**
+ * @Description: 文案等相关接口
+ * @Author: zsy
+ * @Date: 2024/12/4
+ */
+@RestController
+@RequestMapping("/copywriting")
+@Api(tags = "文案等相关接口")
+@Slf4j
+public class CopywritingController extends BaseController {
+
+    @Autowired
+    private CopywritingService copywritingService;
+
+    @GetMapping("/findCopywritingList")
+    @ApiOperation(value = "文案列表查询", notes = "")
+    @JwtIgnore
+    public Result findCopywritingList() {
+        List<CopywritingEntity> copywritingEntities = new ArrayList<>();
+        for(int i = 1; i < 11; i++) {
+            CopywritingEntity copywritingEntity = this.copywritingService.recommendCopywriting(i);
+            copywritingEntities.add(copywritingEntity);
+        }
+        return success(copywritingEntities);
+    }
+
+}

+ 17 - 0
src/main/java/com/rf/check/copywriting/service/CopywritingService.java

@@ -0,0 +1,17 @@
+package com.rf.check.copywriting.service;
+
+
+import com.rf.check.copywriting.dao.model.CopywritingEntity;
+import org.springframework.data.domain.Page;
+
+/**
+ * @Description: 背景图片等相关接口
+ * @Author: zsy
+ * @Date: 2024/12/4
+ */
+public interface CopywritingService {
+
+    Page<CopywritingEntity> findCopywritingList(int beginNum, int pageSize);
+
+    CopywritingEntity recommendCopywriting(int category);
+}

+ 35 - 0
src/main/java/com/rf/check/copywriting/service/impl/CopywritingServiceImpl.java

@@ -0,0 +1,35 @@
+package com.rf.check.copywriting.service.impl;
+
+import com.rf.check.copywriting.dao.model.CopywritingEntity;
+import com.rf.check.copywriting.dao.repository.CopywritingRepository;
+import com.rf.check.copywriting.service.CopywritingService;
+import com.rf.check.picture.dao.model.PictureEntity;
+import com.rf.check.picture.dao.repository.PictureRepository;
+import com.rf.check.picture.service.PictureService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.data.domain.Page;
+import org.springframework.data.domain.PageRequest;
+import org.springframework.stereotype.Service;
+
+
+/**
+ * @Description: 背景图片等相关接口
+ * @Author: zsy
+ * @Date: 2024/12/4
+ */
+@Service
+public class CopywritingServiceImpl implements CopywritingService {
+
+    @Autowired
+    private CopywritingRepository copywritingRepository;
+
+    @Override
+    public Page<CopywritingEntity> findCopywritingList(int beginNum, int pageSize) {
+        return this.copywritingRepository.findCopywritingList(PageRequest.of(beginNum - 1, pageSize));
+    }
+
+    @Override
+    public CopywritingEntity recommendCopywriting(int category) {
+        return this.copywritingRepository.recommendCopywriting(category);
+    }
+}

+ 4 - 1
src/main/java/com/rf/check/picture/dao/model/PictureEntity.java

@@ -21,7 +21,7 @@ import javax.persistence.Table;
 @org.hibernate.annotations.Table(appliesTo = "t_picture_info", comment = "背景图片信息表")
 public class PictureEntity extends BaseEntity {
 
-    @Column(name = "category", columnDefinition = "varchar(20) not null comment '所属分类(四季-1;风景-2;旅行-3;生活-4;宠物-5;卡通-6)'")
+    @Column(name = "category", columnDefinition = "varchar(20) not null comment '所属分类(问安-1;风景-2;趣味-3;生活-4;宠物-5;卡通-6;心情-7)'")
     private String category;
 
     @Column(name = "picture_url", columnDefinition = "varchar(255) not null comment '背景图片URL'")
@@ -30,4 +30,7 @@ public class PictureEntity extends BaseEntity {
     @Column(name = "handle_picture_url", columnDefinition = "varchar(255) not null comment '背景图片缩略图URL'")
     private String handlePictureUrl;
 
+    @Column(name = "share_num", columnDefinition = "int(6) comment '分享和生成次数'")
+    private int shareNum;
+
 }

+ 6 - 4
src/main/java/com/rf/check/picture/dao/repository/PictureRepository.java

@@ -6,6 +6,8 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.data.jpa.repository.Query;
 
+import java.util.List;
+
 /**
  * @Description: 用户注册登录等相关接口
  * @Author: zsy
@@ -17,12 +19,12 @@ public interface PictureRepository extends BaseRepository<PictureEntity, String>
             countQuery = "select * from t_picture_info where 1=1 and if(?1 is not null and ?1 !='',(category = ?1),1=1) ", nativeQuery = true)
     Page<PictureEntity> findPictureList(String category, PageRequest of);
 
-    @Query(value = "select * from t_picture_info where category in ('1','2','3','4','5','6') ORDER BY RAND() LIMIT 1 ",nativeQuery = true)
-    PictureEntity recommendPicture();
+    @Query(value = "select * from t_picture_info where category in ('1','2','3','4','5','6','7') ORDER BY RAND() LIMIT ?1 ",nativeQuery = true)
+    List<PictureEntity> recommendPicture(int num);
 
     PictureEntity findPictureByCategory(String category);
 
-    @Query(value = "select * from t_picture_info where category not in ('1','2','3','4','5','6') ",
-            countQuery = "select * from t_picture_info where category not in ('1','2','3','4','5','6') ", nativeQuery = true)
+    @Query(value = "select * from t_picture_info where category not in ('1','2','3','4','5','6','7') ",
+            countQuery = "select * from t_picture_info where category not in ('1','2','3','4','5','6','7') ", nativeQuery = true)
     Page<PictureEntity> findPictureOtherList(PageRequest of);
 }

+ 49 - 4
src/main/java/com/rf/check/picture/rest/PictureController.java

@@ -4,6 +4,8 @@ import com.alibaba.fastjson.JSONObject;
 import com.rf.check.base.rest.BaseController;
 import com.rf.check.picture.dao.model.PictureEntity;
 import com.rf.check.picture.service.PictureService;
+import com.rf.check.utils.Constant;
+import com.rf.check.utils.DateUtil;
 import com.rf.check.utils.LunarCalendarFestivalUtils;
 import com.rf.check.utils.Result;
 import io.swagger.annotations.Api;
@@ -32,10 +34,10 @@ public class PictureController extends BaseController {
     private PictureService pictureService;
 
     @GetMapping("/findPictureList")
-    @ApiOperation(value = "背景图片列表查询", notes = "参数包括:beginNum:页码,pageSize:每页条数,category:图片分类(四季-1;风景-2;旅行-3;生活-4;宠物-5;卡通-6;其他-7)")
+    @ApiOperation(value = "背景图片列表查询", notes = "参数包括:beginNum:页码,pageSize:每页条数,category:图片分类(问安-1;风景-2;趣味-3;生活-4;宠物-5;卡通-6;心情-7)")
     public Result findPictureList(String category, int beginNum, int pageSize) {
         Page<PictureEntity> pictureEntities = null;
-        if (category.equals("7")) {
+        if (category.equals("0")) {
             pictureEntities = this.pictureService.findPictureOtherList(beginNum, pageSize);
         }else {
             pictureEntities = this.pictureService.findPictureList(category, beginNum, pageSize);
@@ -71,10 +73,53 @@ public class PictureController extends BaseController {
             }
         }
         if (pictureEntities.size() == 0) {
-            PictureEntity pictureEntitie = this.pictureService.recommendPicture();
-            pictureEntities.add(pictureEntitie);
+            List<PictureEntity> pictureEntitieList = this.pictureService.recommendPicture(Integer.parseInt(Constant.MAGIC_NUM_3));
+            pictureEntities.addAll(pictureEntitieList);
+        }else if (pictureEntities.size() == 1) {
+            List<PictureEntity> pictureEntitieList = this.pictureService.recommendPicture(Integer.parseInt(Constant.MAGIC_NUM_2));
+            pictureEntities.addAll(pictureEntitieList);
+        }else if (pictureEntities.size() == 2) {
+            List<PictureEntity> pictureEntitieList = this.pictureService.recommendPicture(Integer.parseInt(Constant.MAGIC_NUM_1));
+            pictureEntities.addAll(pictureEntitieList);
         }
         return success(pictureEntities);
     }
 
+    @GetMapping("/share")
+    @ApiOperation(value = "分享成功", notes = "参数包括:pictureId:图片ID")
+    public Result share(String pictureId) {
+        PictureEntity pictureEntity = this.pictureService.findById(pictureId);
+        if (pictureEntity != null){
+            pictureEntity.setShareNum(pictureEntity.getShareNum() + 1);
+            pictureEntity.setUpdateTime(DateUtil.getNowTime());
+            this.pictureService.save(pictureEntity);
+        }else {
+            return fail("图片不存在");
+        }
+        return success("分享成功");
+    }
+
+    @GetMapping("/festival")
+    @ApiOperation(value = "获取节日信息", notes = "")
+    public Result festival() {
+        JSONObject festival = new JSONObject();
+        festival.put("lunarTerm","");
+        festival.put("lunarFestival","");
+        festival.put("solarFestival","");
+        JSONObject jsonObject = LunarCalendarFestivalUtils.isSpecialDate();
+        //判断当日是否为某个节气
+        if (jsonObject.containsKey("lunarTerm")) {
+            festival.put("lunarTerm",jsonObject.getString("lunarTerm"));
+        }
+        //判断当日是否为某个农历节日
+        if (jsonObject.containsKey("lunarFestival")) {
+            festival.put("lunarFestival",jsonObject.getString("lunarFestival"));
+        }
+        //判断当日是否为某个公立节日
+        if (jsonObject.containsKey("solarFestival")) {
+            festival.put("solarFestival",jsonObject.getString("solarFestival"));
+        }
+        return success(festival);
+    }
+
 }

+ 7 - 1
src/main/java/com/rf/check/picture/service/PictureService.java

@@ -4,6 +4,8 @@ package com.rf.check.picture.service;
 import com.rf.check.picture.dao.model.PictureEntity;
 import org.springframework.data.domain.Page;
 
+import java.util.List;
+
 /**
  * @Description: 背景图片等相关接口
  * @Author: zsy
@@ -13,9 +15,13 @@ public interface PictureService {
 
     Page<PictureEntity> findPictureList(String category, int beginNum, int pageSize);
 
-    PictureEntity recommendPicture();
+    List<PictureEntity> recommendPicture(int num);
 
     PictureEntity findPictureByCategory(String category);
 
     Page<PictureEntity> findPictureOtherList(int beginNum, int pageSize);
+
+    PictureEntity findById(String pictureId);
+
+    PictureEntity save(PictureEntity pictureEntity);
 }

+ 14 - 2
src/main/java/com/rf/check/picture/service/impl/PictureServiceImpl.java

@@ -8,6 +8,8 @@ import org.springframework.data.domain.Page;
 import org.springframework.data.domain.PageRequest;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 
 /**
  * @Description: 背景图片等相关接口
@@ -31,8 +33,18 @@ public class PictureServiceImpl implements PictureService {
     }
 
     @Override
-    public PictureEntity recommendPicture() {
-        return this.pictureRepository.recommendPicture();
+    public PictureEntity findById(String pictureId) {
+        return this.pictureRepository.findById(pictureId).orElse(null);
+    }
+
+    @Override
+    public PictureEntity save(PictureEntity pictureEntity) {
+        return this.pictureRepository.save(pictureEntity);
+    }
+
+    @Override
+    public List<PictureEntity> recommendPicture(int num) {
+        return this.pictureRepository.recommendPicture(num);
     }
 
     @Override

+ 3 - 0
src/main/java/com/rf/check/user/dao/model/UserPictureEntity.java

@@ -27,6 +27,9 @@ public class UserPictureEntity extends BaseEntity {
     @Column(name = "user_id", columnDefinition = "varchar(36) not null comment '用户ID'")
     private String userId;
 
+    @Column(name = "picture_id", columnDefinition = "varchar(36) not null comment '图片ID'")
+    private String pictureId;
+
     @Column(name = "picture_url", columnDefinition = "varchar(255) not null comment '图片URL'")
     private String pictureUrl;
 

+ 12 - 3
src/main/java/com/rf/check/user/rest/UserController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.auth0.jwt.interfaces.DecodedJWT;
 import com.google.gson.Gson;
 import com.rf.check.base.rest.BaseController;
+import com.rf.check.filter.JwtIgnore;
 import com.rf.check.picture.dao.model.PictureEntity;
 import com.rf.check.security.SafetyProcess;
 import com.rf.check.user.dao.model.UserCheckEntity;
@@ -59,6 +60,14 @@ public class UserController extends BaseController {
     @Autowired
     private UserCheckService userCheckService;
 
+    @GetMapping("/getToken")
+    @ApiOperation(value = "获取token", notes = "")
+    @JwtIgnore
+    public Result getToken() {
+        UserEntity userEntity = this.userService.findByOpenId("o_QoB7K8Q-tOyic9G3nvxDwvIKQ4");
+        return success(JWTUtil.getTokenByUserInfo(userEntity));
+    }
+
     @GetMapping("/code2openid/{code}")
     @ApiOperation(value = "code 换 opernid",notes = "code:临时code,获取openid")
     @SafetyProcess
@@ -215,7 +224,7 @@ public class UserController extends BaseController {
     @PostMapping("/saveCheck")
     @ApiOperation(value = "保存打卡记录", notes = "")
     public Result saveCheck(HttpServletRequest request) throws ParseException {
-        if (isEffectiveDate()){
+        //if (isEffectiveDate()){
             String token = request.getHeader("Authorization");
             String[] tokens = token.split(" ");
             if (tokens.length != 2) {
@@ -240,8 +249,8 @@ public class UserController extends BaseController {
             }else {
                 return fail(null, "今日已打卡");
             }
-        }
-        return fail(null, "不在打卡时间范围内");
+        /*}
+        return fail(null, "不在打卡时间范围内");*/
     }
 
     /**

+ 11 - 1
src/main/java/com/rf/check/user/rest/UserPictureController.java

@@ -4,6 +4,7 @@ import com.alibaba.fastjson.JSONObject;
 import com.google.gson.Gson;
 import com.rf.check.base.rest.BaseController;
 import com.rf.check.picture.dao.model.PictureEntity;
+import com.rf.check.picture.service.PictureService;
 import com.rf.check.security.SafetyProcess;
 import com.rf.check.user.dao.model.UserEntity;
 import com.rf.check.user.dao.model.UserPictureEntity;
@@ -50,13 +51,22 @@ public class UserPictureController extends BaseController {
     @Autowired
     private UserPictureService userPictureService;
 
+    @Autowired
+    private PictureService pictureService;
+
     @PostMapping("/savePicture")
-    @ApiOperation(value = "保存生成图片记录", notes = "参数:json对象;userId:用户ID;pictureUrl:图片URL")
+    @ApiOperation(value = "保存生成图片记录", notes = "参数:json对象;userId:用户ID;pictureUrl:图片URL;pictureId:图片ID")
     public Result savePicture(@RequestBody String json) {
         UserPictureEntity userPictureEntity = JSONObject.parseObject(json, UserPictureEntity.class);
         userPictureEntity.setCreateTime(DateUtil.getNowTime());
         userPictureEntity.setUpdateTime(DateUtil.getNowTime());
         userPictureEntity = this.userPictureService.save(userPictureEntity);
+        PictureEntity pictureEntity = this.pictureService.findById(userPictureEntity.getPictureId());
+        if (pictureEntity != null){
+            pictureEntity.setShareNum(pictureEntity.getShareNum() + 1);
+            pictureEntity.setUpdateTime(DateUtil.getNowTime());
+            this.pictureService.save(pictureEntity);
+        }
         return success(userPictureEntity);
     }