当前位置: 首页 > news >正文

如何做房产公司网站wordpress模板数据

如何做房产公司网站,wordpress模板数据,网站建设意向表,wordpress开启xml rpc文章目录 1、确认下单#xff1a;购物车页面点击去结算1.1、在OrderController类中创建 trade 方法1.2、在CartController类中创建 checkedCartInfos1.3、CartServiceImpl 实现 checkedCartInfos的业务功能1.4、在service-cart-client模块下定义远程openFeign接口1.5、在SpzxO… 文章目录 1、确认下单购物车页面点击去结算1.1、在OrderController类中创建 trade 方法1.2、在CartController类中创建 checkedCartInfos1.3、CartServiceImpl 实现 checkedCartInfos的业务功能1.4、在service-cart-client模块下定义远程openFeign接口1.5、在SpzxOrderApplication类上加上EnableFeignClients1.6、OrderServiceImpl 实现 trade的业务逻辑1.7、此时启动 SpzxOrderApplication 2、 openFeign拦截器使用2.1、使用feign拦截器拦截请求获取token重新传递token2.1.1、CartClientInterceptor2.1.2、EnableCartClientConfig2.1.3、SpzxOrderApplication 1、确认下单购物车页面点击去结算 点击去结算这个按钮会发起一个请求这个请求是trade然后展示我们要购买的商品和商品的总金额 1.1、在OrderController类中创建 trade 方法 RestController Tag(name 订单管理模块, description 订单管理模块) RequestMapping(/api/order/orderInfo) public class OrderController {Resourceprivate OrderService orderService;//查询购物车中选中的购物项列表 转为 orderItem 列表交给前端展示Operation(summary 确认下单购物车页面点击去结算)GetMapping(/auth/trade)public Result trade() {TradeVo tradeVo orderService.trade();return Result.ok(tradeVo);} }1.2、在CartController类中创建 checkedCartInfos RestController RequestMapping(/api/order/cart) Tag(name 购物车模块) public class CartController {//只要请求头中携带token不需要再传用户idOperation(summary 查询用户购物车已选中购物项列表)GetMapping(/auth/checkedCartInfos)public Result checkedCartInfos(){ListCartInfo cartInfos cartService.checkedCartInfos();return Result.ok(cartInfos);} }1.3、CartServiceImpl 实现 checkedCartInfos的业务功能 Service public class CartServiceImpl implements CartService {Resourceprivate RedisTemplate redisTemplate;private BoundHashOperations getUserCart() {UserInfo userInfo SpzxServiceAuthInterceptor.THREAD_LOCAL.get();BoundHashOperations ops redisTemplate.boundHashOps(spzx:cart: userInfo.getId());return ops;}Overridepublic ListCartInfo checkedCartInfos() {//泛型1redis键类型泛型2hash的key类型 泛型3hash的value的类型BoundHashOperationsString,String,CartInfo userCart getUserCart();return userCart.values().stream().filter(cartInfo - cartInfo.getIsChecked()1).toList();} }1.4、在service-cart-client模块下定义远程openFeign接口 FeignClient(value service-cart) public interface CartClient {GetMapping(/api/order/cart/auth/checkedCartInfos)public ResultListCartInfo checkedCartInfos();DeleteMapping(/api/order/cart/auth/delCheckedCartInfos)public ResultVoid delCheckedCartInfos(); } 1.5、在SpzxOrderApplication类上加上EnableFeignClients SpringBootApplication EnableSpzxServiceAuth EnableFeignClients(basePackages com.atguigu.spzx) EnableCartClientConfig MapperScan(basePackages com.atguigu.spzx.order.mapper) EnableTransactionManagement public class SpzxOrderApplication {public static void main(String[] args){SpringApplication.run(SpzxOrderApplication.class,args);} }1.6、OrderServiceImpl 实现 trade的业务逻辑 Service public class OrderServiceImpl extends ServiceImplOrderMapper, OrderInfo implements OrderService {Resourceprivate CartClient cartClient;Resourceprivate StringRedisTemplate stringRedisTemplate;Overridepublic TradeVo trade() {//1、查询 当前用户 的购物车中已选中的购物项列表(cart服务管理购物车数据)ResultListCartInfo cartInfos cartClient.checkedCartInfos();if (cartInfos.getCode() ! 200) {throw new SpzxException(ResultCodeEnum.FAIL,null);}ListCartInfo cartInfoList cartInfos.getData();if (CollectionUtils.isEmpty(cartInfoList)) {//没有已选中的购物项throw new SpzxException(ResultCodeEnum.FAIL,null);}Long token IdUtil.getSnowflake(1,1).nextId();//将token存到redisredis的大key问题stringRedisTemplate.opsForValue().set(spzx:order:token.toString(), 1, 30, TimeUnit.MINUTES);//2、将购物项列表转为 OrderItem列表ListOrderItem orderItemList cartInfoList.stream().map(cartInfo - {OrderItem orderItem new OrderItem();orderItem.setOrderId(token);orderItem.setSkuId(cartInfo.getSkuId());orderItem.setSkuName(cartInfo.getSkuName());orderItem.setSkuNum(cartInfo.getSkuNum());orderItem.setSkuPrice(cartInfo.getCartPrice());orderItem.setThumbImg(cartInfo.getImgUrl());return orderItem;}).toList();TradeVo tradeVo new TradeVo();tradeVo.setOrderItemList(orderItemList);//遍历每一个订单项计算它的小计金额返回//最后对所有小计金额累加 得到总金额tradeVo.setTotalAmount(orderItemList.stream().map(orderItem - {return orderItem.getSkuPrice().multiply(new java.math.BigDecimal(orderItem.getSkuNum()));}).reduce(BigDecimal::add).get());return tradeVo;} }1.7、此时启动 SpzxOrderApplication -点击 购物车页面的 去结算按钮 发现报错NullPointerException java.lang.NullPointerException: Cannot invoke com.atguigu.spzx.model.entity.user.UserInfo.getId() because the return value of com.atguigu.spzx.common.util.AuthContextUtil.getUserInfo() is nullat com.atguigu.spzx.cart.service.impl.CartServiceImpl.getAllCkecked(CartServiceImpl.java:147)2、 openFeign拦截器使用 2.1、使用feign拦截器拦截请求获取token重新传递token 针对service-cart微服务是获取不到当前登录用户的信息。原因service-order微服务调用service-cart微服务的时候是通过openFeign进行调用openFeign在调用的时候会丢失请求头 2.1.1、CartClientInterceptor Component public class CartClientInterceptor implements RequestInterceptor {Overridepublic void apply(RequestTemplate requestTemplate) {//1、获取引入cartClient模块的 项目 在使用cartClient时 请求报文中的tokenServletRequestAttributes requestAttributes (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();HttpServletRequest request requestAttributes.getRequest();String token request.getHeader(token);//2、将token设置到feign客户端的请求报文中requestTemplate.header(token, token);} }现在订单服务无法使用feign拦截器因为这个组件类放到了com.atguigu.spzx.cart.interceptor下面订单服务扫描不到如果我们想启用它可以创建注解然后把注解加到订单服务的启动类上面 2.1.2、EnableCartClientConfig Target({ElementType.TYPE}) Retention(java.lang.annotation.RetentionPolicy.RUNTIME) Documented Import(value {CartClientInterceptor.class}) public interface EnableCartClientConfig { }2.1.3、SpzxOrderApplication SpringBootApplication EnableSpzxServiceAuth EnableFeignClients(basePackages com.atguigu.spzx) EnableCartClientConfig MapperScan(basePackages com.atguigu.spzx.order.mapper) EnableTransactionManagement public class SpzxOrderApplication {public static void main(String[] args){SpringApplication.run(SpzxOrderApplication.class,args);} }
http://www.hkea.cn/news/14511775/

