Browse Source

新增项目池代码

zjc 1 year ago
parent
commit
7e03df7093

+ 0 - 28
README.md

@@ -25,33 +25,5 @@
 - 动态配置任务候选人
 - 其它流程相关功能点
 
-## 演示图
-
-<table>
-    <tr>
-        <td><img src="https://foruda.gitee.com/images/1672821697044447970/6bc09d47_2042292.png"/></td>
-        <td><img src="https://foruda.gitee.com/images/1672821770531098361/972cf362_2042292.png"/></td>
-    </tr> 
-    <tr>
-        <td><img src="https://foruda.gitee.com/images/1672213722156548767/41fdbc64_2042292.png"/></td>
-        <td><img src="https://foruda.gitee.com/images/1672213813377147650/5b549a6b_2042292.png"/></td>
-    </tr>
-    <tr>
-        <td><img src="https://foruda.gitee.com/images/1672213865795092087/3324aeaf_2042292.png"/></td>
-        <td><img src="https://foruda.gitee.com/images/1672214004412335554/b3c6a74e_2042292.png"/></td>
-    </tr>
-    <tr>
-        <td><img src="https://foruda.gitee.com/images/1672214076886159011/ace43c9f_2042292.png"/></td>
-        <td><img src="https://foruda.gitee.com/images/1672214124015264032/0bf13ae9_2042292.png"/></td>
-    </tr>
-	<tr>
-        <td><img src="https://foruda.gitee.com/images/1672214208441821384/b90c26be_2042292.png"/></td>
-        <td><img src="https://foruda.gitee.com/images/1672214266396146807/3e6408a3_2042292.png"/></td>
-    </tr>	 
-    <tr>
-        <td><img src="https://foruda.gitee.com/images/1672214318671690501/80c425ed_2042292.png"/></td>
-        <td><img src="https://foruda.gitee.com/images/1672214425678628903/251c4200_2042292.png"/></td>
-    </tr>
-</table>
 
 

+ 104 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/fg/FgController.java

@@ -12,6 +12,7 @@ import com.ruoyi.common.utils.fg.FgUrlConstant;
 import com.ruoyi.common.utils.http.HttpUtils;
 import com.ruoyi.common.utils.http.OkHttpFGUtils;
 import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.system.domain.fg.Overview;
 import com.ruoyi.system.domain.fg.SalesTrendData;
 import com.ruoyi.system.domain.fg.School;
 import io.swagger.annotations.Api;
