Explorar el Código

feat 项目标识新增和查询接口 fix 开心中文报名新增国家id字段

classic_blue hace 4 días
padre
commit
97a38a8ca9
Se han modificado 21 ficheros con 442 adiciones y 53 borrados
  1. 37 0
      edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/vo/BaseCountryNameAndCodeVo.java
  2. 46 0
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/remote/feign/mode/dto/tenant/SysProjectDto.java
  3. 34 0
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/remote/feign/mode/vo/tenant/SysProjectVo.java
  4. 21 0
      edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/SysProjectRemoteController.java
  5. 18 0
      edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/BaseCountryController.java
  6. 6 0
      edu-travel-service/edu-travel-service-education/pom.xml
  7. 5 0
      edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/dto/AddHappyEntryDto.java
  8. 5 0
      edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/dto/HappyEntryDto.java
  9. 8 1
      edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/entity/HappyEntry.java
  10. 4 3
      edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/entity/dict/CourseTypeDict.java
  11. 42 42
      edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/exception/GlobalExceptionHandler.java
  12. 1 0
      edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/service/impl/HappyEntryServiceImpl.java
  13. 15 0
      edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/vo/HappyEntryVo.java
  14. 4 4
      edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/web/HappyEntryController.java
  15. 14 3
      edu-travel-service/edu-travel-service-education/src/main/resources/mapper/HappyEntryMapper.xml
  16. 45 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysProject.java
  17. 7 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysProjectMapper.java
  18. 14 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/SysProjectService.java
  19. 35 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/SysProjectServiceImpl.java
  20. 58 0
      edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysProjectController.java
  21. 23 0
      edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysProjectMapper.xml

+ 37 - 0
edu-travel-remote/edu-travel-remote-country/src/main/java/edu/travel/vo/BaseCountryNameAndCodeVo.java

@@ -0,0 +1,37 @@
+package edu.travel.vo;
+
+import lombok.Data;
+
+/**
+ * BaseCountryNameAndCodeVo 类。
+ * <p>
+ * 描述:
+ *
+ * @author huangwenwen
+ * @date 2025/3/10
+ */
+
+@Data
+public class BaseCountryNameAndCodeVo {
+
+    /**
+     * 国家/洲中文名称
+     */
+    private String countryNameZh;
+
+    /**
+     * 国家/洲英文名称
+     */
+    private String countryNameEn;
+
+    /**
+     * 国家区号
+     */
+    private String areaCode;
+
+    /**
+     * 国家id
+     */
+    private String id;
+
+}

+ 46 - 0
edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/remote/feign/mode/dto/tenant/SysProjectDto.java

@@ -0,0 +1,46 @@
+package edu.travel.remote.feign.mode.dto.tenant;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+import edu.travel.entity.BaseEntity;
+import edu.travel.po.PagePO;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+import lombok.NonNull;
+
+import java.io.Serializable;
+import java.util.Date;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+public class SysProjectDto extends PagePO {
+    /**
+     * 项目id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * 项目名
+     */
+    @NonNull
+    @TableField(value = "project_name")
+    private String projectName;
+
+    /**
+     * 公钥
+     */
+    @TableField(value = "public_key")
+    private String publicKey;
+
+    /**
+     * 密钥
+     */
+    @TableField(value = "private_key")
+    private String privateKey;
+
+}

+ 34 - 0
edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/remote/feign/mode/vo/tenant/SysProjectVo.java

@@ -0,0 +1,34 @@
+package edu.travel.remote.feign.mode.vo.tenant;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import edu.travel.entity.BaseEntity;
+import edu.travel.po.PagePO;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+public class SysProjectVo extends BaseEntity {
+    /**
+     * 项目id
+     */
+    private Long id;
+
+    /**
+     * 项目名
+     */
+    private String projectName;
+
+    /**
+     * 公钥
+     */
+    private String publicKey;
+
+    /**
+     * 密钥
+     */
+    private String privateKey;
+
+}

