dcs 1 tahun lalu
induk
melakukan
d5bd19af79

+ 21 - 1
virgo.api/src/main/java/com/bosshand/virgo/api/controller/ProjectItemTargetRoomController.java

@@ -1,6 +1,7 @@
 package com.bosshand.virgo.api.controller;
 
 import com.bosshand.virgo.api.model.ProjectItemTargetRoom;
+import com.bosshand.virgo.api.model.Tag;
 import com.bosshand.virgo.api.service.ProjectItemTargetRoomService;
 import com.bosshand.virgo.core.response.Response;
 import io.swagger.annotations.Api;
@@ -8,6 +9,7 @@ import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -25,6 +27,15 @@ public class ProjectItemTargetRoomController {
     public Response list(@RequestBody ProjectItemTargetRoom projectItemTargetRoom, @PathVariable int currPage, @PathVariable int pageSize) {
         int totalCount = projectItemTargetRoomService.getTotalCount(projectItemTargetRoom);
         List<ProjectItemTargetRoom> dataList = projectItemTargetRoomService.getLimit(projectItemTargetRoom, currPage, pageSize);
+        for (ProjectItemTargetRoom room : dataList) {
+            List<Tag> tags = new ArrayList<>();
+            if (room.getTagIds() != null) {
+                for (String tagId : room.getTagIds().split(",")) {
+                    tags.add(projectItemTargetRoomService.getTag(Long.parseLong(tagId)));
+                }
+            }
+            room.setTagList(tags);
+        }
         Map<String, Object> result = new HashMap<>();
         result.put("dataList", dataList);
         result.put("totalCount", totalCount);
@@ -55,6 +66,15 @@ public class ProjectItemTargetRoomController {
     @ApiOperation("详情")
     @RequestMapping(value = "/{id}", method = RequestMethod.GET)
     public Response get(@PathVariable long id) {
-        return Response.ok(projectItemTargetRoomService.get(id));
+        ProjectItemTargetRoom room = projectItemTargetRoomService.get(id);
+        String tagIds = room.getTagIds();
+        List<Tag> tags = new ArrayList<>();
+        if (tagIds != null) {
+            for (String tagId : tagIds.split(",")) {
+                tags.add(projectItemTargetRoomService.getTag(Long.parseLong(tagId)));
+            }
+        }
+        room.setTagList(tags);
+        return Response.ok(room);
     }
 }

+ 7 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/controller/TagController.java

@@ -1,6 +1,7 @@
 package com.bosshand.virgo.api.controller;
 
 import com.bosshand.virgo.api.model.Tag;
+import com.bosshand.virgo.api.service.ProjectItemTargetRoomService;
 import com.bosshand.virgo.api.service.TagService;
 import com.bosshand.virgo.core.response.Response;
 import io.swagger.annotations.Api;
@@ -18,6 +19,9 @@ public class TagController {
     @Autowired
     TagService tagService;
 
+    @Autowired
+    ProjectItemTargetRoomService projectItemTargetRoomService;
+
     @ApiOperation("保存")
     @RequestMapping(value = "", method = RequestMethod.POST)
     public Response insert(@RequestBody Tag tag) {
@@ -26,6 +30,7 @@ public class TagController {
             return Response.fail(10001, "标签已存在!");
         }
         tagService.insert(tag);
+        projectItemTargetRoomService.tagCache.clear();
         return Response.ok();
     }
 
@@ -39,6 +44,7 @@ public class TagController {
     @RequestMapping(value = "/update", method = RequestMethod.PUT)
     public Response update(@RequestBody Tag tag) {
         tagService.update(tag);
+        projectItemTargetRoomService.tagCache.clear();
         return Response.ok();
     }
 
@@ -46,6 +52,7 @@ public class TagController {
     @RequestMapping(value = "/delete/{id}", method = RequestMethod.DELETE)
     public Response delete(@PathVariable long id) {
         tagService.delete(id);
+        projectItemTargetRoomService.tagCache.clear();
         return Response.ok();
     }
 

+ 2 - 0
virgo.api/src/main/java/com/bosshand/virgo/api/dao/TagDao.java

@@ -12,6 +12,8 @@ public interface TagDao {
 
     int update(Tag tag);
 
+    Tag get(long id);
+
     List<Tag> getList(Tag tag);
 
     List<Tag> getType(int type);

+ 92 - 24
virgo.api/src/main/java/com/bosshand/virgo/api/model/ProjectItemTargetRoom.java

@@ -1,5 +1,7 @@
 package com.bosshand.virgo.api.model;
 
+import java.util.List;
+
 /**
  * 房源
  */
@@ -88,16 +90,42 @@ public class ProjectItemTargetRoom {
      */
     private String tagIds;
 
+    /**
+     * 标签列表
+     */
+    private List<Tag> tagList;
+
     /**
      * 是否公开
      */
     private long openState;
 
+    /**
+     * 单价
+     */
+    private String price;
+
+    /**
+     * 付款方式
+     */
+    private int payWay;
+
+    /**
+     * 付款类型
+     */
+    private int payType;
+
+    /**
+     * 房源介绍
+     */
+    private String introduce;
+
     /**
      * 自定义字段
      */
     private String data;
 
+
     public long getId() {
         return id;
     }
@@ -106,30 +134,6 @@ public class ProjectItemTargetRoom {
         this.id = id;
     }
 
-    public String getProjectName() {
-        return projectName;
-    }
-
-    public void setProjectName(String projectName) {
-        this.projectName = projectName;
-    }
-
-    public String getProjectItemName() {
-        return projectItemName;
-    }
-
-    public void setProjectItemName(String projectItemName) {
-        this.projectItemName = projectItemName;
-    }
-
-    public String getProjectItemTargetName() {
-        return projectItemTargetName;
-    }
-
-    public void setProjectItemTargetName(String projectItemTargetName) {
-        this.projectItemTargetName = projectItemTargetName;
-    }
-
     public long getProjectId() {
         return projectId;
     }
@@ -138,6 +142,14 @@ public class ProjectItemTargetRoom {
         this.projectId = projectId;
     }
 
+    public String getProjectName() {
+        return projectName;
+    }
+
+    public void setProjectName(String projectName) {
+        this.projectName = projectName;
+    }
+
     public long getProjectItemId() {
         return projectItemId;
     }
@@ -146,6 +158,14 @@ public class ProjectItemTargetRoom {
         this.projectItemId = projectItemId;
     }
 
+    public String getProjectItemName() {
+        return projectItemName;
+    }
+
+    public void setProjectItemName(String projectItemName) {
+        this.projectItemName = projectItemName;
+    }
+
     public long getProjectItemTargetId() {
         return projectItemTargetId;
     }
@@ -154,6 +174,14 @@ public class ProjectItemTargetRoom {
         this.projectItemTargetId = projectItemTargetId;
     }
 
+    public String getProjectItemTargetName() {
+        return projectItemTargetName;
+    }
+
+    public void setProjectItemTargetName(String projectItemTargetName) {
+        this.projectItemTargetName = projectItemTargetName;
+    }
+
     public String getName() {
         return name;
     }
@@ -250,6 +278,14 @@ public class ProjectItemTargetRoom {
         this.tagIds = tagIds;
     }
 
+    public List<Tag> getTagList() {
+        return tagList;
+    }
+
+    public void setTagList(List<Tag> tagList) {
+        this.tagList = tagList;
+    }
+
     public long getOpenState() {
         return openState;
     }
@@ -258,6 +294,38 @@ public class ProjectItemTargetRoom {
         this.openState = openState;
     }
 
+    public String getPrice() {
+        return price;
+    }
+
+    public void setPrice(String price) {
+        this.price = price;
+    }
+
+    public int getPayWay() {
+        return payWay;
+    }
+
+    public void setPayWay(int payWay) {
+        this.payWay = payWay;
+    }
+
+    public int getPayType() {
+        return payType;
+    }
+
+    public void setPayType(int payType) {
+        this.payType = payType;
+    }
+
+    public String getIntroduce() {
+        return introduce;
+    }
+
+    public void setIntroduce(String introduce) {
+        this.introduce = introduce;
+    }
+
     public String getData() {
         return data;
     }

+ 16 - 8
virgo.api/src/main/java/com/bosshand/virgo/api/service/ProjectItemTargetRoomService.java

@@ -1,13 +1,7 @@
 package com.bosshand.virgo.api.service;
 
-import com.bosshand.virgo.api.dao.ProjectDao;
-import com.bosshand.virgo.api.dao.ProjectItemDao;
-import com.bosshand.virgo.api.dao.ProjectItemTargetDao;
-import com.bosshand.virgo.api.dao.ProjectItemTargetRoomDao;
-import com.bosshand.virgo.api.model.Project;
-import com.bosshand.virgo.api.model.ProjectItem;
-import com.bosshand.virgo.api.model.ProjectItemTarget;
-import com.bosshand.virgo.api.model.ProjectItemTargetRoom;
+import com.bosshand.virgo.api.dao.*;
+import com.bosshand.virgo.api.model.*;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
@@ -30,6 +24,9 @@ public class ProjectItemTargetRoomService {
     @Autowired
     private ProjectItemTargetRoomDao projectItemTargetRoomDao;
 
+    @Autowired
+    private TagDao tagDao;
+
     public Map<Long, Project> projectCache = new HashMap<Long, Project>();
 
     public Map<Long, ProjectItem> projectItemCache = new HashMap<Long, ProjectItem>();
@@ -38,6 +35,8 @@ public class ProjectItemTargetRoomService {
 
     public Map<Long, ProjectItemTargetRoom> projectItemTargetRoomCache = new HashMap<Long, ProjectItemTargetRoom>();
 
+    public Map<Long, Tag> tagCache = new HashMap<Long, Tag>();
+
     public Project getProject(Long pk) {
         Project project = projectCache.get(pk);
         if (project == null) {
@@ -74,6 +73,15 @@ public class ProjectItemTargetRoomService {
         return projectItemTargetRoom;
     }
 
+    public Tag getTag(Long pk) {
+        Tag tag = tagCache.get(pk);
+        if (tag == null) {
+            tag = tagDao.get(pk);
+            tagCache.put((Long) pk, tag);
+        }
+        return tag;
+    }
+
     public ProjectItemTargetRoom get(long id) {
         ProjectItemTargetRoom room = projectItemTargetRoomDao.get(id);
         if(room != null){

+ 46 - 2
virgo.api/src/main/resources/mapper/ProjectItemTargetRoomMapper.xml

@@ -22,6 +22,10 @@
         <result column="video" property="video"/>
         <result column="tagIds" property="tagIds"/>
         <result column="openState" property="openState"/>
+        <result column="price" property="price"/>
+        <result column="payWay" property="payWay"/>
+        <result column="payType" property="payType"/>
+        <result column="introduce" property="introduce"/>
         <result column="data" property="data"/>
     </resultMap>
 
@@ -81,14 +85,26 @@
             <if test="openState == 0 or openState == 1">
                 and openState = #{openState}
             </if>
+            <if test="price != null">
+                and price = #{price}
+            </if>
+            <if test="payWay != 0">
+                and payWay = #{payWay}
+            </if>
+            <if test="payType != 0">
+                and payType = #{payType}
+            </if>
+            <if test="introduce != null">
+                and introduce = #{introduce}
+            </if>
         </where>
     </select>
 
     <insert id="insert" useGeneratedKeys="true" keyProperty="id">
         INSERT INTO project_item_target_room(`projectId`, `projectItemId`, `projectItemTargetId`,`name`, `roomTypeId`, `roomNumber`, `area`, `roomState`, `investmentState`,
-                                             `invocationDate`, `decoration`, `propertyCertificateNumber`, `picture`, `video`, `tagIds`, `openState`, `data`)
+                                             `invocationDate`, `decoration`, `propertyCertificateNumber`, `picture`, `video`, `tagIds`, `openState`, `price`, `payWay`, `payType`, `introduce`, `data`)
         VALUES (#{projectId}, #{projectItemId}, #{projectItemTargetId}, #{name}, #{roomTypeId}, #{roomNumber}, #{area}, #{roomState}, #{investmentState},
-                #{invocationDate}, #{decoration}, #{propertyCertificateNumber}, #{picture}, #{video}, #{tagIds}, #{openState}, #{data})
+                #{invocationDate}, #{decoration}, #{propertyCertificateNumber}, #{picture}, #{video}, #{tagIds}, #{openState}, #{price}, #{payWay}, #{payType}, #{introduce}, #{data})
     </insert>
 
     <delete id="delete">
@@ -143,6 +159,18 @@
             <if test="openState == 0 or openState == 1">
                 and openState = #{openState}
             </if>
+            <if test="price != null">
+                and price = #{price}
+            </if>
+            <if test="payWay != 0">
+                and payWay = #{payWay}
+            </if>
+            <if test="payType != 0">
+                and payType = #{payType}
+            </if>
+            <if test="introduce != null">
+                and introduce = #{introduce}
+            </if>
         </where>
     </select>
 
@@ -190,6 +218,18 @@
             <if test="p.openState == 0 or p.openState == 1">
                 and openState = #{p.openState}
             </if>
+            <if test="p.price != null">
+                and price = #{p.price}
+            </if>
+            <if test="p.payWay != 0">
+                and payWay = #{p.payWay}
+            </if>
+            <if test="p.payType != 0">
+                and payType = #{p.payType}
+            </if>
+            <if test="p.introduce != null">
+                and introduce = #{p.introduce}
+            </if>
         </where>
         limit #{currIndex} , #{pageSize}
     </select>
@@ -214,6 +254,10 @@
             <if test="tagIds!=null">tagIds=#{tagIds},</if>
             <if test="openState == 0 or openState == 1">openState=#{openState},</if>
             <if test="data!=null">data=#{data},</if>
+            <if test="price!=null">price=#{price},</if>
+            <if test="payWay!=0">payWay=#{payWay},</if>
+            <if test="payType!=0">payType=#{payType},</if>
+            <if test="introduce!=null">introduce=#{introduce},</if>
         </trim>
         WHERE id=#{id}
     </update>

+ 3 - 1
virgo.api/src/main/resources/mapper/TagMapper.xml

@@ -10,12 +10,14 @@
         <result column="type" property="type"/>
     </resultMap>
 
+    <select id="get" resultMap="tagResult">
+        select * from tag where id = #{id}
+    </select>
 
     <select id="getType" resultMap="tagResult">
         select * from tag where type = #{type}
     </select>
 
-
     <select id="getList" resultMap="tagResult">
         select * from tag
         <where>

+ 183 - 181
virgo.file/src/main/java/com/bosshand/virgo/file/seal/controller/SealController.java

@@ -6,6 +6,7 @@ import com.bosshand.virgo.exception.ServiceException;
 import com.bosshand.virgo.file.seal.model.*;
 import com.bosshand.virgo.file.seal.service.SealService;
 import com.bosshand.virgo.file.service.FileManagerService;
+import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
@@ -15,188 +16,189 @@ import java.util.List;
 import java.util.Map;
 
 @RestController
+@Api(tags = {"印章管理"})
 public class SealController {
 
-	@Autowired
-	private SealService sealService;
-	
-	@Autowired
-	private FileManagerService fileManagerService;
-	
-	@ApiOperation(value = "印章", notes = "印章列表")
-	@RequestMapping(value = "/seal/{organizationId}", method = RequestMethod.GET)
-	public Response getList(@PathVariable int organizationId) {
-		return Response.ok(sealService.getList(organizationId));
-	}
-
-	@ApiOperation(value = "印章", notes = "申请印章列表分页")
-	@RequestMapping(value = "/sealRequest/{sealId}/{currPage}/{pageSize}", method = RequestMethod.GET)
-	public Response getListLimit(@PathVariable int sealId,@PathVariable int currPage, @PathVariable int pageSize) {
-		List<SealRequest> list = sealService.listSealRequest(sealId, currPage, pageSize);
-		Map<String, Object> result = new HashMap<String, Object>();
-		result.put("dataList", list);
-		result.put("totalCount", sealService.listSealRequest(sealId).size());
-		return Response.ok(result);
-	}
-
-	@ApiOperation(value = "印章", notes = "印章详情")
-	@RequestMapping(value = "/seal/detail/{id}", method = RequestMethod.GET)
-	public Response get(@PathVariable int id) {
-		return Response.ok(sealService.getById(id));
-	}
-	
-	@ApiOperation(value = "印章", notes = "创建印章")
-	@RequestMapping(value = "/seal", method = RequestMethod.POST)
-	public Response createSeal(@RequestBody Seal seal) {
-		try {
-			sealService.insert(seal);
-			fileManagerService.convertTransparency(seal.getFileNodeId());
-		} catch (ServiceException e) {
-			return Response.fail(500,"创建失败");
-		}
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "印章", notes = "修改印章")
-	@RequestMapping(value = "/seal", method = RequestMethod.PUT)
-	public Response updateSeal(@RequestBody Seal seal) {
-		try {
-			sealService.update(seal);
-			if(seal.getFileNodeId()!=0) {
-				fileManagerService.convertTransparency(seal.getFileNodeId());
-			}
-		} catch (ServiceException e) {
-			return Response.fail(500,"创建失败");
-		}
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "印章", notes = "删除印章")
-	@RequestMapping(value = "/seal/{id}", method = RequestMethod.DELETE)
-	public Response deleteSeal(@PathVariable int id) {
-		sealService.delete(id);
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "印章", notes = "申请印章")
-	@RequestMapping(value = "/sealRequest", method = RequestMethod.POST)
-	public Response createSealRequest(@RequestBody SealRequest sealRequest) {
-		return Response.ok(sealService.saveSealRequest(sealRequest));
-	}
-	
-	@ApiOperation(value = "印章", notes = "申请印章详情")
-	@RequestMapping(value = "/sealRequest/{id}", method = RequestMethod.GET)
-	public Response getSealRequest(@PathVariable int id) {
-		return Response.ok(sealService.getSealRequest(id));
-	}
-	
-	@ApiOperation(value = "印章", notes = "获取申请印章列表")
-	@RequestMapping(value = "/sealRequest/{projectId}/{sealId}", method = RequestMethod.GET)
-	public Response listeSealRequest(@PathVariable int projectId, @PathVariable int sealId) {
-		return Response.ok(sealService.listSealRequest(projectId, sealId));
-	}
-
-	@ApiOperation(value = "印章", notes = "获取申请印章分页列表")
-	@RequestMapping(value = "/sealRequest/{projectId}/{sealId}/{currPage}/{pageSize}", method = RequestMethod.GET)
-	public Response listeSealRequest(@PathVariable int projectId, @PathVariable int sealId, @PathVariable int currPage, @PathVariable int pageSize) {
-		List<SealRequest> list = sealService.listSealRequest(projectId, sealId, currPage, pageSize);
-		Map<String, Object> result = new HashMap<String, Object>();
-		result.put("dataList", list);
-		result.put("totalCount", sealService.listSealRequest(projectId, sealId).size());
-		return Response.ok(result);
-	}
-
-	@ApiOperation(value = "印章", notes = "申请印章审核")
-	@RequestMapping(value = "/sealRequest/{id}", method = RequestMethod.POST)
-	public Response sealRequestStatus(@PathVariable int id, @RequestBody SealUsage sealUsage) {
-		SealRequest sealRequest = sealService.getSealRequest(id);
-		if(sealRequest == null) {
-			throw new BadRequestException("Incorrect SealRequest");
-		}
-		sealService.updateSealRequestStatus(sealRequest, sealUsage);
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "判断审核中包含的所有文档中使用印章是否审核通过", notes = "判断审核中包含的所有文档中使用印章是否审核通过")
-	@RequestMapping(value = "/sealRequest/document/{documentIds}", method = RequestMethod.GET)
-	public Response sealRequestStatusBydocument(@PathVariable String documentIds) {
-		return Response.ok(sealService.sealRequestStatusBydocument(documentIds));
-	}
-	
-	@ApiOperation(value = "根据organizationId和projectId获取印章列表", notes = "根据organizationId和projectId获取印章列表")
-	@RequestMapping(value = "/seal/{organizationId}/{projectId}", method = RequestMethod.GET)
-	public Response getByProject(@PathVariable int organizationId, @PathVariable int projectId) {
-		return Response.ok(sealService.getByProject(organizationId, projectId));
-	}
-	
-	@ApiOperation(value = "绑定项目下印章", notes = "绑定项目下印章")
-	@RequestMapping(value = "/seal/{organizationId}/{projectId}/{sealIds}", method = RequestMethod.POST)
-	public Response bindProject(@PathVariable int organizationId, @PathVariable int projectId, @PathVariable String sealIds) {
-		sealService.bindProject(organizationId, projectId, sealIds);
-		return Response.ok();
-	}
-	
-	//===============================================================================
-	// 个人注册章
-	//===============================================================================
-	@ApiOperation(value = "获取个人注册印章", notes = "获取个人注册印章")
-	@RequestMapping(value = "/sealRegister/{userId}", method = RequestMethod.GET)
-	public Response getSealRegister(@PathVariable long userId) {
-		return Response.ok(sealService.getSealRegisterByUserId(userId));
-	}
-	
-	@ApiOperation(value = "创建个人注册印章", notes = "创建个人注册印章")
-	@RequestMapping(value = "/sealRegister", method = RequestMethod.POST)
-	public Response createSealRegister(@RequestBody SealRegister sealRegister) {
-		try {
-			sealService.insertSealRegister(sealRegister);
-			fileManagerService.blueConvertTransparency(sealRegister.getFileNodeId());
-		} catch (ServiceException e) {
-			return Response.fail(500,"创建失败");
-		}
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "修改个人注册印章", notes = "修改个人注册印章")
-	@RequestMapping(value = "/sealRegister", method = RequestMethod.PUT)
-	public Response updateSealRegister(@RequestBody SealRegister sealRegister) {
-		try {
-			sealService.updateSealRegister(sealRegister);
-			if(sealRegister.getFileNodeId()!=0) {
-				fileManagerService.blueConvertTransparency(sealRegister.getFileNodeId());
-			}
-		} catch (ServiceException e) {
-			return Response.fail(500,"创建失败");
-		}
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "删除个人注册印章", notes = "删除个人注册印章")
-	@RequestMapping(value = "/sealRegister/{id}", method = RequestMethod.DELETE)
-	public Response deleteSealRegister(@PathVariable int id) {
-		sealService.deleteSealRegister(id);
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "保存注册印章位置", notes = "保存注册印章位置")
-	@RequestMapping(value = "/sealRegisterkey", method = RequestMethod.POST)
-	public Response createSealRegisterKey(@RequestBody SealRegisterKey sealRegisterKey) {
-		sealService.insertSealRegisterKey(sealRegisterKey);
-		return Response.ok();
-	}
-	
-	@ApiOperation(value = "获取注册印章位置", notes = "获取注册印章位置")
-	@RequestMapping(value = "/sealRegisterkey/{documentId}", method = RequestMethod.GET)
-	public Response getSealRegisterKey(@PathVariable int documentId) {
-		return Response.ok(sealService.getSealRegisterKey(documentId));
-	}
-	
-	@ApiOperation(value = "删除注册印章位置", notes = "删除注册印章位置")
-	@RequestMapping(value = "/sealRegisterkey/{documentId}", method = RequestMethod.DELETE)
-	public Response deleteSealRegisterKey(@PathVariable int documentId) {
-		sealService.deleteSealRegisterKeyByDocumentId(documentId);
-		return Response.ok();
-	}
-	
+    @Autowired
+    private SealService sealService;
+
+    @Autowired
+    private FileManagerService fileManagerService;
+
+    @ApiOperation(value = "印章", notes = "印章列表")
+    @RequestMapping(value = "/seal/{organizationId}", method = RequestMethod.GET)
+    public Response getList(@PathVariable int organizationId) {
+        return Response.ok(sealService.getList(organizationId));
+    }
+
+    @ApiOperation(value = "印章", notes = "申请印章列表分页")
+    @RequestMapping(value = "/sealRequest/{sealId}/{currPage}/{pageSize}", method = RequestMethod.GET)
+    public Response getListLimit(@PathVariable int sealId, @PathVariable int currPage, @PathVariable int pageSize) {
+        List<SealRequest> list = sealService.listSealRequest(sealId, currPage, pageSize);
+        Map<String, Object> result = new HashMap<String, Object>();
+        result.put("dataList", list);
+        result.put("totalCount", sealService.listSealRequest(sealId).size());
+        return Response.ok(result);
+    }
+
+    @ApiOperation(value = "印章", notes = "印章详情")
+    @RequestMapping(value = "/seal/detail/{id}", method = RequestMethod.GET)
+    public Response get(@PathVariable int id) {
+        return Response.ok(sealService.getById(id));
+    }
+
+    @ApiOperation(value = "印章", notes = "创建印章")
+    @RequestMapping(value = "/seal", method = RequestMethod.POST)
+    public Response createSeal(@RequestBody Seal seal) {
+        try {
+            sealService.insert(seal);
+            fileManagerService.convertTransparency(seal.getFileNodeId());
+        } catch (ServiceException e) {
+            return Response.fail(500, "创建失败");
+        }
+        return Response.ok();
+    }
+
+    @ApiOperation(value = "印章", notes = "修改印章")
+    @RequestMapping(value = "/seal", method = RequestMethod.PUT)
+    public Response updateSeal(@RequestBody Seal seal) {
+        try {
+            sealService.update(seal);
+            if (seal.getFileNodeId() != 0) {
+                fileManagerService.convertTransparency(seal.getFileNodeId());
+            }
+        } catch (ServiceException e) {
+            return Response.fail(500, "创建失败");
+        }
+        return Response.ok();
+    }
+
+    @ApiOperation(value = "印章", notes = "删除印章")
+    @RequestMapping(value = "/seal/{id}", method = RequestMethod.DELETE)
+    public Response deleteSeal(@PathVariable int id) {
+        sealService.delete(id);
+        return Response.ok();
+    }
+
+    @ApiOperation(value = "印章", notes = "申请印章")
+    @RequestMapping(value = "/sealRequest", method = RequestMethod.POST)
+    public Response createSealRequest(@RequestBody SealRequest sealRequest) {
+        return Response.ok(sealService.saveSealRequest(sealRequest));
+    }
+
+    @ApiOperation(value = "印章", notes = "申请印章详情")
+    @RequestMapping(value = "/sealRequest/{id}", method = RequestMethod.GET)
+    public Response getSealRequest(@PathVariable int id) {
+        return Response.ok(sealService.getSealRequest(id));
+    }
+
+    @ApiOperation(value = "印章", notes = "获取申请印章列表")
+    @RequestMapping(value = "/sealRequest/{projectId}/{sealId}", method = RequestMethod.GET)
+    public Response listSealRequest(@PathVariable int projectId, @PathVariable int sealId) {
+        return Response.ok(sealService.listSealRequest(projectId, sealId));
+    }
+
+    @ApiOperation(value = "印章", notes = "获取申请印章分页列表")
+    @RequestMapping(value = "/sealRequest/{projectId}/{sealId}/{currPage}/{pageSize}", method = RequestMethod.GET)
+    public Response listSealRequest(@PathVariable int projectId, @PathVariable int sealId, @PathVariable int currPage, @PathVariable int pageSize) {
+        List<SealRequest> list = sealService.listSealRequest(projectId, sealId, currPage, pageSize);
+        Map<String, Object> result = new HashMap<String, Object>();
+        result.put("dataList", list);
+        result.put("totalCount", sealService.listSealRequest(projectId, sealId).size());
+        return Response.ok(result);
+    }
+
+    @ApiOperation(value = "印章", notes = "申请印章审核")
+    @RequestMapping(value = "/sealRequest/{id}", method = RequestMethod.POST)
+    public Response sealRequestStatus(@PathVariable int id, @RequestBody SealUsage sealUsage) {
+        SealRequest sealRequest = sealService.getSealRequest(id);
+        if (sealRequest == null) {
+            throw new BadRequestException("Incorrect SealRequest");
+        }
+        sealService.updateSealRequestStatus(sealRequest, sealUsage);
+        return Response.ok();
+    }
+
+    @ApiOperation(value = "判断审核中包含的所有文档中使用印章是否审核通过", notes = "判断审核中包含的所有文档中使用印章是否审核通过")
+    @RequestMapping(value = "/sealRequest/document/{documentIds}", method = RequestMethod.GET)
+    public Response sealRequestStatusByDocument(@PathVariable String documentIds) {
+        return Response.ok(sealService.sealRequestStatusBydocument(documentIds));
+    }
+
+    @ApiOperation(value = "根据organizationId和projectId获取印章列表", notes = "根据organizationId和projectId获取印章列表")
+    @RequestMapping(value = "/seal/{organizationId}/{projectId}", method = RequestMethod.GET)
+    public Response getByProject(@PathVariable int organizationId, @PathVariable int projectId) {
+        return Response.ok(sealService.getByProject(organizationId, projectId));
+    }
+
+    @ApiOperation(value = "绑定项目下印章", notes = "绑定项目下印章")
+    @RequestMapping(value = "/seal/{organizationId}/{projectId}/{sealIds}", method = RequestMethod.POST)
+    public Response bindProject(@PathVariable int organizationId, @PathVariable int projectId, @PathVariable String sealIds) {
+        sealService.bindProject(organizationId, projectId, sealIds);
+        return Response.ok();
+    }
+
+    //===============================================================================
+    // 个人注册章
+    //===============================================================================
+    @ApiOperation(value = "获取个人注册印章", notes = "获取个人注册印章")
+    @RequestMapping(value = "/sealRegister/{userId}", method = RequestMethod.GET)
+    public Response getSealRegister(@PathVariable long userId) {
+        return Response.ok(sealService.getSealRegisterByUserId(userId));
+    }
+
+    @ApiOperation(value = "创建个人注册印章", notes = "创建个人注册印章")
+    @RequestMapping(value = "/sealRegister", method = RequestMethod.POST)
+    public Response createSealRegister(@RequestBody SealRegister sealRegister) {
+        try {
+            sealService.insertSealRegister(sealRegister);
+            fileManagerService.blueConvertTransparency(sealRegister.getFileNodeId());
+        } catch (ServiceException e) {
+            return Response.fail(500, "创建失败");
+        }
+        return Response.ok();
+    }
+
+    @ApiOperation(value = "修改个人注册印章", notes = "修改个人注册印章")
+    @RequestMapping(value = "/sealRegister", method = RequestMethod.PUT)
+    public Response updateSealRegister(@RequestBody SealRegister sealRegister) {
+        try {
+            sealService.updateSealRegister(sealRegister);
+            if (sealRegister.getFileNodeId() != 0) {
+                fileManagerService.blueConvertTransparency(sealRegister.getFileNodeId());
+            }
+        } catch (ServiceException e) {
+            return Response.fail(500, "创建失败");
+        }
+        return Response.ok();
+    }
+
+    @ApiOperation(value = "删除个人注册印章", notes = "删除个人注册印章")
+    @RequestMapping(value = "/sealRegister/{id}", method = RequestMethod.DELETE)
+    public Response deleteSealRegister(@PathVariable int id) {
+        sealService.deleteSealRegister(id);
+        return Response.ok();
+    }
+
+    @ApiOperation(value = "保存注册印章位置", notes = "保存注册印章位置")
+    @RequestMapping(value = "/sealRegisterkey", method = RequestMethod.POST)
+    public Response createSealRegisterKey(@RequestBody SealRegisterKey sealRegisterKey) {
+        sealService.insertSealRegisterKey(sealRegisterKey);
+        return Response.ok();
+    }
+
+    @ApiOperation(value = "获取注册印章位置", notes = "获取注册印章位置")
+    @RequestMapping(value = "/sealRegisterkey/{documentId}", method = RequestMethod.GET)
+    public Response getSealRegisterKey(@PathVariable int documentId) {
+        return Response.ok(sealService.getSealRegisterKey(documentId));
+    }
+
+    @ApiOperation(value = "删除注册印章位置", notes = "删除注册印章位置")
+    @RequestMapping(value = "/sealRegisterkey/{documentId}", method = RequestMethod.DELETE)
+    public Response deleteSealRegisterKey(@PathVariable int documentId) {
+        sealService.deleteSealRegisterKeyByDocumentId(documentId);
+        return Response.ok();
+    }
+
 
 }

+ 6 - 4
virgo.file/src/main/java/com/bosshand/virgo/file/seal/model/Seal.java

@@ -1,12 +1,14 @@
 package com.bosshand.virgo.file.seal.model;
 
-import java.util.Date;
-import java.util.List;
-
 import com.bosshand.virgo.file.model.FileNode;
 import com.fasterxml.jackson.annotation.JsonFormat;
 
-//印章
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 印章管理
+ */
 public class Seal {
 	
 	private int id;

+ 3 - 1
virgo.file/src/main/java/com/bosshand/virgo/file/seal/model/SealRegister.java

@@ -5,7 +5,9 @@ import java.util.Date;
 import com.bosshand.virgo.file.model.FileNode;
 import com.fasterxml.jackson.annotation.JsonFormat;
 
-//个人注册印章
+/**
+ * 个人注册印章
+ */
 public class SealRegister {
 	
 	private int id;

+ 3 - 1
virgo.file/src/main/java/com/bosshand/virgo/file/seal/model/SealRequest.java

@@ -4,7 +4,9 @@ import java.util.Date;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 
-//用章申请
+/**
+ * 用章申请
+ */
 public class SealRequest {
 	
 	private int id;

+ 5 - 3
virgo.file/src/main/java/com/bosshand/virgo/file/seal/model/SealUsage.java

@@ -1,10 +1,12 @@
 package com.bosshand.virgo.file.seal.model;
 
-import java.util.Date;
-
 import com.fasterxml.jackson.annotation.JsonFormat;
 
-//用章记录
+import java.util.Date;
+
+/**
+ * 用章记录
+ */
 public class SealUsage {
 
 	private int id;