相关文章:

  • 东营市建设工程管理信息网深圳网站seo优化公司
  • 网站开发公众号开发广州网页制作
  • 建设企业网站需要使用哪些技术Wordpress分享到微信图标
  • 同城换物网站为什么做不起来网站如何申请
  • 哪个行业建设网站的需求多杭州网站运营
  • 网站之家查询域名网络投票怎么做
  • 怎样建设打字网站无锡效果图制作
  • 网站域名查询ip创建大型网站
  • 西安网站策划设计企业管理系统咨询
  • 英文网站设计理念建筑工程的公司
  • 为什么做电子商务网站的原因赣州住房建设部网站
  • 长春财经学院宿舍图片佛山seo优化
  • 外汇申报在哪个网站上做响水做网站找哪家好
  • 仓储物流网站建设自己电脑上做网站
  • 建设网站要多少费用购物网站 app
  • 重庆网站建设 快速建站可信网站认证logo
  • 医院网站建设方案策划书网站开发英文论文
  • 山东济南网站建设怎么弄一个网站
  • 网站开发要学什么搜索网站的方法
  • 企业网站推广属于付费推广吗做网站还要做点手机吗
  • 城市建设灯具网站免费商标logo在线制作软件
  • 模板建站小程序公司和公司网站的关系
  • 沈阳网站建设定制怎么做seo关键词优化
  • 网站开发 职位百度怎么做自己的网站
  • 科技 网站建设做美食有哪些网站
  • 做宣传网站的公司网站的汉化包怎么做
  • 哪些网站可以做go注释学校招聘教师网站建设
  • 杭州专业做网站的公司怎么开个网站
  • 接网站建设单子的网站设计网页机构
  • 做电商网站的公司怎样建手机网站