+ 21 - 0
edu-travel-remote/edu-travel-remote-tenant/src/main/java/edu/travel/tenant/SysProjectRemoteController.java

@@ -0,0 +1,21 @@
+package edu.travel.tenant;
+
+//import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import edu.travel.remote.feign.mode.dto.tenant.SysProjectDto;
+import edu.travel.remote.feign.mode.vo.tenant.SysProjectVo;
+import edu.travel.rpc.RPCBaseResponse;
+import org.springframework.cloud.openfeign.FeignClient;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+
+@FeignClient(name = "tenant-dev",path = "/sysProject")
+public interface SysProjectRemoteController {
+
+    /**
+     * 新增项目标识
+     */
+    @PostMapping("/saveFormTarget")
+    public RPCBaseResponse<SysProjectVo> saveProject(@RequestBody SysProjectDto sysProjectDto) ;
+
+}

+ 18 - 0
edu-travel-service/edu-travel-service-country/src/main/java/edu/travel/country/web/BaseCountryController.java

@@ -1,15 +1,19 @@
 package edu.travel.country.web;
 
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import edu.travel.country.entity.BaseCountry;
 import edu.travel.country.service.BaseCountryService;
 import edu.travel.dto.BaseCountryDto;
 import edu.travel.remote.BaseCountryRemoteController;
 import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.vo.BaseCountryNameAndCodeVo;
 import edu.travel.vo.BaseCountryVo;
 import edu.travel.web.BaseController;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.web.bind.annotation.*;
 
 import java.util.List;
@@ -111,4 +115,18 @@ public class BaseCountryController extends BaseController<BaseCountry> implement
         BeanUtils.copyProperties(listRPCBaseResponse, baseCountryVoRPCBaseResponse);
         return baseCountryVoRPCBaseResponse;
     }
+
+    /**
+     * 获取国家名称和区号
+     */
+    @GetMapping("/getCountryCode")
+    @PreAuthorize("permitAll()")
+    public RPCBaseResponse<List<BaseCountryNameAndCodeVo>> getCountryNameAndAreaCode() {
+        List<BaseCountry> list = baseCountryService.list(new LambdaQueryWrapper<BaseCountry>()
+                .select(BaseCountry::getId,BaseCountry::getCountryNameZh, BaseCountry::getAreaCode, BaseCountry::getCountryNameEn)
+                .eq(BaseCountry::getDeleteFlag, 0)
+                .ne(BaseCountry::getParentId, 0));
+        List<BaseCountryNameAndCodeVo> baseCountryVos = BeanUtil.copyToList(list, BaseCountryNameAndCodeVo.class);
+        return new RPCBaseResponse<>(200, "sucess", baseCountryVos);
+    }
 }

+ 6 - 0
edu-travel-service/edu-travel-service-education/pom.xml

@@ -133,6 +133,12 @@
             <artifactId>edu-travel-common-cache</artifactId>
             <version>1.0-SNAPSHOT</version>
         </dependency>
+        <dependency>
+            <groupId>edu.travel</groupId>
+            <artifactId>edu-travel-service-country</artifactId>
+            <version>1.0-SNAPSHOT</version>
+            <scope>compile</scope>
+        </dependency>
 
     </dependencies>
     <profiles>

+ 5 - 0
edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/dto/AddHappyEntryDto.java

@@ -67,4 +67,9 @@ public class AddHappyEntryDto{
      * 项目code
      */
     private String project;
+
+    /**
+     * 所属国家id
+     */
+    private Long countryId;
 }

+ 5 - 0
edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/dto/HappyEntryDto.java

