lyhzzz 2 months ago
parent
commit
9c1e9d52b4

+ 5 - 0
src/main/java/com/fdkankan/ucenter/controller/ContactUsController.java

@@ -29,6 +29,11 @@ public class ContactUsController extends BaseController {
     @Autowired
     IContactUsService contactUsService;
 
+    @GetMapping("/sceneList")
+    public Result sceneList(){
+        return Result.success(contactUsService.sceneList());
+    }
+
     @PostMapping("/submit")
     public Result submit(@RequestBody ContactUs contactUs){
         String ip = IPUtils.getIpAddr(request);

+ 45 - 0
src/main/java/com/fdkankan/ucenter/entity/ContactUsScene.java

@@ -0,0 +1,45 @@
+package com.fdkankan.ucenter.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableLogic;
+import com.baomidou.mybatisplus.annotation.TableName;
+import java.io.Serializable;
+import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author 
+ * @since 2025-10-23
+ */
+@Getter
+@Setter
+@TableName("t_contact_us_scene")
+public class ContactUsScene implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+    @TableId(value = "id", type = IdType.AUTO)
+    private Integer id;
+
+    @TableField("num")
+    private String num;
+
+    @TableField("rec_status")
+    @TableLogic(value = "A",delval = "I")
+    private String recStatus;
+
+    @TableField("create_time")
+    private Date createTime;
+
+    @TableField("update_time")
+    private Date updateTime;
+
+
+}

+ 1 - 1
src/main/java/com/fdkankan/ucenter/generate/AutoGenerate.java

@@ -18,7 +18,7 @@ public class AutoGenerate {
         String path =System.getProperty("user.dir") ;
 
         generate(path,"ucenter", getTables(new String[]{
-                "t_contact_us_point"
+                "t_contact_us_scene"
         }));
 
 //        generate(path,"goods", getTables(new String[]{

+ 18 - 0
src/main/java/com/fdkankan/ucenter/mapper/IContactUsSceneMapper.java

@@ -0,0 +1,18 @@
+package com.fdkankan.ucenter.mapper;
+
+import com.fdkankan.ucenter.entity.ContactUsScene;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author 
+ * @since 2025-10-23
+ */
+@Mapper
+public interface IContactUsSceneMapper extends BaseMapper<ContactUsScene> {
+
+}

+ 3 - 0
src/main/java/com/fdkankan/ucenter/mapper/IScenePlusMapper.java

@@ -8,6 +8,7 @@ import com.fdkankan.ucenter.vo.request.AppSceneParam;
 import com.fdkankan.ucenter.vo.request.LaserSceneParam;
 import com.fdkankan.ucenter.vo.response.AppSceneVo;
 import com.fdkankan.ucenter.vo.response.SceneNumVo;
+import com.fdkankan.ucenter.vo.response.SceneVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -38,4 +39,6 @@ public interface IScenePlusMapper extends BaseMapper<ScenePlus> {
     Page<RelicsSceneInitQueueDTO> pageLaserScene(Page<RelicsSceneInitQueueDTO> page, LaserSceneParam param);
 
     Long getCountByAndIsObj(@Param("userId")Long userId, @Param("sceneSourceList")List<String> sourceList, @Param("isObj")Integer isObj,@Param("isLaser")Integer isLaser);
+
+    List<SceneVo> getVoByNumList(@Param("numList")List<String> numList);
 }

+ 16 - 0
src/main/java/com/fdkankan/ucenter/service/IContactUsSceneService.java

@@ -0,0 +1,16 @@
+package com.fdkankan.ucenter.service;
+
+import com.fdkankan.ucenter.entity.ContactUsScene;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author 
+ * @since 2025-10-23
+ */
+public interface IContactUsSceneService extends IService<ContactUsScene> {
+
+}

+ 4 - 0
src/main/java/com/fdkankan/ucenter/service/IContactUsService.java

@@ -4,9 +4,11 @@ import com.fdkankan.ucenter.entity.ContactUs;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.ucenter.entity.ContactUsPoint;
 import com.fdkankan.ucenter.vo.response.LoginVo;
+import com.fdkankan.ucenter.vo.response.SceneVo;
 import org.springframework.http.ResponseEntity;
 
 import javax.servlet.http.HttpServletResponse;
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -24,4 +26,6 @@ public interface IContactUsService extends IService<ContactUs> {
     LoginVo callBack(String email);
 
     void point(ContactUsPoint contactUsPoint);
+
+    List<SceneVo> sceneList();
 }

+ 3 - 0
src/main/java/com/fdkankan/ucenter/service/IScenePlusService.java

@@ -12,6 +12,7 @@ import com.fdkankan.ucenter.vo.ResponseScene;
 import com.fdkankan.ucenter.vo.request.LaserSceneParam;
 import com.fdkankan.ucenter.vo.request.RequestScene;
 import com.fdkankan.ucenter.vo.response.SceneNumVo;
+import com.fdkankan.ucenter.vo.response.SceneVo;
 import org.springframework.web.bind.annotation.RequestParam;
 
 import java.io.IOException;
@@ -66,4 +67,6 @@ public interface IScenePlusService extends IService<ScenePlus> {
     Page<RelicsSceneInitQueueDTO> pageLaserScene(Page<RelicsSceneInitQueueDTO> objectPage, LaserSceneParam param);
 
     Long getCountByAndIsObj(Long userId, List<String> sourceList, Integer isObj,Integer isLaser);
+
+    List<SceneVo> getVoByNumList(List<String> numList);
 }

+ 20 - 0
src/main/java/com/fdkankan/ucenter/service/impl/ContactUsSceneServiceImpl.java

@@ -0,0 +1,20 @@
+package com.fdkankan.ucenter.service.impl;
+
+import com.fdkankan.ucenter.entity.ContactUsScene;
+import com.fdkankan.ucenter.mapper.IContactUsSceneMapper;
+import com.fdkankan.ucenter.service.IContactUsSceneService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author 
+ * @since 2025-10-23
+ */
+@Service
+public class ContactUsSceneServiceImpl extends ServiceImpl<IContactUsSceneMapper, ContactUsScene> implements IContactUsSceneService {
+
+}

+ 35 - 15
src/main/java/com/fdkankan/ucenter/service/impl/ContactUsServiceImpl.java

@@ -5,23 +5,21 @@ import com.fdkankan.common.constant.ConstantUrl;
 import com.fdkankan.common.util.SecurityUtil;
 import com.fdkankan.redis.util.RedisUtil;
 import com.fdkankan.ucenter.common.RedisKeyUtil;
+import com.fdkankan.ucenter.common.SceneSourceUtil;
 import com.fdkankan.ucenter.common.constants.ResultCode;
 import com.fdkankan.ucenter.config.UcenterConfig;
-import com.fdkankan.ucenter.entity.ContactUs;
-import com.fdkankan.ucenter.entity.ContactUsPoint;
-import com.fdkankan.ucenter.entity.MailTemplate;
-import com.fdkankan.ucenter.entity.User;
+import com.fdkankan.ucenter.entity.*;
 import com.fdkankan.ucenter.exception.BusinessException;
 import com.fdkankan.ucenter.geo.IPUtils;
 import com.fdkankan.ucenter.mapper.IContactUsMapper;
-import com.fdkankan.ucenter.service.IContactUsPointService;
-import com.fdkankan.ucenter.service.IContactUsService;
+import com.fdkankan.ucenter.service.*;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.fdkankan.ucenter.service.IMailTemplateService;
-import com.fdkankan.ucenter.service.IUserService;
 import com.fdkankan.ucenter.util.DateUserUtil;
 import com.fdkankan.ucenter.vo.request.RegisterParam;
 import com.fdkankan.ucenter.vo.response.LoginVo;
+import com.fdkankan.ucenter.vo.response.SceneInfoVo;
+import com.fdkankan.ucenter.vo.response.ScenePlusVo;
+import com.fdkankan.ucenter.vo.response.SceneVo;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -30,10 +28,8 @@ import org.springframework.stereotype.Service;
 
 import javax.servlet.http.HttpServletResponse;
 import java.io.IOException;
-import java.util.Date;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.UUID;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -83,7 +79,8 @@ public class ContactUsServiceImpl extends ServiceImpl<IContactUsMapper, ContactU
         if(!b){
             throw new BusinessException(ResultCode.email_submit_error);
         }
-
+        contactUs.setCountry(IPUtils.getCountry(contactUs.getIpAddress()));
+        this.save(contactUs);
         redisUtil.set(redisKey, uuid,15 * 60);
         redisUtil.set(redisKey2, JSONObject.toJSONString(contactUs),15 * 60);
     }
@@ -99,8 +96,6 @@ public class ContactUsServiceImpl extends ServiceImpl<IContactUsMapper, ContactU
         try {
             if(redisUtil.hasKey(rediskey) ){
                 ContactUs contactUs = JSONObject.parseObject( redisUtil.get(rediskey),ContactUs.class);
-                contactUs.setCountry(IPUtils.getCountry(contactUs.getIpAddress()));
-                this.save(contactUs);
                 rediskey2 = String.format(RedisKeyUtil.CONTACT_US_KEY,contactUs.getEmail());
                 User userEntity = userService.getByUserName(contactUs.getEmail());
                 if(userEntity == null){
@@ -146,4 +141,29 @@ public class ContactUsServiceImpl extends ServiceImpl<IContactUsMapper, ContactU
         }
         contactUsPointService.saveOrUpdate(contactUsPoint);
     }
+
+    @Autowired
+    IContactUsSceneService contactUsSceneService;
+    @Autowired
+    IScenePlusService scenePlusService;
+    @Override
+    public List<SceneVo> sceneList() {
+        List<ContactUsScene> list = contactUsSceneService.list();
+        List<String> numList = list.stream().map(ContactUsScene::getNum).collect(Collectors.toList());
+        if(numList.isEmpty()){
+            return new ArrayList<>();
+        }
+        List<SceneVo> sceneVos = scenePlusService.getVoByNumList(numList);
+        for (SceneVo sceneVo : sceneVos) {
+            if(SceneSourceUtil.isLaser(sceneVo.getSceneSource())){
+                if(ucenterConfig.getActive().contains("prod")){
+                    sceneVo.setWebSite(ucenterConfig.getBasePath() +"/index.html?m="+sceneVo.getNum());
+                }else {
+                    sceneVo.setWebSite(ucenterConfig.getBasePath() +"/uat/index.html?m="+sceneVo.getNum());
+                }
+                sceneVo.setSceneName(sceneVo.getLaserTitle());
+            }
+        }
+        return sceneVos;
+    }
 }

+ 5 - 0
src/main/java/com/fdkankan/ucenter/service/impl/ScenePlusServiceImpl.java

@@ -446,4 +446,9 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     public Long getCountByAndIsObj(Long userId, List<String> sourceList, Integer isObj,Integer isLaser) {
         return this.getBaseMapper().getCountByAndIsObj(userId,sourceList,isObj, isLaser);
     }
+
+    @Override
+    public List<SceneVo> getVoByNumList(List<String> numList) {
+        return this.getBaseMapper().getVoByNumList(numList);
+    }
 }

+ 5 - 0
src/main/resources/mapper/ucenter/ContactUsSceneMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.fdkankan.ucenter.mapper.IContactUsSceneMapper">
+
+</mapper>

+ 8 - 0
src/main/resources/mapper/ucenter/ScenePlusMapper.xml

@@ -174,4 +174,12 @@
         </if>
         order by s.create_time desc
     </select>
+    <select id="getVoByNumList" resultType="com.fdkankan.ucenter.vo.response.SceneVo">
+        select * from t_scene_plus s left join  t_scene_plus_ext e on s.id = e.plus_id
+        where s.rec_status= 'A'
+        and s.num in
+        <foreach collection="numList" item="num" open="(" separator="," close=")">
+            #{num}
+        </foreach>
+    </select>
 </mapper>