处理商品类目没有的问题,增加客户是否同意上门重做方案,以及师傅重做/补做完成接口
This commit is contained in:
parent
a2a009a1e2
commit
08e5353b4e
|
|
@ -119,6 +119,7 @@ public class OrderController extends BaseController {
|
|||
|
||||
@Resource
|
||||
private ShopService shopService;
|
||||
|
||||
@GetMapping("/imgs")
|
||||
public String orderImgs(Long orderId, ModelMap mmap) {
|
||||
mmap.put("orderId", orderId);
|
||||
|
|
@ -729,7 +730,6 @@ public class OrderController extends BaseController {
|
|||
}
|
||||
|
||||
|
||||
|
||||
return AjaxResult.success(orderMaster);
|
||||
}
|
||||
|
||||
|
|
@ -1359,9 +1359,9 @@ public class OrderController extends BaseController {
|
|||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
||||
|
||||
// 商品信息
|
||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
|
||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
||||
Goods goods = goodsService.selectById(master.getGoodsId());
|
||||
|
||||
// 财务信息
|
||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
||||
|
|
@ -1497,9 +1497,9 @@ public class OrderController extends BaseController {
|
|||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderDetailId(detail.getId());
|
||||
|
||||
// 商品信息
|
||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
|
||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
||||
Goods goods = goodsService.selectById(orderMaster.getGoodsId());
|
||||
|
||||
// 财务信息
|
||||
FinancialDetail financialDetail = financialDetailService.selectByOrderDetailId(detail.getId());
|
||||
|
|
@ -1622,9 +1622,9 @@ public class OrderController extends BaseController {
|
|||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
||||
|
||||
// 商品信息
|
||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
|
||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
||||
Goods goods = goodsService.selectById(master.getGoodsId());
|
||||
// 填充商品三级类目
|
||||
if (goods.getDeptGoodsCategoryId() != null) {
|
||||
Long categoryId = null;
|
||||
|
|
@ -2057,8 +2057,18 @@ public class OrderController extends BaseController {
|
|||
return AjaxResult.error("服务店铺未关联师傅信息");
|
||||
}
|
||||
|
||||
// 获取服务店铺的第一个服务商品并生成OrderGoods
|
||||
// 查询服务店铺的服务商品
|
||||
Goods queryGoods = new Goods();
|
||||
queryGoods.setShopId(serviceShopId);
|
||||
queryGoods.setType(1); // 1表示服务类型
|
||||
List<Goods> serviceGoodsList = goodsService.selectGoodsList(queryGoods);
|
||||
|
||||
|
||||
// 创建服务主单
|
||||
OrderMaster serviceOrderMaster = new OrderMaster();
|
||||
serviceOrderMaster.setGoodsId(serviceGoodsList.size()>0?serviceGoodsList.get(0).getGoodsId():null);
|
||||
serviceOrderMaster.setGoods(serviceGoodsList.size()>0?serviceGoodsList.get(0):null);
|
||||
serviceOrderMaster.setDeptId(accessoryOrderMaster.getDeptId());
|
||||
serviceOrderMaster.setCode(orderMasterService.createOrderCode());
|
||||
serviceOrderMaster.setOrderType(0); // 服务订单类型为0
|
||||
|
|
@ -2109,6 +2119,25 @@ public class OrderController extends BaseController {
|
|||
financialMasterService.insertFinancialMaster(serviceFinancialMaster);
|
||||
Assert.notNull(serviceFinancialMaster.getId(), "ServiceFinancialMaster.id is null!");
|
||||
|
||||
if (!CollectionUtils.isEmpty(serviceGoodsList)) {
|
||||
Goods firstServiceGoods = serviceGoodsList.get(0); // 取第一个服务商品
|
||||
OrderGoods serviceOrderGoods = new OrderGoods();
|
||||
serviceOrderGoods.setOrderId(serviceOrderMaster.getId());
|
||||
serviceOrderGoods.setGoodsStandardId(firstServiceGoods.getDeptGoodsCategoryId()); // 用标准ID
|
||||
serviceOrderGoods.setGoodsName(firstServiceGoods.getGoodsName());
|
||||
serviceOrderGoods.setGoodsNum(1); // 数量为1
|
||||
serviceOrderGoods.setRemark("由配件订单自动生成的服务商品,服务金额:" + serviceMoney);
|
||||
serviceOrderGoods.setCreateTime(new Date());
|
||||
|
||||
// 保存OrderGoods
|
||||
orderGoodsService.insertOrderGoods(serviceOrderGoods);
|
||||
logger.info("为服务订单[{}]生成服务商品[{}],商品ID:{},金额:{}",
|
||||
serviceOrderMaster.getCode(), firstServiceGoods.getGoodsName(),
|
||||
firstServiceGoods.getGoodsId(), serviceMoney);
|
||||
} else {
|
||||
logger.warn("服务店铺[{}]没有找到服务商品,无法生成OrderGoods", serviceShopId);
|
||||
}
|
||||
|
||||
// 更新配件主单,关联生成的服务订单并标记已派发服务订单
|
||||
OrderMaster accessoryUpdate = new OrderMaster();
|
||||
accessoryUpdate.setId(accessoryOrderMaster.getId());
|
||||
|
|
|
|||
|
|
@ -1016,12 +1016,17 @@ public class OrderMasterController extends BaseController {
|
|||
|
||||
if (!CollectionUtils.isEmpty(workerIds)) {
|
||||
List<Worker> workers = workerService.selectByIds(workerIds);
|
||||
workers.forEach(worker -> workerMap.put(worker.getId(), worker));
|
||||
workers.forEach(worker -> workerMap.put(worker.getWorkerId(), worker));
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(addressIds)) {
|
||||
List<CustomerAddress> addresses = addressService.selectByCustomerAddressIds(addressIds);
|
||||
addresses.forEach(address -> addressMap.put(address.getCustomerAddressId(), address));
|
||||
// 由于没有批量查询方法,使用循环查询
|
||||
addressIds.forEach(addressId -> {
|
||||
CustomerAddress address = addressService.selectByCustomerAddressId(addressId);
|
||||
if (address != null) {
|
||||
addressMap.put(address.getCustomerAddressId(), address);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
if (!CollectionUtils.isEmpty(goodsIds)) {
|
||||
|
|
@ -1303,9 +1308,9 @@ public class OrderMasterController extends BaseController {
|
|||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(master.getId());
|
||||
|
||||
// 商品信息
|
||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
|
||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
||||
Goods goods = goodsService.selectById(master.getGoodsId());
|
||||
|
||||
// 财务信息
|
||||
FinancialMaster financialMaster = financialMasterService.selectByOrderMasterId(master.getId());
|
||||
|
|
@ -1581,9 +1586,9 @@ public class OrderMasterController extends BaseController {
|
|||
List<OrderGoods> orderStandardList = orderGoodsService.selectByOrderMasterId(orderMaster.getId());
|
||||
|
||||
// 商品信息
|
||||
GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
// GoodsStandard goodsStandard = goodsStandardService.selectById(orderStandardList.get(0).getGoodsStandardId());
|
||||
|
||||
Goods goods = goodsService.selectById(goodsStandard.getGoodsId());
|
||||
Goods goods = goodsService.selectById(orderMaster.getGoodsId());
|
||||
if (goods != null) {
|
||||
// 填充商品三级类目
|
||||
if(goods.getDeptGoodsCategoryId() != null){
|
||||
|
|
|
|||
|
|
@ -40,8 +40,8 @@ public class AfterServiceRecord extends BaseEntity
|
|||
@Excel(name = "操作原因:1为申请退款,2为发起售后")
|
||||
private Long operType;
|
||||
|
||||
/** 师傅反馈结果:0为拒绝,1为同意,2为上门补做/重做 */
|
||||
@Excel(name = "师傅反馈结果:0为拒绝,1为同意,2为上门补做/重做")
|
||||
/** 师傅反馈结果:0为拒绝,1为同意,2为上门补做/重做,3重做/补做完成 */
|
||||
@Excel(name = "师傅反馈结果:0为拒绝,1为同意,2为上门补做/重做,3重做/补做完成")
|
||||
private Long workerFeedbackResult;
|
||||
|
||||
/** 师傅反馈原因类型:1为客户原因,2为师傅原因,3为其他 */
|
||||
|
|
@ -69,6 +69,22 @@ public class AfterServiceRecord extends BaseEntity
|
|||
|
||||
private Date refundApplyTime;
|
||||
|
||||
/** 客户是否同意上门重做方案:0-未处理,1-同意,2-不同意 */
|
||||
@Excel(name = "客户是否同意上门重做方案:0-未处理,1-同意,2-不同意")
|
||||
private Integer customerAgreeRedo;
|
||||
|
||||
/** 重做/补做完成时间 */
|
||||
@Excel(name = "重做/补做完成时间")
|
||||
private Date redoCompleteTime;
|
||||
|
||||
/** 重做/补做完成备注 */
|
||||
@Excel(name = "重做/补做完成备注")
|
||||
private String redoCompleteRemark;
|
||||
|
||||
/** 重做/补做完成图片 */
|
||||
@Excel(name = "重做/补做完成图片")
|
||||
private String redoCompleteImages;
|
||||
|
||||
private boolean excludeAfterServiceFinished;
|
||||
|
||||
private List<AfterServiceImgs> imgsList;
|
||||
|
|
|
|||
|
|
@ -184,6 +184,30 @@ public class AfterServiceRecordServiceImpl implements IAfterServiceRecordService
|
|||
orderDetailService.updateAfterTimeout(afterServiceRecord.getOrderDetailId(), 0, 0);
|
||||
log.info("客户是否同意{},客户操作{}",one.equals(param.getCustomerFinalCheck()),param);
|
||||
log.info("修改后的售后订单{}",orderDetail);
|
||||
|
||||
// 新增:处理客户同意上门重做方案
|
||||
if (param.getCustomerAgreeRedo() != null) {
|
||||
afterServiceRecord.setCustomerAgreeRedo(param.getCustomerAgreeRedo());
|
||||
afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
|
||||
log.info("客户同意上门重做方案状态已更新:{}", param.getCustomerAgreeRedo());
|
||||
return AjaxResult.success("客户同意方案状态已更新");
|
||||
}
|
||||
|
||||
// 新增:处理师傅重做/补做完成
|
||||
if (param.getWorkerFeedbackResult() != null && param.getWorkerFeedbackResult().equals(3L)) {
|
||||
afterServiceRecord.setWorkerFeedbackResult(3L);
|
||||
afterServiceRecord.setRedoCompleteTime(new Date());
|
||||
if (param.getRedoCompleteRemark() != null) {
|
||||
afterServiceRecord.setRedoCompleteRemark(param.getRedoCompleteRemark());
|
||||
}
|
||||
if (param.getRedoCompleteImages() != null) {
|
||||
afterServiceRecord.setRedoCompleteImages(param.getRedoCompleteImages());
|
||||
}
|
||||
afterServiceRecordMapper.updateAfterServiceRecord(afterServiceRecord);
|
||||
log.info("师傅重做/补做完成,记录ID:{},完成时间:{}", param.getId(), afterServiceRecord.getRedoCompleteTime());
|
||||
return AjaxResult.success("重做/补做完成状态已更新");
|
||||
}
|
||||
|
||||
if (param.getCustomerFinalCheck()!=null ) {
|
||||
// 师傅同意 且 客户同意退款
|
||||
//afterServiceRecord.setCustomerFinalCheck(1L);
|
||||
|
|
|
|||
|
|
@ -23,12 +23,17 @@
|
|||
<result property="remark" column="remark" />
|
||||
<result property="originalRefund" column="original_refund" />
|
||||
<result property="refundApplyTime" column="refund_apply_time" />
|
||||
<result property="customerAgreeRedo" column="customer_agree_redo" />
|
||||
<result property="redoCompleteTime" column="redo_complete_time" />
|
||||
<result property="redoCompleteRemark" column="redo_complete_remark" />
|
||||
<result property="redoCompleteImages" column="redo_complete_images" />
|
||||
</resultMap>
|
||||
|
||||
<sql id="selectAfterServiceRecordVo">
|
||||
select id, customer_reason_type, customer_reason, order_detail_id, oper_type, worker_feedback_result,
|
||||
worker_feedback_reason_type, worker_feedback_reason, refund, agreed_refund, original_refund,
|
||||
customer_final_check, create_by, create_time, update_by, update_time, remark, refund_apply_time
|
||||
customer_final_check, create_by, create_time, update_by, update_time, remark, refund_apply_time, customer_agree_redo,
|
||||
redo_complete_time, redo_complete_remark, redo_complete_images
|
||||
from after_service_record
|
||||
</sql>
|
||||
|
||||
|
|
@ -74,6 +79,10 @@
|
|||
<if test="refund != null">refund,</if>
|
||||
<if test="agreedRefund != null">agreed_refund,</if>
|
||||
<if test="customerFinalCheck != null">customer_final_check,</if>
|
||||
<if test="customerAgreeRedo != null">customer_agree_redo,</if>
|
||||
<if test="redoCompleteTime != null">redo_complete_time,</if>
|
||||
<if test="redoCompleteRemark != null">redo_complete_remark,</if>
|
||||
<if test="redoCompleteImages != null">redo_complete_images,</if>
|
||||
<if test="createBy != null">create_by,</if>
|
||||
<if test="updateBy != null">update_by,</if>
|
||||
<if test="remark != null">remark,</if>
|
||||
|
|
@ -90,6 +99,10 @@
|
|||
<if test="refund != null">#{refund},</if>
|
||||
<if test="agreedRefund != null">#{agreedRefund},</if>
|
||||
<if test="customerFinalCheck != null">#{customerFinalCheck},</if>
|
||||
<if test="customerAgreeRedo != null">#{customerAgreeRedo},</if>
|
||||
<if test="redoCompleteTime != null">#{redoCompleteTime},</if>
|
||||
<if test="redoCompleteRemark != null">#{redoCompleteRemark},</if>
|
||||
<if test="redoCompleteImages != null">#{redoCompleteImages},</if>
|
||||
<if test="createBy != null">#{createBy},</if>
|
||||
<if test="updateBy != null">#{updateBy},</if>
|
||||
<if test="remark != null">#{remark},</if>
|
||||
|
|
@ -112,6 +125,10 @@
|
|||
<if test="refund != null">refund = #{refund},</if>
|
||||
<if test="agreedRefund != null">agreed_refund = #{agreedRefund},</if>
|
||||
<if test="customerFinalCheck != null">customer_final_check = #{customerFinalCheck},</if>
|
||||
<if test="customerAgreeRedo != null">customer_agree_redo = #{customerAgreeRedo},</if>
|
||||
<if test="redoCompleteTime != null">redo_complete_time = #{redoCompleteTime},</if>
|
||||
<if test="redoCompleteRemark != null">redo_complete_remark = #{redoCompleteRemark},</if>
|
||||
<if test="redoCompleteImages != null">redo_complete_images = #{redoCompleteImages},</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>
|
||||
|
|
|
|||
Loading…
Reference in New Issue