Authored by qinchao

质检

package com.yoho.order.dal;
import com.yoho.order.model.QualityCheck;
import org.apache.ibatis.annotations.Param;
public interface QualityCheckMapper {
int deleteByPrimaryKey(Integer id);
... ... @@ -14,4 +15,6 @@ public interface QualityCheckMapper {
int updateByPrimaryKeySelective(QualityCheck record);
int updateByPrimaryKey(QualityCheck record);
QualityCheck selectByOrderCode(@Param("orderCode") Long orderCode);
}
\ No newline at end of file
... ...
... ... @@ -12,6 +12,12 @@
<sql id="Base_Column_List">
id, order_code, check_text, type, status, image_url
</sql>
<select id="selectByOrderCode" resultMap="BaseResultMap">
select <include refid="Base_Column_List" />
from quality_check where order_code = #{orderCode}
</select>
<select id="selectByPrimaryKey" parameterType="java.lang.Integer" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
... ...
... ... @@ -11,14 +11,17 @@ public enum OperateTypeEnum {
OPERATE_TYPE_UPDATE_RECEIVE_INFO(2,"修改收货人信息"),
OPERATE_TYPE_CONFIRM_RECEIVE(3,"确认收货"),
OPERATE_TYPE_JUDGE_BEGIN(4,"质检通过"),
OPERATE_TYPE_JUDGE_PASS(5,"鉴定通过(并且发货)"),
OPERATE_TYPE_JUDGE_REJECT(6,"鉴定不通过(并且发货)"),
OPERATE_TYPE_QUALITY_CHECK_PASS(4,"质检通过"),
OPERATE_TYPE_JUDGE_PASS(5,"鉴定通过(且发货)"),
OPERATE_TYPE_JUDGE_REJECT(6,"鉴定不通过(且发货)"),
OPERATE_TYPE_DELIVERY_GOODS(7,"发货给买家"),
//OPERATE_TYPE_DELIVERY_GOODS(7,"发货给买家"),
OPERATE_TYPE_RETURN_CAUSE_OF_JUDGE_FAILURE(8,"发货给卖家(鉴定不通过)"),
OPERATE_TYPE_RETURN_CAUSE_OF_BUYER_CANCEL_AFTER_SELLER_SELL_OUT(9,"发货给卖家(买家在卖家发货后取消)"),
CS_CANCEL_BEFORE_DEPOT_RECEIVE(10,"鉴定中心收货前客服取消"),
OPERATE_TYPE_QUALITY_NOT_PASS(11,"质检不通过"),
OPERATE_TYPE_QUALITY_MINI_FAULT(12,"质检瑕疵确认"),
;
private Integer code;
private String desc;
... ...
... ... @@ -80,7 +80,7 @@ public class BuyerOrderController {
@RequestMapping(value = "/qualityCheckNotPass")
public ApiResponse qualityCheckNotPass(BuyerOrderReq req) {
LOGGER.info("qualityCheckNotPass in. req is {}", req);
JSONObject result = buyerOrderService.qualityCheckNotPass();
JSONObject result = buyerOrderService.qualityCheckNotPass(req);
if(result.getIntValue("code") == 200) {
return new ApiResponse.ApiResponseBuilder().code(200).message("质检不通过成功").build();
}else {
... ... @@ -89,10 +89,10 @@ public class BuyerOrderController {
}
//瑕疵确认
@RequestMapping(value = "/minorFaultConfirm")
public ApiResponse minorFaultConfirm(BuyerOrderReq req) {
LOGGER.info("minorFaultConfirm in. req is {}", req);
JSONObject result = buyerOrderService.minorFaultConfirm();
@RequestMapping(value = "/miniFaultConfirm")
public ApiResponse miniFaultConfirm(BuyerOrderReq req) {
LOGGER.info("miniFaultConfirm in. req is {}", req);
JSONObject result = buyerOrderService.miniFaultConfirm(req);
if(result.getIntValue("code") == 200) {
return new ApiResponse.ApiResponseBuilder().code(200).message("瑕疵确认成功").build();
}else {
... ...
... ... @@ -32,8 +32,8 @@ public interface IBuyerOrderService {
JSONObject qualityCheckPass(BuyerOrderReq req);
JSONObject qualityCheckNotPass();
JSONObject minorFaultConfirm();
JSONObject qualityCheckNotPass(BuyerOrderReq req);
JSONObject miniFaultConfirm(BuyerOrderReq req);
JSONObject judgePass(BuyerOrderReq req);
... ...
... ... @@ -102,6 +102,9 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
@Autowired
private IdentifyRecordsMapper identifyRecordsMapper;
@Autowired
private QualityCheckMapper qualityCheckMapper;
@Autowired
private BuyerOrderFeedbackService buyerOrderFeedbackService;
... ... @@ -384,43 +387,75 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
@Override
public JSONObject qualityCheckPass(BuyerOrderReq req){
BuyerOrder buyerOrder = checkParam(req);
String args = "ufo-gateway.qualityCheckPass";
JSONObject jsonObject = asyncCallConfirmReceive(args, buyerOrder.getOrderCode());
//记录操作日志
int operateType =OperateTypeEnum.OPERATE_TYPE_QUALITY_CHECK_PASS.getCode();
UserHelper userHelper = new UserHelper();
saveOrderOperateRecord(buyerOrder.getOrderCode(), userHelper, operateType, "");
LOGGER.info("qualityCheckPass saveOrderOperateRecord operateType={} ,order code ={} ,userHelper = {} ,result json {}",operateType,buyerOrder.getOrderCode() ,userHelper,jsonObject);
return jsonObject;
}
private BuyerOrder checkParam(BuyerOrderReq req){
if(null == req.getId()) {
return null;
throw new ServiceException(400,"错误:参数错误");
}
BuyerOrder buyerOrder = buyerOrderMapper.selectById(req.getId());
if(null == buyerOrder) {
return null;
throw new ServiceException(400,"错误:订单为空");
}
if( Constant.BUYER_ORDER_STATUS_PLATFORM_RECEIVE.getByteVal()!=buyerOrder.getStatus().byteValue()){
throw new ServiceException(400,"错误:订单状态变化,不允许开始鉴定,请重新刷新列表");
}
String args = "ufo-gateway.qualityCheckPass";
//检查是否存在质检记录,如果存在,则不允许再次执行
QualityCheck qualityCheck = qualityCheckMapper.selectByOrderCode(Long.valueOf(buyerOrder.getOrderCode()));
if(null != qualityCheck){
LOGGER.warn("checkParam exist quality check info ,buyerOrder = {} ,qualityCheck = {} ",buyerOrder ,qualityCheck);
throw new ServiceException(400,"错误:订单存在质检信息,请重新刷新列表");
}
return buyerOrder;
}
public JSONObject qualityCheckNotPass(BuyerOrderReq req){
BuyerOrder buyerOrder = checkParam(req);
//保存图片
//调用鉴定不通过接口
String args = "orderAppraise.appraiseFailWithoutExpress";
JSONObject jsonObject = asyncCallConfirmReceive(args, buyerOrder.getOrderCode());
//记录操作日志
int operateType =OperateTypeEnum.OPERATE_TYPE_JUDGE_BEGIN.getCode();
int operateType =OperateTypeEnum.OPERATE_TYPE_QUALITY_NOT_PASS.getCode();
UserHelper userHelper = new UserHelper();
saveOrderOperateRecord(buyerOrder.getOrderCode(), userHelper, operateType, "");
LOGGER.info("qualityCheckPass saveOrderOperateRecord operateType={} ,order code ={} ,userHelper = {} ,result json {}",operateType,buyerOrder.getOrderCode() ,userHelper,jsonObject);
LOGGER.info("qualityCheckNotPass saveOrderOperateRecord operateType={} ,order code ={} ,userHelper = {} ,result json {}",operateType,buyerOrder.getOrderCode() ,userHelper,jsonObject);
return jsonObject;
}
public JSONObject qualityCheckNotPass(){
//保存图片
public JSONObject miniFaultConfirm(BuyerOrderReq req){
BuyerOrder buyerOrder = checkParam(req);
//调用鉴定不通过接口
String args = "ufo-gateway.miniFaultConfirm";
JSONObject jsonObject = asyncCallConfirmReceive(args, buyerOrder.getOrderCode());
//记录操作日志
int operateType =OperateTypeEnum.OPERATE_TYPE_QUALITY_MINI_FAULT.getCode();
UserHelper userHelper = new UserHelper();
saveOrderOperateRecord(buyerOrder.getOrderCode(), userHelper, operateType, "");
LOGGER.info("miniFaultConfirm saveOrderOperateRecord operateType={} ,order code ={} ,userHelper = {} ,result json {}",operateType,buyerOrder.getOrderCode() ,userHelper,jsonObject);
return null;
}
public JSONObject minorFaultConfirm(){
return null;
return jsonObject;
}
//鉴定通过
... ... @@ -688,7 +723,7 @@ public class BuyerOrderServiceImpl implements IBuyerOrderService {
LOGGER.info("call ufo-gateway enter orderCode is {}, interface is {},result is {}", orderCode, args);
OrderRequest request = new OrderRequest();
request.setOrderCode(Long.valueOf(orderCode));
JSONObject jsonObject = serviceCaller.asyncCall(args, request, JSONObject.class).get(5);
JSONObject jsonObject = serviceCaller.asyncCall(args, request, JSONObject.class).get(5, TimeUnit.SECONDS);
LOGGER.info("call ufo-gateway orderCode is {}, interface is {},result is {}", orderCode, args, jsonObject.toJSONString());
return jsonObject;
}
... ...
... ... @@ -471,10 +471,10 @@ function getToBeReceiveListOrJudgedList(platformWaybillShowFlag,paramStatusStr,p
});
//瑕疵确认
$(this).datagrid("getPanel").find("a[role='minorFaultConfirm']").linkbutton({
$(this).datagrid("getPanel").find("a[role='miniFaultConfirm']").linkbutton({
onClick: function () {
var id = $(this).attr("dataId");
minorFaultConfirm(id);
miniFaultConfirm(id);
}
});
... ... @@ -642,7 +642,7 @@ function getTableColumn(platformWaybillShowFlag) {
}else{
operateButton += "<a role='qualityCheckPass' dataId='"+ rowData.id +"' style='margin-left:10px;background-color: #5cb85c !important;'>质检通过</a>";
operateButton += "<a role='qualityCheckNotPass' dataId='"+ rowData.id + "'" + " skup='"+rowData.skup +"' style='margin-left:10px;background-color: #d9534f !important; color: #fff !important;'>质检不通过</a>";
operateButton += "<a role='minorFaultConfirm' dataId='"+ rowData.id +"' style='margin-left:10px;background-color: #5bc0de !important;'>瑕疵确认</a>";
operateButton += "<a role='miniFaultConfirm' dataId='"+ rowData.id +"' style='margin-left:10px;background-color: #5bc0de !important;'>瑕疵确认</a>";
}
return operateButton ;
}else if (rowData.status == 3) {
... ... @@ -747,7 +747,7 @@ function qualityCheckNotPass(id) {
}
//瑕疵确认
function minorFaultConfirm(id) {
function miniFaultConfirm(id) {
}
... ...