albertshaw 8 years ago
parent
commit
52e81e18cc

+ 3 - 3
src/main/java/com/goafanti/common/enums/OrderState.java

@@ -6,7 +6,7 @@ import java.util.Map;
 import org.apache.commons.lang3.StringUtils;
 
 public enum OrderState {
-	UNPAYED(0, "未支付"), PAYED(1, "已支付"), PAYING(2, "支付中"), CANCELLED(9, "取消");
+	UNPAYED(0, "未支付"), PAYED(1, "已支付"), PAYING(2, "支付中"), CANCELLED(9, "取消"), INVALID(10, "无效");
 
 	private OrderState(Integer code, String desc) {
 		this.code = code;
@@ -25,14 +25,14 @@ public enum OrderState {
 		if (containsType(code)) {
 			return status.get(code);
 		}
-		return null;
+		return INVALID;
 	}
 
 	public static OrderState getStatus(String code) {
 		if (StringUtils.isNumeric(code)) {
 			return getStatus(Integer.parseInt(code));
 		}
-		return null;
+		return INVALID;
 	}
 
 	public static boolean containsType(Integer code) {

+ 2 - 0
src/main/java/com/goafanti/common/mapper/ConsultOrderMapperExt.xml

@@ -19,10 +19,12 @@
 		u.nickname as nickname,
 		u.number as number,
 		tu.nickname as toNickname,
+		tui.username as toUsername,
 		tu.number as toNumber
 		from consult_order co
 		left join `user` u on co.user_id = u.id
 		left join `user` tu on co.to_user_id = tu.id
+		left join `user_identity` tui on co.to_user_id = tui.uid
 		where 1=1
 		<if test="number != null">
 			and u.number= #{number,jdbcType=INTEGER}

+ 38 - 0
src/main/java/com/goafanti/consultOrder/controller/AdminConsultOrderApiController.java

@@ -7,6 +7,8 @@ import org.springframework.web.bind.annotation.RestController;
 
 import com.goafanti.common.bo.Result;
 import com.goafanti.common.controller.BaseApiController;
+import com.goafanti.common.enums.OrderState;
+import com.goafanti.common.model.ConsultOrder;
 import com.goafanti.consultOrder.service.ConsultOrderService;
 
 @RestController
@@ -28,4 +30,40 @@ public class AdminConsultOrderApiController extends BaseApiController {
 				consultOrderService.disposeSearchParams(number, toNumber, id, paymentId, state), getPageNo(pageNo),
 				getPageSize(pageSize)));
 	}
+
+	/**
+	 * 
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping(value = "/del", method = RequestMethod.POST)
+	public Result delConsultOrder(Long id) {
+		ConsultOrder co = consultOrderService.selectByPrimaryKey(id);
+		if (co.getOrderState() != OrderState.UNPAYED.getCode()) {
+			return res().data(0);
+		}
+		ConsultOrder newCo = new ConsultOrder();
+		newCo.setId(co.getId());
+		newCo.setOrderState(OrderState.CANCELLED.getCode());
+		return res().data(consultOrderService.updateByPrimaryKeySelective(newCo));
+	}
+
+	/**
+	 * 
+	 * @param id
+	 * @return
+	 */
+	@RequestMapping(value = "/update", method = RequestMethod.POST)
+	public Result updateConsultOrder(ConsultOrder inputCO) {
+		ConsultOrder co = consultOrderService.selectByPrimaryKey(inputCO.getId());
+		if (co.getOrderState() != OrderState.UNPAYED.getCode()) {
+			return res().data(0);
+		}
+		co.setPaymentId(inputCO.getPaymentId());
+		co.setPaymentType(inputCO.getPaymentType());
+		co.setPaymentTime(inputCO.getPaymentTime());
+		co.setPaymentValue(inputCO.getPaymentValue());
+		co.setOrderState(OrderState.getStatus(inputCO.getOrderState()).getCode());
+		return res().data(consultOrderService.updateByPrimaryKeySelective(co));
+	}
 }

+ 2 - 1
src/main/java/com/goafanti/consultOrder/controller/ConsultOrderApiController.java

@@ -60,7 +60,8 @@ public class ConsultOrderApiController extends BaseApiController {
 	@RequestMapping(value = "/del", method = RequestMethod.POST)
 	public Result delConsultOrder(Long id) {
 		ConsultOrder co = consultOrderService.selectByPrimaryKey(id);
-		if (co.getOrderState() != OrderState.UNPAYED.getCode()) {
+		if (co.getOrderState() != OrderState.UNPAYED.getCode()
+				|| !StringUtils.equals(co.getUserId(), TokenManager.getUserId())) {
 			return res().data(0);
 		}
 		ConsultOrder newCo = new ConsultOrder();