@@ -33,9 +34,112 @@ import java.util.Map;
 public class FgController {
 
 
+    /**
+     * 获取数据
+     * @param response
+     */
+    @ApiOperation(value = "导出数据")
+    @PostMapping("/exportOverviewData")
+    @ResponseBody
+    public void exportOverviewData(HttpServletResponse response) {
+
+
+        List<Overview> resultList = new ArrayList<>();
+        /**
+         * 8074429374  小陈茶事
+         * 99666314082 学茶研习社
+         * 50792923107 茶小曼
+         * 69965719530 小茶婆婆
+         * 4367697845697440 晨曦语茶
+         * 2862722089489764 伍刻茶馆
+         * 2383382425373133 茶姐Molly
+         * 3034272730720768 茶诵君
+         * 3109849681105640 八马茶叶官方旗舰店
+         * 44432286818743 柒月茶坊
+         */
+        String[] strings = {"8074429374","99666314082","50792923107","69965719530","4367697845697440",
+                "2862722089489764","2383382425373133","3034272730720768","3109849681105640","44432286818743","109581763451","2444960999676388"};
+        String[] names = {"小陈茶事","学茶研习社","茶小曼","小茶婆婆","晨曦语茶",
+                "伍刻茶馆","茶姐Molly","茶诵君","八马茶叶官方旗舰店","柒月茶坊","茶二代","茶三姐"};
+
+        for (int i = 0; i < strings.length; i++) {
+            Overview po = new Overview();
+            po.setUuid(strings[i]);
+            po.setName(names[i]);
+            resultList.add(po);
+        }
+
+        // todo 直播数据
+        for (Overview  overview:  resultList) {
+            String liveResult = HttpUtils.sendGet("http://120.27.232.118/api/v3/blogger/overview/live/stat","uid="+overview.getUuid()+"&fromDateCode=20221206&toDateCode=20231130");
+
+            Map liveMaps = (Map) JSON.parse(liveResult);
+            for(Object map : liveMaps.entrySet()){
+                if(((Map.Entry)map).getKey().toString().equals("Data")){
+
+                    Map poMap = (Map) JSON.parse(((Map.Entry)map).getValue().toString());
+                    overview.setAvgDurationStr(poMap.get("AvgDurationStr").toString());
+                    overview.setAvgLiveSaleCountStr(poMap.get("AvgLiveSaleCountStr").toString());
+                    overview.setAvgLiveSaleGmvStr(poMap.get("AvgLiveSaleGmvStr").toString());
+                    overview.setAvgLiveTotalUserCountStr(poMap.get("AvgLiveTotalUserCountStr").toString());
+                    overview.setAvgLiveUserCountStr(poMap.get("AvgLiveUserCountStr").toString());
+                    overview.setAvgUserPriceStr(poMap.get("AvgUserPriceStr").toString());
+                    overview.setCommerceLiveCountStr(poMap.get("CommerceLiveCountStr").toString());
+                    overview.setLiveCountStr(poMap.get("LiveCountStr").toString());
+                    overview.setLiveSaleCountStr(poMap.get("LiveSaleCountStr").toString());
+                    overview.setLiveSaleGmvStr(poMap.get("LiveSaleGmvStr").toString());
+                    overview.setMaxLiveTotalUserCountStr(poMap.get("MaxLiveTotalUserCountStr").toString());
+                    overview.setUVStr(poMap.get("UVStr").toString());
+
+                }
+            }
+
+            String awemeResult = HttpUtils.sendGet("http://120.27.232.118/api/v3/blogger/overview/aweme/stat","uid="+overview.getUuid()+"&fromDateCode=20221206&toDateCode=20231130");
+            Map awemeMaps = (Map) JSON.parse(awemeResult);
+            for(Object map : awemeMaps.entrySet()){
+                if(((Map.Entry)map).getKey().toString().equals("Data")){
+
+                    Map poMap = (Map) JSON.parse(((Map.Entry)map).getValue().toString());
+                    overview.setAvgAwemeSaleCountStr(poMap.get("AvgAwemeSaleCountStr").toString());
+                    overview.setAvgAwemeSaleGmvStr(poMap.get("AvgAwemeSaleGmvStr").toString());
+                    overview.setAvgCommentCountStr(poMap.get("AvgCommentCountStr").toString());
+                    overview.setAvgLikeCommentRateStr(poMap.get("AvgLikeCommentRateStr").toString());
+                    overview.setAvgLikeCountStr(poMap.get("AvgLikeCountStr").toString());
+                    overview.setAwemeCountStr(poMap.get("AwemeCountStr").toString());
+                    overview.setAwemeSaleCountStr(poMap.get("AwemeSaleCountStr").toString());
+                    overview.setAwemeSaleGmvStr(poMap.get("AwemeSaleGmvStr").toString());
+                    overview.setCommerceAwemeCountStr(poMap.get("CommerceAwemeCountStr").toString());
+                    overview.setMaxCommentCountStr(poMap.get("MaxCommentCountStr").toString());
+                    overview.setMaxLikeCommentRateStr(poMap.get("MaxLikeCommentRateStr").toString());
+                    overview.setMaxLikeCountStr(poMap.get("MaxLikeCountStr").toString());
 
+                }
+            }
+
+            String recommendResult = HttpUtils.sendGet("http://120.27.232.118/api/v3/blogger/overview/recommend/stat","uid="+overview.getUuid()+"&fromDateCode=20221206&toDateCode=20231130");
+            Map recommendMaps = (Map) JSON.parse(recommendResult);
+            for(Object map : recommendMaps.entrySet()){
+                if(((Map.Entry)map).getKey().toString().equals("Data")){
 
+                    Map poMap = (Map) JSON.parse(((Map.Entry)map).getValue().toString());
+                    overview.setBloggerPriceStr(poMap.get("BloggerPriceStr").toString());
+                    overview.setBrandCountStr(poMap.get("BrandCountStr").toString());
+                    overview.setCPEStr(poMap.get("CPEStr").toString());
+                    overview.setCateCountStr(poMap.get("CateCountStr").toString());
+                    overview.setGrassVideoCountStr(poMap.get("GrassVideoCountStr").toString());
+                    overview.setMainCateNameStr(poMap.get("MainCateNameStr").toString());
+                    overview.setMainCateRatioStr(poMap.get("MainCateRatioStr").toString());
+
+                }
+            }
 
+        }
+
+
+        ExcelUtil<Overview> util = new ExcelUtil<Overview>(Overview.class);
+        util.exportExcel(response, resultList, "数据");
+
+    }
 
 
 

+ 105 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/invest/TProjectPoolController.java

@@ -0,0 +1,105 @@
+package com.ruoyi.web.controller.invest;
+
+import java.util.List;
+import javax.servlet.http.HttpServletResponse;
+
+import com.ruoyi.system.domain.invest.TProjectPool;
+import com.ruoyi.system.service.invest.ITProjectPoolService;
+import org.springframework.security.access.prepost.PreAuthorize;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
+import org.springframework.web.bind.annotation.DeleteMapping;
+import org.springframework.web.bind.annotation.PathVariable;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+import com.ruoyi.common.annotation.Log;
+import com.ruoyi.common.core.controller.BaseController;
+import com.ruoyi.common.core.domain.AjaxResult;
+import com.ruoyi.common.enums.BusinessType;
+import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.common.core.page.TableDataInfo;
+
+/**
+ * 项目池Controller
+ * 
+ * @author ruoyi
+ * @date 2024-02-21
+ */
+@RestController
+@RequestMapping("/invest/pool")
+public class TProjectPoolController extends BaseController
+{
+    @Autowired
+    private ITProjectPoolService tProjectPoolService;
+
+    /**
+     * 查询项目池列表
+     */
+    @PreAuthorize("@ss.hasPermi('invest:pool:list')")
+    @GetMapping("/list")
+    public TableDataInfo list(TProjectPool tProjectPool)
+    {
+        startPage();
+        List<TProjectPool> list = tProjectPoolService.selectTProjectPoolList(tProjectPool);
+        return getDataTable(list);
+    }
+
+    /**
+     * 导出项目池列表
+     */
+    @PreAuthorize("@ss.hasPermi('invest:pool:export')")
+    @Log(title = "项目池", businessType = BusinessType.EXPORT)
+    @PostMapping("/export")
+    public void export(HttpServletResponse response, TProjectPool tProjectPool)
+    {
+        List<TProjectPool> list = tProjectPoolService.selectTProjectPoolList(tProjectPool);
+        ExcelUtil<TProjectPool> util = new ExcelUtil<TProjectPool>(TProjectPool.class);
+        util.exportExcel(response, list, "项目池数据");
+    }
+
+    /**
+     * 获取项目池详细信息
+     */
+    @PreAuthorize("@ss.hasPermi('invest:pool:query')")
+    @GetMapping(value = "/{id}")
+    public AjaxResult getInfo(@PathVariable("id") String id)
+    {
+        return success(tProjectPoolService.selectTProjectPoolById(id));
+    }
+
+    /**
+     * 新增项目池
+     */
+    @PreAuthorize("@ss.hasPermi('invest:pool:add')")
+    @Log(title = "项目池", businessType = BusinessType.INSERT)
+    @PostMapping
+    public AjaxResult add(@RequestBody TProjectPool tProjectPool)
+    {
+        return toAjax(tProjectPoolService.insertTProjectPool(tProjectPool));
+    }
+
+    /**
+     * 修改项目池
+     */
+    @PreAuthorize("@ss.hasPermi('invest:pool:edit')")
+    @Log(title = "项目池", businessType = BusinessType.UPDATE)
+    @PutMapping
+    public AjaxResult edit(@RequestBody TProjectPool tProjectPool)
+    {
+        return toAjax(tProjectPoolService.updateTProjectPool(tProjectPool));
+    }
+
+    /**
+     * 删除项目池
+     */
+    @PreAuthorize("@ss.hasPermi('invest:pool:remove')")
+    @Log(title = "项目池", businessType = BusinessType.DELETE)
+	@DeleteMapping("/{ids}")
+    public AjaxResult remove(@PathVariable String[] ids)
+    {
+        return toAjax(tProjectPoolService.deleteTProjectPoolByIds(ids));
+    }
+}

+ 345 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/fg/Overview.java

@@ -0,0 +1,345 @@
+package com.ruoyi.system.domain.fg;
+
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+public class Overview extends BaseEntity {
+
+    @Excel(name = "用户名称")
+    private String name;
+    @Excel(name = "用户编码")
+    private String uuid;
+    @Excel(name = "场均直播时长")
+    private String AvgDurationStr;
+    @Excel(name = "场均销量")
+    private String AvgLiveSaleCountStr;
+    @Excel(name = "场均销售额")
+    private String AvgLiveSaleGmvStr;
+    @Excel(name = "场均观看人次")
+    private String AvgLiveTotalUserCountStr;
+    @Excel(name = "场均人气峰值")
+    private String AvgLiveUserCountStr;
+    @Excel(name = "直播客单价")
+    private String AvgUserPriceStr;
+
+    @Excel(name = "带货直播")
+    private String CommerceLiveCountStr;
+    @Excel(name = "直播场次")
+    private String LiveCountStr;
+    @Excel(name = "直播销量")
+    private String LiveSaleCountStr;
+    @Excel(name = "直播销售额")
+    private String LiveSaleGmvStr;
+    @Excel(name = "最高观看")
+    private String MaxLiveTotalUserCountStr;
+    @Excel(name = "人均UV价值")
+    private String UVStr;
+
+    /**===   ===**/
+
+    @Excel(name = "平均销量")
+    private String AvgAwemeSaleCountStr;
+    @Excel(name = "平均销售额")
+    private String AvgAwemeSaleGmvStr;
+    @Excel(name = "平均评论")
+    private String AvgCommentCountStr;
+    @Excel(name = "平均赞评比")
+    private String AvgLikeCommentRateStr;
+    @Excel(name = "平均点赞")
+    private String AvgLikeCountStr;
+    @Excel(name = "视频数")
+    private String AwemeCountStr;
+    @Excel(name = "视频销量")
+    private String AwemeSaleCountStr;
+    @Excel(name = "视频销售额")
+    private String AwemeSaleGmvStr;
+    @Excel(name = "带货视频")
+    private String CommerceAwemeCountStr;
+    @Excel(name = "最高评论")
+    private String MaxCommentCountStr;
+    @Excel(name = "最高赞评比")
+    private String MaxLikeCommentRateStr;
+    @Excel(name = "最高点赞")
+    private String MaxLikeCountStr;
+
+    /**===  种草数据 ===**/
+    @Excel(name = "星图报价")
+    private String BloggerPriceStr;
+    @Excel(name = "种草品牌")
+    private String BrandCountStr;
+    @Excel(name = "CPE")
+    private String CPEStr;
+    @Excel(name = "种草品类")
+    private String CateCountStr;
+    @Excel(name = "种草视频")
+    private String GrassVideoCountStr;
+    @Excel(name = "主要种草类目")
+    private String MainCateNameStr;
+    @Excel(name = "主要种草类目百分比")
+    private String MainCateRatioStr;
+
+
+    public String getName() {
+        return name;
+    }
+
+    public void setName(String name) {
+        this.name = name;
+    }
+
+    public String getUuid() {
+        return uuid;
+    }
+
+    public void setUuid(String uuid) {
+        this.uuid = uuid;
+    }
+
+    public String getAvgDurationStr() {
+        return AvgDurationStr;
+    }
+
+    public void setAvgDurationStr(String avgDurationStr) {
+        AvgDurationStr = avgDurationStr;
+    }
+
+    public String getAvgLiveSaleCountStr() {
+        return AvgLiveSaleCountStr;
+    }
+
+    public void setAvgLiveSaleCountStr(String avgLiveSaleCountStr) {
+        AvgLiveSaleCountStr = avgLiveSaleCountStr;
+    }
+
+    public String getAvgLiveSaleGmvStr() {
+        return AvgLiveSaleGmvStr;
+    }
+
+    public void setAvgLiveSaleGmvStr(String avgLiveSaleGmvStr) {
+        AvgLiveSaleGmvStr = avgLiveSaleGmvStr;
+    }
+
+    public String getAvgLiveTotalUserCountStr() {
+        return AvgLiveTotalUserCountStr;
+    }
+
+    public void setAvgLiveTotalUserCountStr(String avgLiveTotalUserCountStr) {
+        AvgLiveTotalUserCountStr = avgLiveTotalUserCountStr;
+    }
+
+    public String getAvgLiveUserCountStr() {
+        return AvgLiveUserCountStr;
+    }
+
+    public void setAvgLiveUserCountStr(String avgLiveUserCountStr) {
+        AvgLiveUserCountStr = avgLiveUserCountStr;
+    }
+
+    public String getAvgUserPriceStr() {
+        return AvgUserPriceStr;
+    }
+
+    public void setAvgUserPriceStr(String avgUserPriceStr) {
+        AvgUserPriceStr = avgUserPriceStr;
+    }
+
+    public String getCommerceLiveCountStr() {
+        return CommerceLiveCountStr;
+    }
+
+    public void setCommerceLiveCountStr(String commerceLiveCountStr) {
+        CommerceLiveCountStr = commerceLiveCountStr;
+    }
+
+    public String getLiveCountStr() {
+        return LiveCountStr;
+    }
+
+    public void setLiveCountStr(String liveCountStr) {
+        LiveCountStr = liveCountStr;
+    }
+
+    public String getLiveSaleCountStr() {
+        return LiveSaleCountStr;
+    }
+
+    public void setLiveSaleCountStr(String liveSaleCountStr) {
+        LiveSaleCountStr = liveSaleCountStr;
+    }
+
+    public String getLiveSaleGmvStr() {
+        return LiveSaleGmvStr;
+    }
+
+    public void setLiveSaleGmvStr(String liveSaleGmvStr) {
+        LiveSaleGmvStr = liveSaleGmvStr;
+    }
+
+    public String getMaxLiveTotalUserCountStr() {
+        return MaxLiveTotalUserCountStr;
+    }
+
+    public void setMaxLiveTotalUserCountStr(String maxLiveTotalUserCountStr) {
+        MaxLiveTotalUserCountStr = maxLiveTotalUserCountStr;
+    }
+
+    public String getUVStr() {
+        return UVStr;
+    }
+
+    public void setUVStr(String UVStr) {
+        this.UVStr = UVStr;
+    }
+
+    public String getAvgAwemeSaleCountStr() {
+        return AvgAwemeSaleCountStr;
+    }
+
+    public void setAvgAwemeSaleCountStr(String avgAwemeSaleCountStr) {
+        AvgAwemeSaleCountStr = avgAwemeSaleCountStr;
+    }
+
+    public String getAvgAwemeSaleGmvStr() {
+        return AvgAwemeSaleGmvStr;
+    }
+
+    public void setAvgAwemeSaleGmvStr(String avgAwemeSaleGmvStr) {
+        AvgAwemeSaleGmvStr = avgAwemeSaleGmvStr;
+    }
+
+    public String getAvgCommentCountStr() {
+        return AvgCommentCountStr;
+    }
+
+    public void setAvgCommentCountStr(String avgCommentCountStr) {
+        AvgCommentCountStr = avgCommentCountStr;
+    }
+
+    public String getAvgLikeCommentRateStr() {
+        return AvgLikeCommentRateStr;
+    }
+
+    public void setAvgLikeCommentRateStr(String avgLikeCommentRateStr) {
+        AvgLikeCommentRateStr = avgLikeCommentRateStr;
+    }
+
+    public String getAvgLikeCountStr() {
+        return AvgLikeCountStr;
+    }
+
+    public void setAvgLikeCountStr(String avgLikeCountStr) {
+        AvgLikeCountStr = avgLikeCountStr;
+    }
+
+    public String getAwemeCountStr() {
+        return AwemeCountStr;
+    }
+
+    public void setAwemeCountStr(String awemeCountStr) {
+        AwemeCountStr = awemeCountStr;
+    }
+
+    public String getAwemeSaleCountStr() {
+        return AwemeSaleCountStr;
+    }
+
+    public void setAwemeSaleCountStr(String awemeSaleCountStr) {
+        AwemeSaleCountStr = awemeSaleCountStr;
+    }
+
+    public String getAwemeSaleGmvStr() {
+        return AwemeSaleGmvStr;
+    }
+
+    public void setAwemeSaleGmvStr(String awemeSaleGmvStr) {
+        AwemeSaleGmvStr = awemeSaleGmvStr;
+    }
+
+    public String getCommerceAwemeCountStr() {
+        return CommerceAwemeCountStr;
+    }
+
+    public void setCommerceAwemeCountStr(String commerceAwemeCountStr) {
+        CommerceAwemeCountStr = commerceAwemeCountStr;
+    }
+
+    public String getMaxCommentCountStr() {
+        return MaxCommentCountStr;
+    }
+
+    public void setMaxCommentCountStr(String maxCommentCountStr) {
+        MaxCommentCountStr = maxCommentCountStr;
+    }
+
+    public String getMaxLikeCommentRateStr() {
+        return MaxLikeCommentRateStr;
+    }
+
+    public void setMaxLikeCommentRateStr(String maxLikeCommentRateStr) {
+        MaxLikeCommentRateStr = maxLikeCommentRateStr;
+    }
+
+    public String getMaxLikeCountStr() {
+        return MaxLikeCountStr;
+    }
+
+    public void setMaxLikeCountStr(String maxLikeCountStr) {
+        MaxLikeCountStr = maxLikeCountStr;
+    }
+
+    public String getBloggerPriceStr() {
+        return BloggerPriceStr;
+    }
+
+    public void setBloggerPriceStr(String bloggerPriceStr) {
+        BloggerPriceStr = bloggerPriceStr;
+    }
+
+    public String getBrandCountStr() {
+        return BrandCountStr;
+    }
+
+    public void setBrandCountStr(String brandCountStr) {
+        BrandCountStr = brandCountStr;
+    }
+
+    public String getCPEStr() {
+        return CPEStr;
+    }
+
+    public void setCPEStr(String CPEStr) {
+        this.CPEStr = CPEStr;
+    }
+
+    public String getCateCountStr() {
+        return CateCountStr;
+    }
+
+    public void setCateCountStr(String cateCountStr) {
+        CateCountStr = cateCountStr;
+    }
+
+    public String getGrassVideoCountStr() {
+        return GrassVideoCountStr;
+    }
+
+    public void setGrassVideoCountStr(String grassVideoCountStr) {
+        GrassVideoCountStr = grassVideoCountStr;
+    }
+
+    public String getMainCateNameStr() {
+        return MainCateNameStr;
+    }
+
+    public void setMainCateNameStr(String mainCateNameStr) {
+        MainCateNameStr = mainCateNameStr;
+    }
+
+    public String getMainCateRatioStr() {
+        return MainCateRatioStr;
+    }
+
+    public void setMainCateRatioStr(String mainCateRatioStr) {
+        MainCateRatioStr = mainCateRatioStr;
+    }
+}

+ 446 - 0
ruoyi-system/src/main/java/com/ruoyi/system/domain/invest/TProjectPool.java

@@ -0,0 +1,446 @@
+package com.ruoyi.system.domain.invest;
+
+import java.util.Date;
+import com.fasterxml.jackson.annotation.JsonFormat;
+import org.apache.commons.lang3.builder.ToStringBuilder;
+import org.apache.commons.lang3.builder.ToStringStyle;
+import com.ruoyi.common.annotation.Excel;
+import com.ruoyi.common.core.domain.BaseEntity;
+
+/**
+ * 项目池对象 t_project_pool
+ * 
+ * @author ruoyi
+ * @date 2024-02-21
+ */
+public class TProjectPool extends BaseEntity
+{
+    private static final long serialVersionUID = 1L;
+
+    /** 主键id */
+    private String id;
+
+    /** 项目名称 */
+    @Excel(name = "项目名称")
+    private String porjectName;
+
+    /** 所属组别 */
+    @Excel(name = "所属组别")
+    private String porjectGroup;
+
+    /** 录入日期 */
+    private Date recordDate;
+
+    /** 项目编号 */
+    @Excel(name = "项目编号")
+    private String porjectCode;
+
+    /** 渠道 */
+    @Excel(name = "渠道")
+    private String channel;
+
+    /** 初次接触日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "初次接触日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date contactDate;
+
+    /** 立项通过日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "立项通过日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date projectDate;
+
+    /** 投决通过日期 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "投决通过日期", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date decisionDate;
+
+    /** 项目所属行业 */
+    @Excel(name = "项目所属行业")
+    private String industry;
+
+    /** 项目所属公司 */
+    @Excel(name = "项目所属公司")
+    private String company;
+
+    /** 项目情况描述 */
+    private String description;
+
+    /** 项目联系人 */
+    @Excel(name = "项目联系人")
+    private String projectContacts;
+
+    /** 投资负责人 */
+    @Excel(name = "投资负责人")
+    private String investHead;
+
+    /** 历次融资 */
+    @Excel(name = "历次融资")
+    private String previousFinancing;
+
+    /** 项目融资阶段 */
+    @Excel(name = "项目融资阶段")
+    private String financingStage;
+
+    /** 融资条件 */
+    private String financingCondition;
+
+    /** 预期融资金额(万元) */
+    @Excel(name = "预期融资金额", readConverterExp = "万=元")
+    private String financingMoney;
+
+    /** 预期融资时间 */
+    @JsonFormat(pattern = "yyyy-MM-dd")
+    @Excel(name = "预期融资时间", width = 30, dateFormat = "yyyy-MM-dd")
+    private Date financingDate;
+
+    /** 投资亮点 */
+    private String investSparkle;
+
+    /** 投前估值(万元) */
+    @Excel(name = "投前估值", readConverterExp = "万=元")
+    private String investValuation;
+
+    /** 预计投资金额(万元) */
+    @Excel(name = "预计投资金额", readConverterExp = "万=元")
+    private String investMoney;
+
+    /** 投资类型 */
+    @Excel(name = "投资类型")
+    private String investType;
+
+    /** 投资策略 */
+    @Excel(name = "投资策略")
+    private String investPloy;
+
+    /** 投资价值 */
+    @Excel(name = "投资价值")
+    private String investWorth;
+
+    /** 股权架构 */
+    private String shareholding;
+
+    /** 项目阶段 */
+    @Excel(name = "项目阶段")
+    private String projectStage;
+
+    /** 项目状态 */
+    @Excel(name = "项目状态")
+    private String projectState;
+
+    /** 备注 */
+    private String mark;
+
+    /** 状态 */
+    private String delFlag;
+
+    public void setId(String id) 
+    {
+        this.id = id;
+    }
+
+    public String getId() 
+    {
+        return id;
+    }
+    public void setPorjectName(String porjectName) 
+    {
+        this.porjectName = porjectName;
+    }
+
+    public String getPorjectName() 
+    {
+        return porjectName;
+    }
+    public void setPorjectGroup(String porjectGroup) 
+    {
+        this.porjectGroup = porjectGroup;
+    }
+
+    public String getPorjectGroup() 
+    {
+        return porjectGroup;
+    }
+    public void setRecordDate(Date recordDate) 
+    {
+        this.recordDate = recordDate;
+    }
+
+    public Date getRecordDate() 
+    {
+        return recordDate;
+    }
+    public void setPorjectCode(String porjectCode) 
+    {
+        this.porjectCode = porjectCode;
+    }
+
+    public String getPorjectCode() 
+    {
+        return porjectCode;
+    }
+    public void setChannel(String channel) 
+    {
+        this.channel = channel;
+    }
+
+    public String getChannel() 
+    {
+        return channel;
+    }
+    public void setContactDate(Date contactDate) 
+    {
+        this.contactDate = contactDate;
+    }
+
+    public Date getContactDate() 
+    {
+        return contactDate;
+    }
+    public void setProjectDate(Date projectDate) 
+    {
+        this.projectDate = projectDate;
+    }
+
+    public Date getProjectDate() 
+    {
+        return projectDate;
+    }
+    public void setDecisionDate(Date decisionDate) 
+    {
+        this.decisionDate = decisionDate;
+    }
+
+    public Date getDecisionDate() 
+    {
+        return decisionDate;
+    }
+    public void setIndustry(String industry) 
+    {
+        this.industry = industry;
+    }
+
+    public String getIndustry() 
+    {
+        return industry;
+    }
+    public void setCompany(String company) 
+    {
+        this.company = company;
+    }
+
+    public String getCompany() 
+    {
+        return company;
+    }
+    public void setDescription(String description) 
+    {
+        this.description = description;
+    }
+
+    public String getDescription() 
+    {
+        return description;
+    }
+    public void setProjectContacts(String projectContacts) 
+    {
+        this.projectContacts = projectContacts;
+    }
+
+    public String getProjectContacts() 
+    {
+        return projectContacts;
+    }
+    public void setInvestHead(String investHead) 
+    {
+        this.investHead = investHead;
+    }
+
+    public String getInvestHead() 
+    {
+        return investHead;
+    }
+    public void setPreviousFinancing(String previousFinancing) 
+    {
+        this.previousFinancing = previousFinancing;
+    }
+
+    public String getPreviousFinancing() 
+    {
+        return previousFinancing;
+    }
+    public void setFinancingStage(String financingStage) 
+    {
+        this.financingStage = financingStage;
+    }
+
+    public String getFinancingStage() 
+    {
+        return financingStage;
+    }
+    public void setFinancingCondition(String financingCondition) 
+    {
+        this.financingCondition = financingCondition;
+    }
+
+    public String getFinancingCondition() 
+    {
+        return financingCondition;
+    }
+    public void setFinancingMoney(String financingMoney) 
+    {
+        this.financingMoney = financingMoney;
+    }
+
+    public String getFinancingMoney() 
+    {
+        return financingMoney;
+    }
+    public void setFinancingDate(Date financingDate) 
+    {
+        this.financingDate = financingDate;
+    }
+
+    public Date getFinancingDate() 
+    {
+        return financingDate;
+    }
+    public void setInvestSparkle(String investSparkle) 
+    {
+        this.investSparkle = investSparkle;
+    }
+
+    public String getInvestSparkle() 
+    {
+        return investSparkle;
+    }
+    public void setInvestValuation(String investValuation) 
+    {
+        this.investValuation = investValuation;
+    }
+
+    public String getInvestValuation() 
+    {
+        return investValuation;
+    }
+    public void setInvestMoney(String investMoney) 
+    {
+        this.investMoney = investMoney;
+    }
+
+    public String getInvestMoney() 
+    {
+        return investMoney;
+    }
+    public void setInvestType(String investType) 
+    {
+        this.investType = investType;
+    }
+
+    public String getInvestType() 
+    {
+        return investType;
+    }
+    public void setInvestPloy(String investPloy) 
+    {
+        this.investPloy = investPloy;
+    }
+
+    public String getInvestPloy() 
+    {
+        return investPloy;
+    }
+    public void setInvestWorth(String investWorth) 
+    {
+        this.investWorth = investWorth;
+    }
+
+    public String getInvestWorth() 
+    {
+        return investWorth;
+    }
+    public void setShareholding(String shareholding) 
+    {
+        this.shareholding = shareholding;
+    }
+
+    public String getShareholding() 
+    {
+        return shareholding;
+    }
+    public void setProjectStage(String projectStage) 
+    {
+        this.projectStage = projectStage;
+    }
+
+    public String getProjectStage() 
+    {
+        return projectStage;
+    }
+    public void setProjectState(String projectState) 
+    {
+        this.projectState = projectState;
+    }
+
+    public String getProjectState() 
+    {
+        return projectState;
+    }
+    public void setMark(String mark) 
+    {
+        this.mark = mark;
+    }
+
+    public String getMark() 
+    {
+        return mark;
+    }
+    public void setDelFlag(String delFlag) 
+    {
+        this.delFlag = delFlag;
+    }
+
+    public String getDelFlag() 
+    {
+        return delFlag;
+    }
+
+    @Override
+    public String toString() {
+        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
+            .append("id", getId())
+            .append("porjectName", getPorjectName())
+            .append("porjectGroup", getPorjectGroup())
+            .append("recordDate", getRecordDate())
+            .append("porjectCode", getPorjectCode())
+            .append("channel", getChannel())
+            .append("contactDate", getContactDate())
+            .append("projectDate", getProjectDate())
+            .append("decisionDate", getDecisionDate())
+            .append("industry", getIndustry())
+            .append("company", getCompany())
+            .append("description", getDescription())
+            .append("projectContacts", getProjectContacts())
+            .append("investHead", getInvestHead())
+            .append("previousFinancing", getPreviousFinancing())
+            .append("financingStage", getFinancingStage())
+            .append("financingCondition", getFinancingCondition())
+            .append("financingMoney", getFinancingMoney())
+            .append("financingDate", getFinancingDate())
+            .append("investSparkle", getInvestSparkle())
+            .append("investValuation", getInvestValuation())
+            .append("investMoney", getInvestMoney())
+            .append("investType", getInvestType())
+            .append("investPloy", getInvestPloy())
+            .append("investWorth", getInvestWorth())
+            .append("shareholding", getShareholding())
+            .append("projectStage", getProjectStage())
+            .append("projectState", getProjectState())
+            .append("mark", getMark())
+            .append("delFlag", getDelFlag())
+            .append("createBy", getCreateBy())
+            .append("createTime", getCreateTime())
+            .append("updateBy", getUpdateBy())
+            .append("updateTime", getUpdateTime())
+            .toString();
+    }
+}

+ 62 - 0
ruoyi-system/src/main/java/com/ruoyi/system/mapper/invest/TProjectPoolMapper.java

@@ -0,0 +1,62 @@
+package com.ruoyi.system.mapper.invest;
+
+import com.ruoyi.system.domain.invest.TProjectPool;
+
+import java.util.List;
+
+/**
+ * 项目池Mapper接口
+ * 
+ * @author ruoyi
+ * @date 2024-02-21
+ */
+public interface TProjectPoolMapper 
+{
+    /**
+     * 查询项目池
+     * 
+     * @param id 项目池主键
+     * @return 项目池
+     */
+    public TProjectPool selectTProjectPoolById(String id);
+
+    /**
+     * 查询项目池列表
+     * 
+     * @param tProjectPool 项目池
+     * @return 项目池集合
+     */
+    public List<TProjectPool> selectTProjectPoolList(TProjectPool tProjectPool);
+
+    /**
+     * 新增项目池
+     * 
+     * @param tProjectPool 项目池
+     * @return 结果
+     */
+    public int insertTProjectPool(TProjectPool tProjectPool);
+
+    /**
+     * 修改项目池
+     * 
+     * @param tProjectPool 项目池
+     * @return 结果
+     */
+    public int updateTProjectPool(TProjectPool tProjectPool);
+
+    /**
+     * 删除项目池
+     * 
+     * @param id 项目池主键
+     * @return 结果
+     */
+    public int deleteTProjectPoolById(String id);
+
+    /**
+     * 批量删除项目池
+     * 
+     * @param ids 需要删除的数据主键集合
+     * @return 结果
+     */
+    public int deleteTProjectPoolByIds(String[] ids);
+}

+ 62 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/invest/ITProjectPoolService.java

@@ -0,0 +1,62 @@
+package com.ruoyi.system.service.invest;
+
+import com.ruoyi.system.domain.invest.TProjectPool;
+
+import java.util.List;
+
+/**
+ * 项目池Service接口
+ * 
+ * @author ruoyi
+ * @date 2024-02-21
+ */
+public interface ITProjectPoolService 
+{
+    /**
+     * 查询项目池
+     * 
+     * @param id 项目池主键
+     * @return 项目池
+     */
+    public TProjectPool selectTProjectPoolById(String id);
+
+    /**
+     * 查询项目池列表
+     * 
+     * @param tProjectPool 项目池
+     * @return 项目池集合
+     */
+    public List<TProjectPool> selectTProjectPoolList(TProjectPool tProjectPool);
+
+    /**
+     * 新增项目池
+     * 
+     * @param tProjectPool 项目池
+     * @return 结果
+     */
+    public int insertTProjectPool(TProjectPool tProjectPool);
+
+    /**
+     * 修改项目池
+     * 
+     * @param tProjectPool 项目池
+     * @return 结果
+     */
+    public int updateTProjectPool(TProjectPool tProjectPool);
+
+    /**
+     * 批量删除项目池
+     * 
+     * @param ids 需要删除的项目池主键集合
+     * @return 结果
+     */
+    public int deleteTProjectPoolByIds(String[] ids);
+
+    /**
+     * 删除项目池信息
+     * 
+     * @param id 项目池主键
+     * @return 结果
+     */
+    public int deleteTProjectPoolById(String id);
+}

+ 96 - 0
ruoyi-system/src/main/java/com/ruoyi/system/service/invest/impl/TProjectPoolServiceImpl.java

@@ -0,0 +1,96 @@
+package com.ruoyi.system.service.invest.impl;
+
+import java.util.List;
+import com.ruoyi.common.utils.DateUtils;
+import com.ruoyi.system.domain.invest.TProjectPool;
+import com.ruoyi.system.mapper.invest.TProjectPoolMapper;
+import com.ruoyi.system.service.invest.ITProjectPoolService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * 项目池Service业务层处理
+ * 
+ * @author ruoyi
+ * @date 2024-02-21
+ */
+@Service
+public class TProjectPoolServiceImpl implements ITProjectPoolService
+{
+    @Autowired
+    private TProjectPoolMapper tProjectPoolMapper;
+
+    /**
+     * 查询项目池
+     * 
+     * @param id 项目池主键
+     * @return 项目池
+     */
+    @Override
+    public TProjectPool selectTProjectPoolById(String id)
+    {
+        return tProjectPoolMapper.selectTProjectPoolById(id);
+    }
+
+    /**
+     * 查询项目池列表
+     * 
+     * @param tProjectPool 项目池
+     * @return 项目池
+     */
+    @Override
+    public List<TProjectPool> selectTProjectPoolList(TProjectPool tProjectPool)
+    {
+        return tProjectPoolMapper.selectTProjectPoolList(tProjectPool);
+    }
+
+    /**
+     * 新增项目池
+     * 
+     * @param tProjectPool 项目池
+     * @return 结果
+     */
+    @Override
+    public int insertTProjectPool(TProjectPool tProjectPool)
+    {
+        tProjectPool.setCreateTime(DateUtils.getNowDate());
+        return tProjectPoolMapper.insertTProjectPool(tProjectPool);
+    }
+
+    /**
+     * 修改项目池
+     * 
+     * @param tProjectPool 项目池
+     * @return 结果
+     */
+    @Override
+    public int updateTProjectPool(TProjectPool tProjectPool)
+    {
+        tProjectPool.setUpdateTime(DateUtils.getNowDate());
+        return tProjectPoolMapper.updateTProjectPool(tProjectPool);
+    }
+
+    /**
+     * 批量删除项目池
+     * 
+     * @param ids 需要删除的项目池主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTProjectPoolByIds(String[] ids)
+    {
+        return tProjectPoolMapper.deleteTProjectPoolByIds(ids);
+    }
+
+    /**
+     * 删除项目池信息
+     * 
+     * @param id 项目池主键
+     * @return 结果
+     */
+    @Override
+    public int deleteTProjectPoolById(String id)
+    {
+        return tProjectPoolMapper.deleteTProjectPoolById(id);
+    }
+}

+ 207 - 0
ruoyi-system/src/main/resources/mapper/invest/TProjectPoolMapper.xml

@@ -0,0 +1,207 @@
+<?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.ruoyi.system.mapper.invest.TProjectPoolMapper">
+    
+    <resultMap type="TProjectPool" id="TProjectPoolResult">
+        <result property="id"    column="id"    />
+        <result property="porjectName"    column="porject_name"    />
+        <result property="porjectGroup"    column="porject_group"    />
+        <result property="recordDate"    column="record_date"    />
+        <result property="porjectCode"    column="porject_code"    />
+        <result property="channel"    column="channel"    />
+        <result property="contactDate"    column="contact_date"    />
+        <result property="projectDate"    column="project_date"    />
+        <result property="decisionDate"    column="decision_date"    />
+        <result property="industry"    column="industry"    />
+        <result property="company"    column="company"    />
+        <result property="description"    column="description"    />
+        <result property="projectContacts"    column="project_contacts"    />
+        <result property="investHead"    column="invest_head"    />
+        <result property="previousFinancing"    column="previous_financing"    />
+        <result property="financingStage"    column="financing_stage"    />
+        <result property="financingCondition"    column="financing_condition"    />
+        <result property="financingMoney"    column="financing_money"    />
+        <result property="financingDate"    column="financing_date"    />
+        <result property="investSparkle"    column="invest_sparkle"    />
+        <result property="investValuation"    column="invest_valuation"    />
+        <result property="investMoney"    column="invest_money"    />
+        <result property="investType"    column="invest_type"    />
+        <result property="investPloy"    column="invest_ploy"    />
+        <result property="investWorth"    column="invest_worth"    />
+        <result property="shareholding"    column="shareholding"    />
+        <result property="projectStage"    column="project_stage"    />
+        <result property="projectState"    column="project_state"    />
+        <result property="mark"    column="mark"    />
+        <result property="delFlag"    column="del_flag"    />
+        <result property="createBy"    column="create_by"    />
+        <result property="createTime"    column="create_time"    />
+        <result property="updateBy"    column="update_by"    />
+        <result property="updateTime"    column="update_time"    />
+    </resultMap>
+
+    <sql id="selectTProjectPoolVo">
+        select id, porject_name, porject_group, record_date, porject_code, channel, contact_date, project_date, decision_date, industry, company, description, project_contacts, invest_head, previous_financing, financing_stage, financing_condition, financing_money, financing_date, invest_sparkle, invest_valuation, invest_money, invest_type, invest_ploy, invest_worth, shareholding, project_stage, project_state, mark, del_flag, create_by, create_time, update_by, update_time from t_project_pool
+    </sql>
+
+    <select id="selectTProjectPoolList" parameterType="TProjectPool" resultMap="TProjectPoolResult">
+        <include refid="selectTProjectPoolVo"/>
+        <where>  
+            <if test="porjectName != null  and porjectName != ''"> and porject_name like concat('%', #{porjectName}, '%')</if>
+            <if test="porjectGroup != null  and porjectGroup != ''"> and porject_group = #{porjectGroup}</if>
+            <if test="porjectCode != null  and porjectCode != ''"> and porject_code = #{porjectCode}</if>
+            <if test="channel != null  and channel != ''"> and channel = #{channel}</if>
+            <if test="contactDate != null "> and contact_date = #{contactDate}</if>
+            <if test="projectDate != null "> and project_date = #{projectDate}</if>
+            <if test="decisionDate != null "> and decision_date = #{decisionDate}</if>
+            <if test="industry != null  and industry != ''"> and industry = #{industry}</if>
+            <if test="company != null  and company != ''"> and company = #{company}</if>
+            <if test="projectContacts != null  and projectContacts != ''"> and project_contacts = #{projectContacts}</if>
+            <if test="investHead != null  and investHead != ''"> and invest_head = #{investHead}</if>
+            <if test="previousFinancing != null  and previousFinancing != ''"> and previous_financing = #{previousFinancing}</if>
+            <if test="financingStage != null  and financingStage != ''"> and financing_stage = #{financingStage}</if>
+            <if test="financingMoney != null  and financingMoney != ''"> and financing_money = #{financingMoney}</if>
+            <if test="financingDate != null "> and financing_date = #{financingDate}</if>
+            <if test="investValuation != null  and investValuation != ''"> and invest_valuation = #{investValuation}</if>
+            <if test="investMoney != null  and investMoney != ''"> and invest_money = #{investMoney}</if>
+            <if test="investType != null  and investType != ''"> and invest_type = #{investType}</if>
+            <if test="investPloy != null  and investPloy != ''"> and invest_ploy = #{investPloy}</if>
+            <if test="investWorth != null  and investWorth != ''"> and invest_worth = #{investWorth}</if>
+            <if test="projectStage != null  and projectStage != ''"> and project_stage = #{projectStage}</if>
+            <if test="projectState != null  and projectState != ''"> and project_state = #{projectState}</if>
+        </where>
+    </select>
+    
+    <select id="selectTProjectPoolById" parameterType="String" resultMap="TProjectPoolResult">
+        <include refid="selectTProjectPoolVo"/>
+        where id = #{id}
+    </select>
+        
+    <insert id="insertTProjectPool" parameterType="TProjectPool">
+        insert into t_project_pool
+        <trim prefix="(" suffix=")" suffixOverrides=",">
+            <if test="id != null">id,</if>
+            <if test="porjectName != null">porject_name,</if>
+            <if test="porjectGroup != null">porject_group,</if>
+            <if test="recordDate != null">record_date,</if>
+            <if test="porjectCode != null">porject_code,</if>
+            <if test="channel != null">channel,</if>
+            <if test="contactDate != null">contact_date,</if>
+            <if test="projectDate != null">project_date,</if>
+            <if test="decisionDate != null">decision_date,</if>
+            <if test="industry != null">industry,</if>
+            <if test="company != null">company,</if>
+            <if test="description != null">description,</if>
+            <if test="projectContacts != null">project_contacts,</if>
+            <if test="investHead != null">invest_head,</if>
+            <if test="previousFinancing != null">previous_financing,</if>
+            <if test="financingStage != null">financing_stage,</if>
+            <if test="financingCondition != null">financing_condition,</if>
+            <if test="financingMoney != null">financing_money,</if>
+            <if test="financingDate != null">financing_date,</if>
+            <if test="investSparkle != null">invest_sparkle,</if>
+            <if test="investValuation != null">invest_valuation,</if>
+            <if test="investMoney != null">invest_money,</if>
+            <if test="investType != null">invest_type,</if>
+            <if test="investPloy != null">invest_ploy,</if>
+            <if test="investWorth != null">invest_worth,</if>
+            <if test="shareholding != null">shareholding,</if>
+            <if test="projectStage != null">project_stage,</if>
+            <if test="projectState != null">project_state,</if>
+            <if test="mark != null">mark,</if>
+            <if test="delFlag != null">del_flag,</if>
+            <if test="createBy != null">create_by,</if>
+            <if test="createTime != null">create_time,</if>
+            <if test="updateBy != null">update_by,</if>
+            <if test="updateTime != null">update_time,</if>
+         </trim>
+        <trim prefix="values (" suffix=")" suffixOverrides=",">
+            <if test="id != null">#{id},</if>
+            <if test="porjectName != null">#{porjectName},</if>
+            <if test="porjectGroup != null">#{porjectGroup},</if>
+            <if test="recordDate != null">#{recordDate},</if>
+            <if test="porjectCode != null">#{porjectCode},</if>
+            <if test="channel != null">#{channel},</if>
+            <if test="contactDate != null">#{contactDate},</if>
+            <if test="projectDate != null">#{projectDate},</if>
+            <if test="decisionDate != null">#{decisionDate},</if>
+            <if test="industry != null">#{industry},</if>
+            <if test="company != null">#{company},</if>
+            <if test="description != null">#{description},</if>
+            <if test="projectContacts != null">#{projectContacts},</if>
+            <if test="investHead != null">#{investHead},</if>
+            <if test="previousFinancing != null">#{previousFinancing},</if>
+            <if test="financingStage != null">#{financingStage},</if>
+            <if test="financingCondition != null">#{financingCondition},</if>
+            <if test="financingMoney != null">#{financingMoney},</if>
+            <if test="financingDate != null">#{financingDate},</if>
+            <if test="investSparkle != null">#{investSparkle},</if>
+            <if test="investValuation != null">#{investValuation},</if>
+            <if test="investMoney != null">#{investMoney},</if>
+            <if test="investType != null">#{investType},</if>
+            <if test="investPloy != null">#{investPloy},</if>
+            <if test="investWorth != null">#{investWorth},</if>
+            <if test="shareholding != null">#{shareholding},</if>
+            <if test="projectStage != null">#{projectStage},</if>
+            <if test="projectState != null">#{projectState},</if>
+            <if test="mark != null">#{mark},</if>
+            <if test="delFlag != null">#{delFlag},</if>
+            <if test="createBy != null">#{createBy},</if>
+            <if test="createTime != null">#{createTime},</if>
+            <if test="updateBy != null">#{updateBy},</if>
+            <if test="updateTime != null">#{updateTime},</if>
+         </trim>
+    </insert>
+
+    <update id="updateTProjectPool" parameterType="TProjectPool">
+        update t_project_pool
+        <trim prefix="SET" suffixOverrides=",">
+            <if test="porjectName != null">porject_name = #{porjectName},</if>
+            <if test="porjectGroup != null">porject_group = #{porjectGroup},</if>
+            <if test="recordDate != null">record_date = #{recordDate},</if>
+            <if test="porjectCode != null">porject_code = #{porjectCode},</if>
+            <if test="channel != null">channel = #{channel},</if>
+            <if test="contactDate != null">contact_date = #{contactDate},</if>
+            <if test="projectDate != null">project_date = #{projectDate},</if>
+            <if test="decisionDate != null">decision_date = #{decisionDate},</if>
+            <if test="industry != null">industry = #{industry},</if>
+            <if test="company != null">company = #{company},</if>
+            <if test="description != null">description = #{description},</if>
+            <if test="projectContacts != null">project_contacts = #{projectContacts},</if>
+            <if test="investHead != null">invest_head = #{investHead},</if>
+            <if test="previousFinancing != null">previous_financing = #{previousFinancing},</if>
+            <if test="financingStage != null">financing_stage = #{financingStage},</if>
+            <if test="financingCondition != null">financing_condition = #{financingCondition},</if>
+            <if test="financingMoney != null">financing_money = #{financingMoney},</if>
+            <if test="financingDate != null">financing_date = #{financingDate},</if>
+            <if test="investSparkle != null">invest_sparkle = #{investSparkle},</if>
+            <if test="investValuation != null">invest_valuation = #{investValuation},</if>
+            <if test="investMoney != null">invest_money = #{investMoney},</if>
+            <if test="investType != null">invest_type = #{investType},</if>
+            <if test="investPloy != null">invest_ploy = #{investPloy},</if>
+            <if test="investWorth != null">invest_worth = #{investWorth},</if>
+            <if test="shareholding != null">shareholding = #{shareholding},</if>
+            <if test="projectStage != null">project_stage = #{projectStage},</if>
+            <if test="projectState != null">project_state = #{projectState},</if>
+            <if test="mark != null">mark = #{mark},</if>
+            <if test="delFlag != null">del_flag = #{delFlag},</if>
+            <if test="createBy != null">create_by = #{createBy},</if>
+            <if test="createTime != null">create_time = #{createTime},</if>
+            <if test="updateBy != null">update_by = #{updateBy},</if>
+            <if test="updateTime != null">update_time = #{updateTime},</if>
+        </trim>
+        where id = #{id}
+    </update>
+
+    <delete id="deleteTProjectPoolById" parameterType="String">
+        delete from t_project_pool where id = #{id}
+    </delete>
+
+    <delete id="deleteTProjectPoolByIds" parameterType="String">
+        delete from t_project_pool where id in 
+        <foreach item="id" collection="array" open="(" separator="," close=")">
+            #{id}
+        </foreach>
+    </delete>
+</mapper>