GoodsReviewsLogic.php 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. <?php
  2. namespace app\api\logic;
  3. use app\common\logic\BaseLogic;
  4. use app\common\model\goods\Goods;
  5. use app\common\model\orders\RechargeOrder;
  6. use app\common\model\recharge\OrderGoods;
  7. use app\common\model\reviews\GoodsReviews;
  8. use app\common\model\works\ServiceWork;
  9. use think\facade\Db;
  10. /**
  11. * 服务商品评论逻辑处理
  12. * Class GoodsReviewsLogic
  13. * @package app\api\logic
  14. */
  15. class GoodsReviewsLogic extends BaseLogic
  16. {
  17. /**
  18. * @param $params
  19. * @return bool
  20. */
  21. public function add($params)
  22. {
  23. Db::startTrans();
  24. try {
  25. $work = ServiceWork::findOrEmpty($params['work_id'])->toArray();
  26. $goods_id = OrderGoods::whereIn('sn', RechargeOrder::where('work_id')->column('sn'))->value('goods_id');
  27. GoodsReviews::create([
  28. 'goods_id'=>$goods_id,
  29. 'goods_category_id'=>$work['goods_category_id'],
  30. 'user_id'=>$params['user_id'],
  31. 'nickname'=>$params['user_info']['nickname'],
  32. 'avatar'=>$params['user_info']['avatar'],
  33. 'rating'=>$params['rating'],
  34. 'comment'=>$params['comment'],
  35. 'review_image'=>$params['review_image']
  36. ]);
  37. Db::commit();
  38. return true;
  39. } catch (\Exception $e) {
  40. Db::rollback();
  41. self::setError($e->getMessage());
  42. return false;
  43. }
  44. }
  45. }