Browse Source

科技需求订单log&订单列表

Antiloveg 8 years ago
parent
commit
54741f450d

+ 1 - 1
src/main/java/com/goafanti/achievement/service/impl/AchievementServiceImpl.java

@@ -73,7 +73,7 @@ public class AchievementServiceImpl extends BaseMybatisDao<AchievementMapper> im
 			pNo = 1;
 		}
 
-		if (pSize == null || pSize < 0) {
+		if (pSize == null || pSize < 0 || pSize > 10) {
 			pSize = 10;
 		}
 		return (Pagination<AchievementListBo>) findPage("findUserOwnerAchievementListByPage",

+ 10 - 0
src/main/java/com/goafanti/admin/controller/AdminOrderApiController.java

@@ -0,0 +1,10 @@
+package com.goafanti.admin.controller;
+
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping(value = "/api/admin/order")
+public class AdminOrderApiController {
+
+}

+ 5 - 0
src/main/java/com/goafanti/common/dao/DemandOrderLogMapper.java

@@ -1,6 +1,9 @@
 package com.goafanti.common.dao;
 
+import java.util.List;
+
 import com.goafanti.common.model.DemandOrderLog;
+import com.goafanti.demand.bo.DemandOrderLogUserBo;
 
 public interface DemandOrderLogMapper {
     int deleteByPrimaryKey(String id);
@@ -14,4 +17,6 @@ public interface DemandOrderLogMapper {
     int updateByPrimaryKeySelective(DemandOrderLog record);
 
     int updateByPrimaryKey(DemandOrderLog record);
+
+	List<DemandOrderLogUserBo> selectDemandOrderLogByDemandOrderId(String demandOrderId);
 }

+ 8 - 0
src/main/java/com/goafanti/common/mapper/DemandOrderLogMapper.xml

@@ -103,4 +103,12 @@
       comment = #{comment,jdbcType=VARCHAR}
     where id = #{id,jdbcType=VARCHAR}
   </update>
+  
+  <select id="selectDemandOrderLogByDemandOrderId" parameterType="java.lang.String" resultType="com.goafanti.demand.bo.DemandOrderLogUserBo">
+  	select 
+  		record_time as recordTime, status, comment
+  	from demand_order_log
+  	where demand_order_id = #{demandOrderId,jdbcType=VARCHAR}
+  	order by record_time 
+  </select>
 </mapper>

+ 24 - 0
src/main/java/com/goafanti/common/mapper/DemandOrderMapper.xml

@@ -192,4 +192,28 @@
     from demand_order
     where uid = #{0} and demand_id = #{1}
   </select>
+  
+  <select id="findDemandOrderListByPage" parameterType="String" resultMap="BaseResultMap">
+  	select 
+  	<include refid="Base_Column_List" />
+  	from demand_order 
+  	where deleted_sign = 0 and uid = #{uid,jdbcType=VARCHAR}
+  	<if test="status != null">
+  		and status = #{status,jdbcType=INTEGER}
+  	</if>
+  	order by serial_number desc
+  	<if test="page_sql!=null">
+		${page_sql}
+	</if>
+  </select>
+  
+  <select id="findDemandOrderCount" parameterType="String" resultType="java.lang.Integer">
+  	select 
+  		count(1)
+  	from demand_order
+  	where deleted_sign = 0 and uid = #{uid,jdbcType=VARCHAR}
+  	<if test="status != null">
+  		and status = #{status,jdbcType=INTEGER}
+  	</if>
+  </select>
 </mapper>

+ 17 - 1
src/main/java/com/goafanti/common/model/DemandOrder.java

@@ -3,7 +3,10 @@ package com.goafanti.common.model;
 import java.util.Date;
 
 import org.apache.commons.lang3.StringUtils;
+import org.apache.commons.lang3.time.DateFormatUtils;
 
+import com.fasterxml.jackson.annotation.JsonIgnore;
+import com.goafanti.common.constant.AFTConstants;
 import com.goafanti.common.utils.FileUtils;
 
 public class DemandOrder {
@@ -164,7 +167,8 @@ public class DemandOrder {
     public void setRefund(Integer refund) {
         this.refund = refund;
     }
-
+    
+    @JsonIgnore
     public Integer getDeletedSign() {
         return deletedSign;
     }
@@ -173,6 +177,18 @@ public class DemandOrder {
         this.deletedSign = deletedSign;
     }
     
+    public String getCreateTimeFormattedDate() {
+		if (this.createTime == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDD);
+		}
+	}
+
+	public void setCreateTimeFormattedDate(String createTimeFormattedDate) {
+
+	}
+    
     public String getEnclosureDownloadFileName(){
 		if (StringUtils.isBlank(this.enclosureUrl)){
 			return null;

+ 56 - 0
src/main/java/com/goafanti/demand/bo/DemandOrderLogUserBo.java

@@ -0,0 +1,56 @@
+package com.goafanti.demand.bo;
+
+import java.util.Date;
+
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.goafanti.common.constant.AFTConstants;
+
+public class DemandOrderLogUserBo {
+	private Date	recordTime;
+
+	private Integer	status;
+
+	private String	comment;
+	
+	
+	public Date getRecordTime() {
+		return recordTime;
+	}
+
+	public void setRecordTime(Date recordTime) {
+		this.recordTime = recordTime;
+	}
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public String getComment() {
+		return comment;
+	}
+
+	public void setComment(String comment) {
+		this.comment = comment;
+	}
+
+	public String getRecordTimeFormattedDate() {
+		if (this.recordTime == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getRecordTime(), AFTConstants.YYYYMMDDHHMMSS);
+		}
+	}
+
+	public void setRecordTimeFormattedDate(String createTimeFormattedDate) {
+
+	}
+
+}

+ 11 - 0
src/main/java/com/goafanti/demand/service/DemandOrderLogService.java

@@ -0,0 +1,11 @@
+package com.goafanti.demand.service;
+
+import java.util.List;
+
+import com.goafanti.demand.bo.DemandOrderLogUserBo;
+
+public interface DemandOrderLogService {
+
+	List<DemandOrderLogUserBo> selectDemandOrderLogByDemandOrderId(String demandOrderId);
+
+}

+ 3 - 0
src/main/java/com/goafanti/demand/service/DemandOrderService.java

@@ -2,6 +2,7 @@ package com.goafanti.demand.service;
 
 import com.goafanti.common.model.DemandOrder;
 import com.goafanti.common.model.DemandOrderLog;
+import com.goafanti.core.mybatis.page.Pagination;
 
 public interface DemandOrderService {
 
@@ -11,4 +12,6 @@ public interface DemandOrderService {
 
 	DemandOrder selectByPrimaryKey(String id);
 
+	Pagination<DemandOrder> listOrderList(Integer status, Integer pNo, Integer pSize);
+
 }

+ 20 - 0
src/main/java/com/goafanti/demand/service/impl/DemandOrderLogServiceImpl.java

@@ -0,0 +1,20 @@
+package com.goafanti.demand.service.impl;
+
+import java.util.List;
+
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import com.goafanti.common.dao.DemandOrderLogMapper;
+import com.goafanti.demand.bo.DemandOrderLogUserBo;
+import com.goafanti.demand.service.DemandOrderLogService;
+@Service
+public class DemandOrderLogServiceImpl implements DemandOrderLogService {
+	@Autowired
+	private DemandOrderLogMapper demandOrderLogMapper;
+
+	@Override
+	public List<DemandOrderLogUserBo> selectDemandOrderLogByDemandOrderId(String demandOrderId) {
+		return demandOrderLogMapper.selectDemandOrderLogByDemandOrderId(demandOrderId);
+	}
+}

+ 33 - 6
src/main/java/com/goafanti/demand/service/impl/DemandOrderServiceImpl.java

@@ -1,6 +1,8 @@
 package com.goafanti.demand.service.impl;
 
 import java.util.Calendar;
+import java.util.HashMap;
+import java.util.Map;
 import java.util.UUID;
 
 import org.springframework.beans.factory.annotation.Autowired;
@@ -12,15 +14,18 @@ import com.goafanti.common.enums.DeleteStatus;
 import com.goafanti.common.enums.DemandOrderStatus;
 import com.goafanti.common.model.DemandOrder;
 import com.goafanti.common.model.DemandOrderLog;
+import com.goafanti.core.mybatis.BaseMybatisDao;
+import com.goafanti.core.mybatis.page.Pagination;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.demand.service.DemandOrderService;
+
 @Service
-public class DemandOrderServiceImpl implements DemandOrderService {
+public class DemandOrderServiceImpl extends BaseMybatisDao<DemandOrderMapper> implements DemandOrderService {
 	@Autowired
-	private DemandOrderMapper demandOrderMapper;
+	private DemandOrderMapper		demandOrderMapper;
 	@Autowired
-	private DemandOrderLogMapper demandOrderLogMapper;
-	
+	private DemandOrderLogMapper	demandOrderLogMapper;
+
 	@Override
 	public DemandOrder selectDemandOrderByUidAndDemandId(String uid, String id) {
 		return demandOrderMapper.selectDemandOrderByUidAndDemandId(uid, id);
@@ -36,13 +41,13 @@ public class DemandOrderServiceImpl implements DemandOrderService {
 		demandOrder.setDeletedSign(DeleteStatus.UNDELETE.getCode());
 		demandOrder.setStatus(DemandOrderStatus.CREATE.getCode());
 		demandOrderMapper.insert(demandOrder);
-		
+
 		dol.setId(UUID.randomUUID().toString());
 		dol.setDemandOrderId(demandOrder.getId());
 		dol.setRecordTime(demandOrder.getCreateTime());
 		dol.setStatus(demandOrder.getStatus());
 		demandOrderLogMapper.insert(dol);
-		
+
 	}
 
 	@Override
@@ -50,4 +55,26 @@ public class DemandOrderServiceImpl implements DemandOrderService {
 		return demandOrderMapper.selectByPrimaryKey(id);
 	}
 
+	@SuppressWarnings("unchecked")
+	@Override
+	public Pagination<DemandOrder> listOrderList(Integer status, Integer pNo, Integer pSize) {
+		Map<String, Object> params = new HashMap<>();
+
+		if (null != status) {
+			params.put("status", status);
+		}
+
+		params.put("uid", TokenManager.getUserId());
+
+		if (pNo == null || pNo < 0) {
+			pNo = 1;
+		}
+
+		if (pSize == null || pSize < 0 || pSize > 10) {
+			pSize = 10;
+		}
+		return (Pagination<DemandOrder>) findPage("findDemandOrderListByPage",
+				"findDemandOrderCount", params, pNo, pSize);
+	}
+
 }

+ 125 - 0
src/main/java/com/goafanti/portal/bo/DemandOrderListBasicBo.java

@@ -0,0 +1,125 @@
+package com.goafanti.portal.bo;
+
+import java.util.Date;
+
+import org.apache.commons.lang3.time.DateFormatUtils;
+
+import com.fasterxml.jackson.annotation.JsonFormat;
+import com.fasterxml.jackson.annotation.JsonFormat.Shape;
+import com.goafanti.common.constant.AFTConstants;
+
+public class DemandOrderListBasicBo {
+	private String	id;
+
+	private Integer	serialNumber;
+
+	private String	demandId;
+
+	private Date	createTime;
+
+	private Integer	status;
+
+	private Integer	intentionMoney;
+
+	private Integer	contractMoney;
+
+	private Integer	commission;
+
+	private Integer	serviceMoney;
+
+	private Integer	refund;
+
+	public String getId() {
+		return id;
+	}
+
+	public void setId(String id) {
+		this.id = id;
+	}
+
+	public Integer getSerialNumber() {
+		return serialNumber;
+	}
+
+	public void setSerialNumber(Integer serialNumber) {
+		this.serialNumber = serialNumber;
+	}
+
+	public String getDemandId() {
+		return demandId;
+	}
+
+	public void setDemandId(String demandId) {
+		this.demandId = demandId;
+	}
+
+	public Date getCreateTime() {
+		return createTime;
+	}
+
+	public void setCreateTime(Date createTime) {
+		this.createTime = createTime;
+	}
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getStatus() {
+		return status;
+	}
+
+	public void setStatus(Integer status) {
+		this.status = status;
+	}
+
+	public Integer getIntentionMoney() {
+		return intentionMoney;
+	}
+
+	public void setIntentionMoney(Integer intentionMoney) {
+		this.intentionMoney = intentionMoney;
+	}
+
+	public Integer getContractMoney() {
+		return contractMoney;
+	}
+
+	public void setContractMoney(Integer contractMoney) {
+		this.contractMoney = contractMoney;
+	}
+
+	public Integer getCommission() {
+		return commission;
+	}
+
+	public void setCommission(Integer commission) {
+		this.commission = commission;
+	}
+
+	public Integer getServiceMoney() {
+		return serviceMoney;
+	}
+
+	public void setServiceMoney(Integer serviceMoney) {
+		this.serviceMoney = serviceMoney;
+	}
+	
+	@JsonFormat(shape = Shape.STRING)
+	public Integer getRefund() {
+		return refund;
+	}
+
+	public void setRefund(Integer refund) {
+		this.refund = refund;
+	}
+
+	public String getCreateTimeFormattedDate() {
+		if (this.createTime == null) {
+			return null;
+		} else {
+			return DateFormatUtils.format(this.getCreateTime(), AFTConstants.YYYYMMDD);
+		}
+	}
+
+	public void setCreateTimeFormattedDate(String createTimeFormattedDate) {
+
+	}
+}

+ 70 - 11
src/main/java/com/goafanti/portal/controller/PortalOrderApiController.java

@@ -25,6 +25,7 @@ import com.goafanti.common.model.DemandOrder;
 import com.goafanti.common.model.DemandOrderLog;
 import com.goafanti.core.shiro.token.TokenManager;
 import com.goafanti.demand.bo.InputDemandOrder;
+import com.goafanti.demand.service.DemandOrderLogService;
 import com.goafanti.demand.service.DemandOrderService;
 import com.goafanti.demand.service.DemandService;
 
@@ -32,14 +33,53 @@ import com.goafanti.demand.service.DemandService;
 @RequestMapping(value = "/api/user/portal/order")
 public class PortalOrderApiController extends CertifyApiController {
 	@Resource
-	private DemandOrderService	demandOrderService;
+	private DemandOrderService		demandOrderService;
 	@Resource
-	private DemandService		demandService;
-	
+	private DemandService			demandService;
+	@Resource
+	private DemandOrderLogService	demandOrderLogService;
+
+	/**
+	 * 科技需求订单log
+	 */
+	@RequestMapping(value = "/demandOrderLog", method = RequestMethod.GET)
+	public Result demandOrderDetail(String demandOrderId) {
+		Result res = new Result();
+		if (StringUtils.isEmpty(demandOrderId)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "", "科技需求订单ID"));
+			return res;
+		}
+		DemandOrder order = demandOrderService.selectByPrimaryKey(demandOrderId);
+		if (null != order && TokenManager.getUserId().equals(order.getUid())) {
+			res.setData(demandOrderLogService.selectDemandOrderLogByDemandOrderId(demandOrderId));
+		} else {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "科技需求订单ID"));
+		}
+		return res;
+	}
+
+	/**
+	 * 订单列表
+	 */
+	@RequestMapping(value = "/demandOrderList", method = RequestMethod.GET)
+	public Result orderList(Integer status, String pageNo, String pageSize) {
+		Result res = new Result();
+		Integer pNo = 1;
+		Integer pSize = 10;
+		if (StringUtils.isNumeric(pageSize)) {
+			pSize = Integer.parseInt(pageSize);
+		}
+		if (StringUtils.isNumeric(pageNo)) {
+			pNo = Integer.parseInt(pageNo);
+		}
+		res.setData(demandOrderService.listOrderList(status, pNo, pSize));
+		return res;
+	}
+
 	/**
 	 * 附件上传
 	 */
-	@RequestMapping(value = "/upload", method = RequestMethod.POST)
+	@RequestMapping(value = "/demandUpload", method = RequestMethod.POST)
 	public Result uploadTextFile(HttpServletRequest req, String sign) {
 		Result res = new Result();
 
@@ -52,11 +92,11 @@ public class PortalOrderApiController extends CertifyApiController {
 		}
 		return res;
 	}
-	
+
 	/**
 	 * 下载文件
 	 */
-	@RequestMapping(value = "/download", method = RequestMethod.GET)
+	@RequestMapping(value = "/demandDownload", method = RequestMethod.GET)
 	public Result download(HttpServletResponse response, String id) {
 		Result res = new Result();
 
@@ -90,7 +130,8 @@ public class PortalOrderApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到需求ID", "需求ID"));
 			return res;
 		}
-		DemandOrder demandOrder = demandOrderService.selectDemandOrderByUidAndDemandId(TokenManager.getUserId(), inputDemandOrder.getDemandId());
+		DemandOrder demandOrder = demandOrderService.selectDemandOrderByUidAndDemandId(TokenManager.getUserId(),
+				inputDemandOrder.getDemandId());
 		if (null != demandOrder) {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "当前科技需求已接单!"));
 			return res;
@@ -102,15 +143,33 @@ public class PortalOrderApiController extends CertifyApiController {
 			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "", "科技需求ID"));
 			return res;
 		}
-		
+
 		DemandOrder order = new DemandOrder();
 		DemandOrderLog dol = new DemandOrderLog();
 		BeanUtils.copyProperties(inputDemandOrder, order);
 		BeanUtils.copyProperties(inputDemandOrder, dol);
-		
+
 		demandOrderService.saveDemandOrder(order, dol);
 		return res;
 	}
-	
-	//@RequestMapping(value = "/shutdown", method = )
+
+	/**
+	 * 关闭订单
+	 */
+	@RequestMapping(value = "/demandShutdown", method = RequestMethod.POST)
+	public Result shutdown(String id) {
+		Result res = new Result();
+		if (StringUtils.isBlank(id)) {
+			res.getError().add(buildError(ErrorConstants.PARAM_EMPTY_ERROR, "找不到订单ID", "订单ID"));
+			return res;
+		}
+
+		DemandOrder order = demandOrderService.selectByPrimaryKey(id);
+		if (null == order) {
+			res.getError().add(buildError(ErrorConstants.PARAM_ERROR, "订单ID"));
+			return res;
+		}
+		return res;
+	}
+
 }