@@ -24,6 +24,11 @@ public class HappyEntryDto extends PagePO {
     private Long id;
 
     /**
+     * 所属国家id
+     */
+    private Long countryId;
+
+    /**
     * 姓
     */
     private String surname;

+ 8 - 1
edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/entity/HappyEntry.java

@@ -7,6 +7,8 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import edu.travel.annotation.LinkConst;
+import edu.travel.annotation.LinkOne;
+import edu.travel.country.mapper.BaseCountryMapper;
 import edu.travel.education.entity.dict.CourseTypeDict;
 import edu.travel.entity.BaseEntity;
 import lombok.AllArgsConstructor;
@@ -93,5 +95,10 @@ public class HappyEntry extends BaseEntity {
     @LinkConst(fieldName = "courseType",clazz = CourseTypeDict.class)
     private Map CodeCourseTypeDict;
 
-
+    /**
+     * 所属国家
+     */
+    @TableField(exist = false)
+    @LinkOne(linkField="countryId",linkMapper= BaseCountryMapper.class,linkPrimaryField="id")
+    private Map CodeCountryNameDict;
 }

+ 4 - 3
edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/entity/dict/CourseTypeDict.java

@@ -8,9 +8,10 @@ public class CourseTypeDict {
     private final  Map<Integer,String> courseTypeMap = new HashMap<Integer,String>();
 
     public CourseTypeDict(){
-        courseTypeMap.put(1,"初级");
-        courseTypeMap.put(2,"中级");
-        courseTypeMap.put(3,"高级");
+        courseTypeMap.put(1,"启程");
+        courseTypeMap.put(2,"成长");
+        courseTypeMap.put(3,"突破");
+        courseTypeMap.put(4,"进阶");
     }
     public String getValue(Integer key){
         return courseTypeMap.containsKey(key) ?  courseTypeMap.get(key) : null;

+ 42 - 42
edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/exception/GlobalExceptionHandler.java

@@ -1,42 +1,42 @@
-package edu.travel.education.exception;
-
-import edu.travel.emun.ResponseCode;
-import edu.travel.exception.BaseException;
-import edu.travel.resp.BaseResponse;
-import edu.travel.resp.PageResponse;
-import lombok.extern.slf4j.Slf4j;
-import org.springframework.web.bind.annotation.ExceptionHandler;
-import org.springframework.web.bind.annotation.RestControllerAdvice;
-
-/**
- * GlobalExceptionHandler 类。
- * <p>
- * 描述:
- *
- * @author huangwenwen
- * @date 2025/2/11
- */
-
-@RestControllerAdvice
-@Slf4j
-public class GlobalExceptionHandler {
-
-    @ExceptionHandler(BaseException.class)
-    public BaseResponse<Object> handleUserInfoException(BaseException e){
-        e.printStackTrace();
-        return  PageResponse.out(e.getCode(),e.getMessage(),null);
-    }
-
-    @ExceptionHandler(IllegalArgumentException.class)
-    public BaseResponse<Object> handleException(IllegalArgumentException e){
-        e.printStackTrace();
-        return PageResponse.out(ResponseCode.LOGIC_ERROR.getCode(), e.getMessage(),null);
-    }
-
-    @ExceptionHandler(Throwable.class)
-    public BaseResponse<Object> handleException(Exception e){
-        e.printStackTrace();
-        return PageResponse.out(ResponseCode.ERROR.getCode(),e.getMessage(),null);
-    }
-
-}
+//package edu.travel.education.exception;
+//
+//import edu.travel.emun.ResponseCode;
+//import edu.travel.exception.BaseException;
+//import edu.travel.resp.BaseResponse;
+//import edu.travel.resp.PageResponse;
+//import lombok.extern.slf4j.Slf4j;
+//import org.springframework.web.bind.annotation.ExceptionHandler;
+//import org.springframework.web.bind.annotation.RestControllerAdvice;
+//
+///**
+// * GlobalExceptionHandler 类。
+// * <p>
+// * 描述:
+// *
+// * @author huangwenwen
+// * @date 2025/2/11
+// */
+//
+//@RestControllerAdvice
+//@Slf4j
+//public class GlobalExceptionHandler {
+//
+//    @ExceptionHandler(BaseException.class)
+//    public BaseResponse<Object> handleUserInfoException(BaseException e){
+//        e.printStackTrace();
+//        return  PageResponse.out(e.getCode(),e.getMessage(),null);
+//    }
+//
+//    @ExceptionHandler(IllegalArgumentException.class)
+//    public BaseResponse<Object> handleException(IllegalArgumentException e){
+//        e.printStackTrace();
+//        return PageResponse.out(ResponseCode.LOGIC_ERROR.getCode(), e.getMessage(),null);
+//    }
+//
+//    @ExceptionHandler(Throwable.class)
+//    public BaseResponse<Object> handleException(Exception e){
+//        e.printStackTrace();
+//        return PageResponse.out(ResponseCode.ERROR.getCode(),e.getMessage(),null);
+//    }
+//
+//}

+ 1 - 0
edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/service/impl/HappyEntryServiceImpl.java

@@ -43,6 +43,7 @@ public class HappyEntryServiceImpl  extends SysServiceImpl<HappyEntryMapper, Hap
 
 
         Assert.isTrue(ObjectUtil.isNotEmpty(happyEntryDto),"参数不能为空");
+        Assert.isFalse(happyEntryDto.getMaxAge()< happyEntryDto.getMinAge(),"最大年龄必须大于等于最小年龄");
         HappyEntry entity = BeanUtil.copyProperties(happyEntryDto, HappyEntry.class);
         boolean save = this.save(entity);
         Assert.isTrue(save,"保存失败");

+ 15 - 0
edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/vo/HappyEntryVo.java

@@ -2,6 +2,8 @@ package edu.travel.education.vo;
 
 import com.baomidou.mybatisplus.annotation.TableField;
 import edu.travel.annotation.LinkConst;
+import edu.travel.annotation.LinkOne;
+import edu.travel.country.mapper.BaseCountryMapper;
 import edu.travel.education.entity.dict.CourseTypeDict;
 import edu.travel.po.PagePO;
 import lombok.AllArgsConstructor;
@@ -44,6 +46,11 @@ public class HappyEntryVo extends PagePO {
     private String areaCode;
 
     /**
+     * 所属国家
+     */
+    private String countryId;
+
+    /**
     * 课程类型
     */
     private Integer courseType;
@@ -68,4 +75,12 @@ public class HappyEntryVo extends PagePO {
     @TableField(exist = false)
     @LinkConst(fieldName = "courseType",clazz = CourseTypeDict.class)
     private Map CodeCourseTypeDict;
+
+    /**
+     * 所属国家
+     */
+    @TableField(exist = false)
+    @LinkOne(linkField="countryId",linkMapper= BaseCountryMapper.class,linkPrimaryField="id")
+    private Map CodeCountryNameDict;
+
 }

+ 4 - 4
edu-travel-service/edu-travel-service-education/src/main/java/edu/travel/education/web/HappyEntryController.java

@@ -1,5 +1,6 @@
 package edu.travel.education.web;
 import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import edu.travel.education.dto.AddHappyEntryDto;
@@ -7,10 +8,7 @@ import edu.travel.education.dto.HappyEntryDto;
 import edu.travel.education.entity.HappyEntry;
 import edu.travel.education.service.impl.HappyEntryServiceImpl;
 import edu.travel.education.vo.HappyEntryVo;
-import edu.travel.resp.BaseResponse;
-import edu.travel.resp.PageResponse;
 import edu.travel.rpc.RPCBaseResponse;
-import edu.travel.rpc.RPCPageResponse;
 import edu.travel.web.BaseController;
 import org.springframework.beans.BeanUtils;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -42,7 +40,9 @@ public class HappyEntryController extends BaseController<HappyEntry> {
     @PreAuthorize("permitAll()")
     public RPCBaseResponse<HappyEntryVo> addHappyEntry(@RequestBody AddHappyEntryDto happyEntryDto){
         HappyEntryVo vo = happyEntryService.addHappyEntry(happyEntryDto);
-        return new RPCBaseResponse<>(200,"success",vo);
+        HappyEntry oneLink = happyEntryService.getOneLink(new LambdaQueryWrapper<HappyEntry>().eq(HappyEntry::getId, vo.getId()));
+        HappyEntryVo happyEntryVo = BeanUtil.copyProperties(oneLink, HappyEntryVo.class);
+        return new RPCBaseResponse<>(200,"success",happyEntryVo);
     }
 
     /**

+ 14 - 3
edu-travel-service/edu-travel-service-education/src/main/resources/mapper/HappyEntryMapper.xml

@@ -9,6 +9,7 @@
     <result column="name" jdbcType="VARCHAR" property="name" />
     <result column="phone" jdbcType="VARCHAR" property="phone" />
     <result column="area_code" jdbcType="VARCHAR" property="areaCode" />
+    <result column="country_id" jdbcType="BIGINT" property="countryId" />
     <result column="course_type" jdbcType="INTEGER" property="courseType" />
     <result column="min_age" jdbcType="INTEGER" property="minAge" />
     <result column="max_age" jdbcType="INTEGER" property="maxAge" />
@@ -22,7 +23,7 @@
   </resultMap>
   <sql id="Base_Column_List">
     <!--@mbg.generated-->
-    id, surname, `name`, phone, area_code, course_type, min_age,max_age, email, project, create_time,
+    id, surname, `name`, phone, area_code, country_id,course_type, min_age,max_age, email, project, create_time,
     create_user_id, update_time, update_user_id, delete_flag
   </sql>
   <select id="selectByPrimaryKey" parameterType="java.lang.Long" resultMap="BaseResultMap">
@@ -40,11 +41,11 @@
   <insert id="insert" parameterType="edu.travel.education.entity.HappyEntry">
     <!--@mbg.generated-->
     insert into happy_entry (id, surname, `name`, 
-      phone, area_code, course_type, 
+      phone, area_code, course_type, country_id,
       min_age,max_age, email, project,
       create_time, create_user_id, update_time, 
       update_user_id, delete_flag)
-    values (#{id,jdbcType=BIGINT}, #{surname,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR}, 
+    values (#{id,jdbcType=BIGINT}, #{surname,jdbcType=VARCHAR}, #{name,jdbcType=VARCHAR},  #{countryId,jdbcType=BIGINT},
       #{phone,jdbcType=VARCHAR}, #{areaCode,jdbcType=VARCHAR}, #{courseType,jdbcType=INTEGER}, 
       #{minAge,jdbcType=INTEGER},#{maxAge,jdbcType=INTEGER}, #{email,jdbcType=VARCHAR}, #{project,jdbcType=VARCHAR},
       #{createTime,jdbcType=TIMESTAMP}, #{createUserId,jdbcType=BIGINT}, #{updateTime,jdbcType=TIMESTAMP}, 
@@ -81,6 +82,9 @@
       <if test="email != null">
         email,
       </if>
+      <if test="countryId != null">
+        country_id,
+      </if>
       <if test="project != null">
         project,
       </if>
@@ -104,6 +108,9 @@
       <if test="id != null">
         #{id,jdbcType=BIGINT},
       </if>
+      <if test="countryId != null">
+        #{country_id,jdbcType=BIGINT},
+      </if>
       <if test="surname != null">
         #{surname,jdbcType=VARCHAR},
       </if>
@@ -155,6 +162,9 @@
       <if test="surname != null">
         surname = #{surname,jdbcType=VARCHAR},
       </if>
+      <if test="countryId != null">
+        country_id = #{countryId,jdbcType=VARCHAR},
+      </if>
       <if test="name != null">
         `name` = #{name,jdbcType=VARCHAR},
       </if>
@@ -202,6 +212,7 @@
     update happy_entry
     set surname = #{surname,jdbcType=VARCHAR},
       `name` = #{name,jdbcType=VARCHAR},
+      `country_id` = #{countryId,jdbcType=BIGINT},
       phone = #{phone,jdbcType=VARCHAR},
       area_code = #{areaCode,jdbcType=VARCHAR},
       course_type = #{courseType,jdbcType=INTEGER},

+ 45 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/entity/SysProject.java

@@ -0,0 +1,45 @@
+package edu.travel.tenant.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableName;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import edu.travel.entity.BaseEntity;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@TableName(value = "sys_project")
+public class SysProject  extends BaseEntity implements Serializable {
+    /**
+     * 项目id
+     */
+    @TableId(value = "id", type = IdType.ASSIGN_ID)
+    private Long id;
+
+    /**
+     * 项目名
+     */
+    @TableField(value = "project_name")
+    private String projectName;
+
+    /**
+     * 公钥
+     */
+    @TableField(value = "public_key")
+    private String publicKey;
+
+    /**
+     * 密钥
+     */
+    @TableField(value = "private_key")
+    private String privateKey;
+
+}

+ 7 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/mapper/SysProjectMapper.java

@@ -0,0 +1,7 @@
+package edu.travel.tenant.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import edu.travel.tenant.entity.SysProject;
+
+public interface SysProjectMapper extends BaseMapper<SysProject> {
+}

+ 14 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/SysProjectService.java

@@ -0,0 +1,14 @@
+package edu.travel.tenant.service;
+
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import edu.travel.remote.feign.mode.dto.tenant.SysProjectDto;
+import edu.travel.remote.feign.mode.vo.tenant.SysProjectVo;
+import edu.travel.tenant.entity.SysProject;
+import com.baomidou.mybatisplus.extension.service.IService;
+public interface SysProjectService extends IService<SysProject>{
+
+
+    SysProjectVo saveProject(SysProjectDto sysProjectDto);
+
+    IPage<SysProject> getProjectPageList(SysProjectDto sysProjectDto);
+}

+ 35 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/service/impl/SysProjectServiceImpl.java

@@ -0,0 +1,35 @@
+package edu.travel.tenant.service.impl;
+
+import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.util.ObjectUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import edu.travel.remote.feign.mode.dto.tenant.SysProjectDto;
+import edu.travel.remote.feign.mode.vo.tenant.SysProjectVo;
+import org.modelmapper.internal.util.Assert;
+import org.springframework.stereotype.Service;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import edu.travel.tenant.entity.SysProject;
+import edu.travel.tenant.mapper.SysProjectMapper;
+import edu.travel.tenant.service.SysProjectService;
+import org.springframework.transaction.annotation.Transactional;
+
+@Service
+public class SysProjectServiceImpl extends ServiceImpl<SysProjectMapper, SysProject> implements SysProjectService{
+
+    @Override
+    @Transactional
+    public SysProjectVo saveProject(SysProjectDto sysProjectDto) {
+        Assert.isTrue(ObjectUtil.isNotEmpty(sysProjectDto.getProjectName()),"项目名不能为空");
+        SysProject sysProject = BeanUtil.copyProperties(sysProjectDto, SysProject.class);
+        this.save(sysProject);
+        return BeanUtil.copyProperties(sysProject, SysProjectVo.class);
+    }
+
+    @Override
+    public IPage<SysProject> getProjectPageList(SysProjectDto sysProjectDto) {
+        IPage<SysProject> sysProjectPage = new Page<>(sysProjectDto.getCurrentPage()==null?1:sysProjectDto.getCurrentPage(),sysProjectDto.getPageSize()==null?10:sysProjectDto.getPageSize());
+        IPage<SysProject> sysProjectIPage = this.baseMapper.selectPage(sysProjectPage, null);
+        return sysProjectIPage;
+    }
+}

+ 58 - 0
edu-travel-service/edu-travel-service-tenement/src/main/java/edu/travel/tenant/web/SysProjectController.java

@@ -0,0 +1,58 @@
+package edu.travel.tenant.web;
+import cn.hutool.core.bean.BeanUtil;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import edu.travel.remote.feign.mode.dto.tenant.SysProjectDto;
+import edu.travel.remote.feign.mode.vo.tenant.SysProjectVo;
+import edu.travel.rpc.RPCBaseResponse;
+import edu.travel.rpc.RPCPageResponse;
+import edu.travel.tenant.SysProjectRemoteController;
+import edu.travel.tenant.SysRoleRemoteController;
+import edu.travel.tenant.entity.SysProject;
+import edu.travel.tenant.entity.SysRole;
+import edu.travel.tenant.service.impl.SysProjectServiceImpl;
+import edu.travel.web.BaseController;
+import org.springframework.beans.BeanUtils;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.web.bind.annotation.*;
+
+import org.springframework.beans.factory.annotation.Autowired;
+
+import java.util.List;
+
+/**
+* (sys_project)表控制层
+*
+* @author xxxxx
+*/
+@RestController
+@RequestMapping("/sysProject")
+public class SysProjectController extends BaseController<SysProject> implements SysProjectRemoteController {
+    /**
+    * 项目标识表
+    */
+    @Autowired
+    private SysProjectServiceImpl sysProjectServiceImpl;
+
+    /**
+     * 新增项目标识
+     */
+    @PostMapping("/saveFormTarget")
+//    @PreAuthorize("hasRole('超级管理员')")
+    public RPCBaseResponse<SysProjectVo> saveProject(@RequestBody SysProjectDto sysProjectDto) {
+      SysProjectVo sysProjectVo = sysProjectServiceImpl.saveProject(sysProjectDto);
+      return RPCBaseResponse.success("保存成功",sysProjectVo);
+    }
+
+    @GetMapping("/getProjectPageList")
+//    @PreAuthorize("hasRole('超级管理员')")
+    public RPCBaseResponse<Page<SysProjectVo>> getProjectPageList(SysProjectDto sysProjectDto) {
+    IPage<SysProject> page = sysProjectServiceImpl.getProjectPageList(sysProjectDto);
+        List<SysProjectVo> happyEntryVos = BeanUtil.copyToList(page.getRecords(), SysProjectVo.class);
+        Page<SysProjectVo> target = new Page<SysProjectVo>();
+        BeanUtils.copyProperties(page, target);
+        target.setRecords(happyEntryVos);
+        return new RPCBaseResponse<>(200,"success",target);
+    }
+
+}

+ 23 - 0
edu-travel-service/edu-travel-service-tenement/src/main/resources/mapper/SysProjectMapper.xml

@@ -0,0 +1,23 @@
+<?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="edu.travel.tenant.mapper.SysProjectMapper">
+  <resultMap id="BaseResultMap" type="edu.travel.tenant.entity.SysProject">
+    <!--@mbg.generated-->
+    <!--@Table sys_project-->
+    <id column="id" jdbcType="BIGINT" property="id" />
+    <result column="project_name" jdbcType="VARCHAR" property="projectName" />
+    <result column="public_key" jdbcType="VARCHAR" property="publicKey" />
+    <result column="private_key" jdbcType="VARCHAR" property="privateKey" />
+    <result column="project" jdbcType="VARCHAR" property="project" />
+    <result column="delete_flag" jdbcType="INTEGER" property="deleteFlag" />
+    <result column="create_user_id" jdbcType="BIGINT" property="createUserId" />
+    <result column="create_time" jdbcType="TIMESTAMP" property="createTime" />
+    <result column="update_user_id" jdbcType="BIGINT" property="updateUserId" />
+    <result column="update_time" jdbcType="TIMESTAMP" property="updateTime" />
+  </resultMap>
+  <sql id="Base_Column_List">
+    <!--@mbg.generated-->
+    id, project_name, public_key, private_key, project, delete_flag, create_user_id, 
+    create_time, update_user_id, update_time
+  </sql>
+</mapper>