自学实前后端践项目2 phone Store 7

最后就是传递交互层前后端对接

1.创建文件夹controller

1)AddressHandler地址相关交互调用对接设置路径

package com.southwind2.phone_store_demo.controller;

import com.southwind2.phone_store_demo.exception.PhoneException;
import com.southwind2.phone_store_demo.from.AddressForm;
import com.southwind2.phone_store_demo.service.AddressService;
import com.southwind2.phone_store_demo.service.util.ResultVOUtil;
import com.southwind2.phone_store_demo.vo.ResultVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
@RestController
@RequestMapping("/address")
@Slf4j
public class AddressHandler {
    @Autowired
    private AddressService addressService;
    @GetMapping("/list")
    public ResultVO list(){
    return ResultVOUtil.success(addressService.findAll());
    }
    @PostMapping("/create")
    public ResultVO create(@Valid @RequestBody AddressForm addressForm, BindingResult bindingResult){
        if(bindingResult.hasErrors()){
            log.error("【添加地址】参数错误,addressForm={}",addressForm);
            throw new PhoneException(bindingResult.getFieldError().getDefaultMessage());
        }

        addressService.saveOrUpdate(addressForm);

        return ResultVOUtil.success(null);
    }
    @PutMapping("/update")
public ResultVO update(@Valid @RequestBody AddressForm addressForm,BindingResult bindingResult){
if (bindingResult.hasErrors()){
    log.error("【修改地址】参数错误,addressForm={}",addressForm);
    throw new PhoneException(bindingResult.getFieldError().getDefaultMessage());
    }
addressService.saveOrUpdate(addressForm);
return ResultVOUtil.success(null);
}
}
2)OrderHandler 订单相关交互调用对接设置路径
package com.southwind2.phone_store_demo.controller;

import com.southwind2.phone_store_demo.dto.OrderDTO;
import com.southwind2.phone_store_demo.exception.PhoneException;
import com.southwind2.phone_store_demo.from.OrderForm;
import com.southwind2.phone_store_demo.service.OderService;
import com.southwind2.phone_store_demo.service.PhoneService;
import com.southwind2.phone_store_demo.service.util.ResultVOUtil;
import com.southwind2.phone_store_demo.vo.ResultVO;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import java.util.HashMap;
import java.util.Map;

@RestController
@RequestMapping("/order")
@Slf4j
public class OrderHandler {
    @Autowired
    private OderService oderService;
    @PostMapping("/create")
    public ResultVO create(@Valid@RequestBody OrderForm orderForm, BindingResult bindingResult){
        if(bindingResult.hasErrors()){
            log.error("[创建订单]参数错误,orderForm={}",orderForm);
            throw new PhoneException(bindingResult.getFieldError().getDefaultMessage());
        }
        OrderDTO orderDTO=new OrderDTO();
        orderDTO.setBuyerName(orderForm.getName());
        orderDTO.setBuyerPhone(orderForm.getTel());
        orderDTO.setBuyerAddress(orderForm.getAddress());
        orderDTO.setSpecsId(orderForm.getSpecsId());
        orderDTO.setPhoneQuantity(orderForm.getQuantity());

       OrderDTO result = oderService.create(orderDTO);

        Map<String,String>map =new HashMap<>();
        map.put("orderId",result.getOrderId());

        return ResultVOUtil.success(map);
    }
    @GetMapping("/detail/{orderId}")
    public ResultVO findOrederDetail(@PathVariable("orderId") String orderId){
return ResultVOUtil.success(oderService.findOrderDetailByOrderId(orderId));
    }
    @PutMapping("/pay/{orderId}")
    public ResultVO pay(@PathVariable("orderId") String orderId){
     Map<String,String>map =new HashMap<>();
     map.put("orderId",oderService.pay(orderId));
     return ResultVOUtil.success(map);
    }
}

3)PhoneHandler 手机业务相关交互调用对接设置路径

package com.southwind2.phone_store_demo.controller;

import com.southwind2.phone_store_demo.service.PhoneService;
import com.southwind2.phone_store_demo.service.util.ResultVOUtil;
import com.southwind2.phone_store_demo.vo.ResultVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
@RequestMapping("/phone")
public class PhoneHandler {
    @Autowired
    private PhoneService phoneService;
    @GetMapping("/index")
    public ResultVO index(){
        return ResultVOUtil.success( phoneService.findDateVO());
    }
    @GetMapping("/findByCategoryType/{categoryType}")
    public ResultVO findByCategoryType(
            @PathVariable("categoryType") Integer categoryType ){
return ResultVOUtil.success(phoneService.findPhoneInfoVOByCategoryType(categoryType));
    }
    @GetMapping("/findSpecsByPhoneId/{phoneId}")
    public ResultVO findSpecsByPhoneId(
            @PathVariable("phoneId") Integer phoneId){
        return ResultVOUtil.success(phoneService.findSpecsByPhoneId(phoneId));
    }
}
到这里项目就全部写完

下章进行上面业务的主要测试实现类

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值