Merge pull request 'dev' (#1) from dev into master

Reviewed-on: #1
This commit is contained in:
mkm 2023-09-11 11:43:53 +08:00
commit e3479383a9
157 changed files with 684 additions and 64 deletions

View File

@ -29,7 +29,8 @@ class StoreCartDao extends BaseDao
const SOURCE_STORE_CLOUD = 101; //店铺内云商品
const SOURCE_CLOUD = 102; //云仓内店铺商品
const SOURCE_COMMUNITY_RESALE = 201; //转售商品
const SOURCE_COMMUNITY_RESALE = 201; //转售商品
const SOURCE_COMMUNITY_ENTRUST = 202; //委托商品
protected function getModel(): string
{

View File

@ -0,0 +1,42 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\common\dao\system;
use app\common\dao\BaseDao;
use app\common\model\BaseModel;
use app\common\model\system\AppUpdate;
use think\db\exception\DbException;
/**
* Class AppUpdateDao
* @package app\common\dao\system
* @author xaboy
* @day 2020-04-24
*/
class AppUpdateDao extends BaseDao
{
/**
* @return BaseModel
* @author xaboy
* @day 2020-03-30
*/
protected function getModel(): string
{
return AppUpdate::class;
}
}

View File

@ -16,6 +16,7 @@ namespace app\common\model\community;
use app\common\model\BaseModel;
use app\common\model\store\product\Spu;
use app\common\model\store\Resale;
use app\common\model\store\Entrust;
use app\common\model\system\Relevance;
use app\common\model\user\User;
use app\common\repositories\system\RelevanceRepository;
@ -177,4 +178,9 @@ class Community extends BaseModel
return $this->hasMany(Resale::class, 'community_id','community_id');
}
public function entrust()
{
return $this->hasMany(Entrust::class, 'community_id','community_id');
}
}

View File

@ -155,7 +155,7 @@ class StoreCart extends BaseModel
'activity_id' => $this->source_id,
'product_type' => $this->product_type,
];
if ($this->product_type == 98) {
if ($this->product_type == 98 || $this->product_type == 99) {
$where['product_id'] = $this->product_id;
}
} else {

View File

@ -43,6 +43,7 @@ class Product extends BaseModel
const TYPE_NORMAL = 0; //普通商品
const TYPE_PURCHASE = 98; //采购商品
const TYPE_ENTRUST = 99; //委托商品
/**
* @Author:Qinii

View File

@ -0,0 +1,20 @@
<?php
namespace app\common\model\system;
use app\common\model\BaseModel;
class AppUpdate extends BaseModel
{
public static function tablePk(): string
{
return 'id';
}
public static function tableName(): string
{
return 'app_update';
}
}

View File

@ -768,6 +768,55 @@ class CommunityRepository extends BaseRepository
}
}
/**
* 委托商品加入购物车
* @param $uid
* @param $id
* @return array
*/
public function addEntrustCart($uid, $id)
{
$where = [
$this->dao->getPk() => $id,
'is_del' => 0
];
$community = $this->dao->getSearch($where)->with('entrust')->find()->toArray();
if (empty($community) || $community['is_sale'] != 0) {
throw new ValidateException('委托数据不存在或已售出');
}
if (empty($community['entrust'])) {
throw new ValidateException('委托数据不存在');
}
StoreCart::startTrans();
try {
/** @var StoreCartRepository $cartRepo */
$cartRepo = app()->make(StoreCartRepository::class);
$cartIds = [];
foreach ($community['entrust'] as $item) {
$data = [
'uid' => $uid,
'mer_id' => $item['mer_id'],
'product_type' => 99,
'product_id' => $item['product_id'],
'product_attr_unique' => $item['product_attr_unique'],
'cart_num' => $item['number'],
'source' => StoreCartDao::SOURCE_COMMUNITY_ENTRUST,
'source_id' => $community['community_id'],
];
$cart = $cartRepo->create($data);
$cartIds[] = $cart['cart_id'];
}
if (empty($cartIds)) {
throw new ValidateException('加入购物车出错');
}
StoreCart::commit();
return $cartIds;
} catch (\Exception $exception) {
StoreCart::rollback();
throw new ValidateException('下单出错');
}
}
public function saleOrCancel($id, $status = 1)
{
$where = [

View File

@ -68,6 +68,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
//虚拟订单自定义数据
$order_extend = [];
//检查商品类型, 活动商品只能单独购买
foreach ($merchantCartList as $merchantCart) {
foreach ($merchantCart['list'] as $cart) {
if ($cart['product_type']==0) {
@ -83,7 +84,6 @@ class StoreOrderCreateRepository extends StoreOrderRepository
throw new ValidateException('[超出限购总数:'. $cart['product']['once_max_count'].']'.mb_substr($cart['product']['store_name'],0,10).'...');
}
}
if ($cart['product_type'] > 0) $order_type = $cart['product_type'];
if ($cart['product_type']<=97 &&$cart['product_type'] > 0 && (($cart['product_type'] != 10 && count($merchantCart['list']) != 1) || count($merchantCartList) != 1)) {
throw new ValidateException('活动商品必须单独购买');
@ -97,8 +97,8 @@ class StoreOrderCreateRepository extends StoreOrderRepository
}
}
}
if ($order_type == 98 && count($merchantCartList) > 1) {
throw new ValidateException('采购商品不支持跨店购买');
if (($order_type == 98 || $order_type == 99) && count($merchantCartList) > 1) {
throw new ValidateException('采购、委托商品不支持跨店购买');
}
$community = [];
if ($order_type == 98) {
@ -138,7 +138,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
}
$orderDeliveryStatus = true;
$order_svip_discount = 0;
// 循环计算每个店铺的订单数据
// 循环计算每个店铺的订单数据 委托商品是否设置收货方式 ?
foreach ($merchantCartList as &$merchantCart) {
if ($order_type == 98 && !empty($deliverMethodArray)) {
$merchantCart['delivery_way'] = $deliverMethodArray;
@ -172,7 +172,6 @@ class StoreOrderCreateRepository extends StoreOrderRepository
$product_cart = [];
foreach ($merchantCart['list'] as $k => $cart) {
//处理转售送货方式
if ($order_type == 98) {
$merchantCart['list'][$k]['product']['delivery_way'] = $cart['product']['delivery_way'] = $deliverMethod ?? '';
}
@ -247,7 +246,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
}
$svip_discount = 0;
$realPrice = $this->cartByPrice($cart);
if ($cart['product_type'] == 98) {
if ($cart['product_type'] == 98 || $cart['product_type'] == 99) {
$cart['product']['price'] = $realPrice;
$cart['productAttr']['price'] = $realPrice;
$cart['productAttr']['stock'] = $cart['cart_num'];
@ -961,7 +960,7 @@ class StoreOrderCreateRepository extends StoreOrderRepository
if ($orderType == 0 && $pay_type == StoreGroupOrder::PAY_TYPE_CREDIT_BUY) {
throw new ValidateException('该商品不支持先货后款');
}
if (!in_array($orderType, [0, 98]) && (count($orderInfo['order']) > 1 || ($orderType != 10 && count($orderInfo['order'][0]['list']) > 1))) {
if (!in_array($orderType, [0, 98, 99]) && (count($orderInfo['order']) > 1 || ($orderType != 10 && count($orderInfo['order'][0]['list']) > 1))) {
throw new ValidateException('活动商品请单独购买');
}
@ -986,8 +985,8 @@ class StoreOrderCreateRepository extends StoreOrderRepository
}
}
}
if ($orderType == 98 && count($merchantCartList) > 1) {
throw new ValidateException('采购商品不支持跨店购买');
if (($orderType == 98 || $orderType == 99) && count($merchantCartList) > 1) {
throw new ValidateException('采购、委托商品不支持跨店购买');
}
if ($hasTake) {
app()->make(UserAddressValidate::class)->scene('take')->check($post);

View File

@ -18,6 +18,7 @@ use app\common\model\store\order\StoreOrderInterest;
use app\common\model\store\order\StoreRefundOrder;
use app\common\model\store\product\PurchaseRecord;
use app\common\model\user\User;
use app\common\model\system\merchant\Merchant;
use app\common\repositories\BaseRepository;
use app\common\repositories\delivery\DeliveryOrderRepository;
use app\common\repositories\store\coupon\StoreCouponRepository;
@ -248,6 +249,17 @@ class StoreOrderRepository extends BaseRepository
//更新助力状态
app()->make(ProductAssistSetRepository::class)->changStatus($order->orderProduct[0]['activity_id']);
}
//更新委托订单处理
if ($order->activity_type == 99) {
$cartIdArray = explode(',', $order->cart_id);
$ecartList = Db::name('store_cart')->whereIn('cart_id', $cartIdArray)->select();
foreach($ecartList as $ecart) {
if (!empty($ecart['source_id'])) {
Db::name('community')->where('community_id', $ecart['source_id'])->update(['entrust_order_id' => $order->order_id ?? 0]);
}
}
}
// 订单的类型 0 发货 1 自提
if ($order->order_type == 1 && $order->status != 10)
{
@ -540,6 +552,18 @@ class StoreOrderRepository extends BaseRepository
} else {
return $cart['productAttr']['price'];
}
// 更新委托价格
} else if ($cart['product_type'] == '99') {
if ($cart['source_id'] > 0) {
$price = Db::name('entrust')->where('community_id', $cart['source_id'])->where('product_attr_unique', $cart['product_attr_unique'])->where('status', 0)->value('price');
if ($price) {
return $price;
} else {
throw new ValidateException('委托商品数据异常');
}
} else {
return $cart['productAttr']['price'];
}
} else {
return $cart['productAttr']['price'];
}
@ -563,6 +587,14 @@ class StoreOrderRepository extends BaseRepository
} else {
return $cart['productAttr']['price'];
}
// 更新委托价格
} else if ($cart['product_type'] == '99') {
$price = Db::name('entrust')->where('product_attr_unique', $cart['product_attr_unique'])->where('status', 0)->value('price');
if ($price) {
return $price;
} else {
return $cart['productAttr']['price'];
}
} else {
return $cart['productAttr']['price'];
}
@ -586,10 +618,10 @@ class StoreOrderRepository extends BaseRepository
*/
public function userOrderNumber(int $uid, $product_type=0)
{
//activity_type0普通订单 98 采购订单
//activity_type0普通订单 98采购订单 99委托商品
//$noPay = app()->make(StoreGroupOrderRepository::class)->orderNumber($uid, $product_type);
$isUser = 1;
if ($product_type == 98) {
if ($product_type == 98 || $product_type == 99) {
$isUser = 0;
}
$noPay = $this->dao->search(['uid' => $uid, 'is_user' => $isUser])->where($this->getOrderType(1))->whereRaw("(StoreOrder.paid=0 and StoreOrder.pay_type!=8) or (StoreOrder.paid=1 and StoreOrder.pay_type=8 and StoreOrder.status=2)")->where('activity_type', $product_type)->where('StoreOrder.is_del', 0)->fetchSql(false)->count();
@ -2458,9 +2490,11 @@ class StoreOrderRepository extends BaseRepository
$mer_cate['level']=1;
$mer_cate_id=Db::name('store_category')->insertGetId($mer_cate);
}
$type=Db::name('merchant')->where('mer_id',$merId)->value('type_id');
// $type=Db::name('merchant')->where('mer_id',$merId)->value('type_id');
$typeCode=Db::name('merchant_type')->where('mer_type_id',$merId)->value('type_code');
$product_type=0;
if ($type==12){
// if ($type==12){
if ($typeCode==Merchant::TypeCode['TypeSupplyChain']){
$product_type=98;//供应链
}
foreach ($data as $datum) {

View File

@ -240,9 +240,9 @@ class ProductRepository extends BaseRepository
$settleParams = $this->setAttrValue($data, $result->product_id, $productType, 0,$data['mer_id']);
$settleParams['cate'] = $this->setMerCate($data['mer_cate_id'], $result->product_id, $data['mer_id']);
$settleParams['attr'] = $this->setAttr($data['attr'], $result->product_id);
if (in_array($productType, [0, 98])) app()->make(ParameterValueRepository::class)->create($result->product_id, $data['params'] ?? [],$data['mer_id']);
if (in_array($productType, [0, 98, 99])) app()->make(ParameterValueRepository::class)->create($result->product_id, $data['params'] ?? [],$data['mer_id']);
$this->save($result->product_id, $settleParams, $content,$product,$productType);
if (in_array($productType, [0, 1,98])) {
if (in_array($productType, [0, 1, 98, 99])) {
if ($productType == 1) { //秒杀商品
$dat = $this->setSeckillProduct($data);
$dat['product_id'] = $result->product_id;
@ -316,7 +316,7 @@ class ProductRepository extends BaseRepository
$settleParams['attr'] = $this->setAttr($data['attr'], $id);
$data['price'] = $settleParams['data']['price'];
unset($data['attrValue'],$data['attr'],$data['mer_cate_id']);
$ret = Spu::getInstance()->where('product_id', $id)->whereIn('product_type',[0, 98])->find();
$ret = Spu::getInstance()->where('product_id', $id)->whereIn('product_type',[0, 98, 99])->find();
Db::transaction(function () use ($id, $data, $settleParams,$ret) {
$this->save($id, $settleParams, null, [], 0);
app()->make(SpuRepository::class)->update($ret->spu_id,['price' => $data['price']]);
@ -799,7 +799,7 @@ class ProductRepository extends BaseRepository
break;
}
if ($productType == 0) {
$where[] = empty($merId) ? ['product_type', 'in', [0, 98]] : ['product_type', 'in', [0]];
$where[] = empty($merId) ? ['product_type', 'in', [0, 98, 99]] : ['product_type', 'in', [0]];
if (!$merId) $where['is_gift_bag'] = 0;
}
if ($productType == 1) {
@ -1170,6 +1170,7 @@ class ProductRepository extends BaseRepository
switch ($res['product_type']) {
case 0:
case 98:
case 99:
$append[] = 'max_integral';
$append[] = 'show_svip_info';
break;
@ -2171,6 +2172,7 @@ class ProductRepository extends BaseRepository
{
case 0:
case 98:
case 99:
return $this->apiProductDetail(['product_id' => $data['id']], $data['product_type'], 0);
break;
case 1:
@ -2314,7 +2316,7 @@ class ProductRepository extends BaseRepository
$stockIn = $params['number'] ?? 0;
$price = $params['price'] ?? 0;
if (!empty($params['order_id'])) {
//采购订单导入
//采购、委托订单导入
$orderMerId = StoreOrder::where('order_id', $params['order_id'])->value('mer_id');
$orderProduct = StoreOrderProduct::where('order_id', $params['order_id'])->where('product_id', $params['order_product_id'])->where('product_sku', $params['order_unique'])->find();
if (empty($orderProduct) || $orderProduct->is_imported == 1) {
@ -2323,6 +2325,10 @@ class ProductRepository extends BaseRepository
$stockIn = $orderProduct['product_num'] ?? 0;
$price = $orderProduct['product_price'] ?? 0;
$supplierMerId = $orderMerId ?? 0;
// 如果是委托商品入库后就成为供应链商家的采购类型商品
if ($orderProduct['product_type'] == 99) {
$product->product_type = 98;
}
}
if ($stockIn <= 0) {
throw new ValidateException('入库数量不能小于等于0');
@ -2374,7 +2380,7 @@ class ProductRepository extends BaseRepository
}
$find = Db::name('store_product')->where('product_id', $product_id)->find();
if ($find) {
if (!in_array($find['product_type'], [0, 98])) {
if (!in_array($find['product_type'], [0, 98, 99])) {
throw new ValidateException('该商品不是普通商品');
}
$exist = Db::name('store_product')->where('source_product_id', $product_id)->where('mer_id', $mer_id)->find();

View File

@ -281,6 +281,7 @@ class SpuRepository extends BaseRepository
switch ($productType) {
case 0:
case 98:
case 99:
$where = [
'activity_id' => 0,
'product_id' => $id,
@ -379,14 +380,14 @@ class SpuRepository extends BaseRepository
}
$ret = $make->getWhere(['product_id' => $where['product_id']]);
if (!$ret || $ret['status'] !== 1 || $ret['mer_status'] !== 1 || $ret['is_del']) $status = 0;
if (in_array($productType, [0, 1,98]) && ($ret['is_show'] !== 1 || $ret['is_used'] !== 1)) $status = 0;
if (in_array($productType, [0, 1, 98, 99]) && ($ret['is_show'] !== 1 || $ret['is_used'] !== 1)) $status = 0;
$result = $this->dao->getSearch($where)->find();
if (!$result && $ret) $result = $this->create($ret->toArray(), $where['product_id'], $where['activity_id'], $productType);
if ($result) $this->dao->update($result['spu_id'], ['status' => $status]);
if ($status == 1 && in_array($productType, [0, 98])) {
if ($status == 1 && in_array($productType, [0, 98, 99])) {
Queue(SendSmsJob::class, ['tempId' => 'PRODUCT_INCREASE', 'id' => $id]);
}
if (in_array($productType, [0, 98])) Queue::push(SyncProductTopJob::class,[]);
if (in_array($productType, [0, 98, 99])) Queue::push(SyncProductTopJob::class,[]);
return true;
} catch (\Exception $exception) {
Log::info($exception->getMessage());
@ -464,6 +465,7 @@ class SpuRepository extends BaseRepository
switch ($productType) {
case 0:
case 98:
case 99:
$where = [
'activity_id' => 0,
'product_id' => $id,

View File

@ -0,0 +1,43 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\common\repositories\system;
use app\common\dao\system\AppUpdateDao;
use app\common\repositories\BaseRepository;
use think\db\exception\DbException;
use think\exception\ValidateException;
use think\facade\Cache;
/**
* Class LhappRepository
* @package app\common\repositories\system
* @author xaboy
* @day 2020-04-24
* @mixin CacheDao
*/
class LhappRepository extends BaseRepository
{
/**
* CacheRepository constructor.
* @param CacheDao $dao
*/
public function __construct(AppUpdateDao $dao)
{
$this->dao = $dao;
}
}

View File

@ -85,6 +85,7 @@ class MerchantCategoryRepository extends BaseRepository
Elm::input('category_name', '分类名称')->required(),
Elm::number('commission_rate', '手续费(%)', 0)->required()->max(100)->precision(2),
Elm::frameImage('background', '背景图', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=background&type=1')->width('896px')->height('480px')->props(['footer' => false])->modal(['modal' => false, 'custom-class' => 'suibian-modal']),
Elm::frameImage('cover', '主图', '/' . config('admin.admin_prefix') . '/setting/uploadPicture?field=cover&type=1')->width('896px')->height('480px')->props(['footer' => false])->modal(['modal' => false, 'custom-class' => 'suibian-modal']),
Elm::textarea('description', '简介')->required(),
]);

View File

@ -64,6 +64,7 @@ class JgPush
}
break;
case 'MERCHANT_CREDIT_BUY_NOTICE':
// 委托商品是否需要提醒信息
$route = "/pages/order_details/stay?order_id={$data['orderId']}&product_type=98";
$merUserId = Merchant::where('mer_id', $data['id'])->value('uid');
$jgRegisterId = User::where('uid', $merUserId)->value('jg_register_id');

View File

@ -0,0 +1,34 @@
<?php
// +----------------------------------------------------------------------
// | CRMEB [ CRMEB赋能开发者助力企业发展 ]
// +----------------------------------------------------------------------
// | Copyright (c) 2016~2022 https://www.crmeb.com All rights reserved.
// +----------------------------------------------------------------------
// | Licensed CRMEB并不是自由软件未经许可不能去掉CRMEB相关版权
// +----------------------------------------------------------------------
// | Author: CRMEB Team <admin@crmeb.com>
// +----------------------------------------------------------------------
namespace app\controller\admin\system;
use app\common\repositories\system\LhappRepository;
use crmeb\basic\BaseController;
use think\App;
class Lhapp extends BaseController
{
/**
* @var LhappRepository
*/
protected $repository;
/**
* CacheRepository constructor.
* @param App $app
*/
public function __construct(App $app, LhappRepository $repository)
{
parent::__construct($app);
$this->repository = $repository;
}
}

View File

@ -102,7 +102,7 @@ class Merchant extends BaseController
if (!empty($data['mer_phone'])) {
$newUid = Db::name('User')->where('account', $data['mer_phone'])->value('uid', 0);
if ($newUid) {
return app('json')->fail('该商家手机号已存在账户,请更换手机');
//return app('json')->fail('该商家手机号已存在账户,请更换手机');
}
}
$this->repository->createMerchant($data);
@ -152,7 +152,7 @@ class Merchant extends BaseController
$newUid = Db::name('User')->where('account', $data['mer_phone'])->value('uid', -1);
$merId = Db::name('Merchant')->where('uid', $newUid)->value('mer_id', 0);
if ($newUid != -1 && $id != $merId) {
return app('json')->fail('该商家手机号已存在账户,请更换手机');
//return app('json')->fail('该商家手机号已存在账户,请更换手机');
}
unset($data['mer_account'], $data['mer_password']);
$margin = $this->repository->checkMargin($id, $data['type_id']);

View File

@ -154,7 +154,7 @@ class MerchantCategory extends BaseController
*/
public function checkParams(MerchantCategoryValidate $validate)
{
$data = $this->request->params(['category_name', ['commission_rate', 0], 'background', 'description']);
$data = $this->request->params(['category_name', ['commission_rate', 0], 'background', 'cover', 'description']);
$validate->check($data);
return $data;
}

View File

@ -207,13 +207,18 @@ class Auth extends BaseController
// 这里有点小问题以后要修改
$store_service = Db::name('store_service')->where('uid', $data['uid'])->find();
if ($store_service) {
$mer_arr = Db::name('merchant')->where('mer_id', $store_service['mer_id'])->where('is_del', 0)->field('type_id,mer_avatar,mer_banner,mer_info,category_id,service_phone,mer_address,uid,mer_name')->find();
$mer_arr = Db::name('merchant')->where('mer_id', $store_service['mer_id'])->where('is_del', 0)->field('type_id,mer_avatar,mer_banner,mer_info,category_id,service_phone,mer_address,uid,mer_name,create_time,update_time')->find();
if ($mer_arr && $mer_arr['mer_avatar'] != '' && $mer_arr['mer_banner'] != '' && $mer_arr['mer_info'] && $mer_arr['service_phone'] != '' && $mer_arr['mer_address'] != '') {
$data['is_wsxx'] = 1;
}
$data['mer_info'] = $mer_arr;
$typCode = Db::name('merchant_type')->where('mer_type_id', $mer_arr['type_id'] ?? 0)->value('type_code');
$data['mer_info']['type_code'] = $typCode;
if ($mer_arr['create_time'] == $mer_arr['update_time']) {
$data['mer_info']['setup_status'] = 0;
} else {
$data['mer_info']['setup_status'] = 1;
}
}
$data['fan_num'] = app()->make(RelevanceRepository::class)->getUserFans($user->uid, 1, 1, 1);
$data['focus_num'] = app()->make(RelevanceRepository::class)->getUserFocus($user->uid, 1, 1, 1);
@ -1291,6 +1296,7 @@ class Auth extends BaseController
}
return app('json')->success([]);
}
//根据street_id获取商户信息
public function regionMerchant($street_id)
{

View File

@ -501,7 +501,7 @@ class Common extends BaseController
->where('m.status',1)
->where('m.street_id',$street_code)
->join('merchant_category c','m.category_id=c.merchant_category_id')
->field('m.mer_id,category_id,category_name,c.background,c.description')->select();
->field('m.mer_id,category_id,category_name,c.background,c.cover,c.description')->select();
return app('json')->success($find??[]);
}
}

View File

@ -63,7 +63,7 @@ class Community extends BaseController
$where = $this->request->params(['keyword','topic_id','is_hot','category_id','spu_id', 'is_type', 'resale_type']);
if (!$where['category_id']) {
unset($where['category_id']);
} else if ($where['category_id'] == -1) {
} else if ($where['category_id'] == -1) {
$where['is_type'] = $this->repository::COMMUNIT_TYPE_VIDEO;
unset($where['category_id']);
}
@ -292,7 +292,22 @@ class Community extends BaseController
$data['status_time'] = date('Y-m-d H:i:s', time());
}
if (!$data['video_link']) throw new ValidateException('请上传视频');
} elseif ($data['is_type'] == 4) {
if (empty($data['entrust_mer_id']) || empty($data['entrust_day'])) {
throw new ValidateException('供应链商家及委托天数不能为空');
}
$merchantInfo = Db::name('merchant')->where('uid', $this->request->uid())->find();
if ($data['entrust_mer_id'] == $merchantInfo['mer_id']) {
throw new ValidateException('委托商家不能选择自己');
}
if ($merchantInfo['credit_buy'] && ($data['entrust_day'] < $merchantInfo['settle_cycle'])) {
throw new ValidateException('委托天数不能小于结算周期');
}
if (!$merchantInfo['credit_buy'] && ($data['entrust_day'] < 15 || $data['entrust_day'] > 90)) {
throw new ValidateException('委托天数区间范围[15-90]天');
}
}
$data['content'] = filter_emoji($data['content']);
MiniProgramService::create()->msgSecCheck($this->request->userInfo(), $data['content'],3,0);
app()->make(CommunityValidate::class)->check($data);
@ -461,6 +476,20 @@ class Community extends BaseController
return app('json')->success(['cart_id' => $cartIds]);
}
/**
* 委托商品加购
* @return mixed
* @throws \think\db\exception\DataNotFoundException
* @throws \think\db\exception\DbException
* @throws \think\db\exception\ModelNotFoundException
*/
public function addEntrustCart()
{
$communityId = $this->request->param('community_id');
$cartIds = $this->repository->addEntrustCart($this->request->uid(), $communityId);
return app('json')->success(['cart_id' => $cartIds]);
}
/**
* 转售商品列表
* @return mixed
@ -548,7 +577,10 @@ class Community extends BaseController
return app('json')->fail('请设置审核状态');
}
if ($status == 1) {
Db::name('community')->where('uid', $this->request->uid())->where('community_id', $id)->where('is_del', 0)->update(['status' => $status, 'mer_status' => 1]);
$res = Db::name('community')->where('uid', $this->request->uid())->where('community_id', $id)->where('is_del', 0)->update(['status' => $status, 'mer_status' => 1]);
if (!$res) {
return app('json')->fail('审核失败');
}
}
if ($status == 2) {
Db::startTrans();
@ -559,7 +591,7 @@ class Community extends BaseController
Db::name('store_product_attr_value')->where('product_id', $prod['product_id'])->where('unique', $prod['product_attr_unique'])->inc('stock', $prod['number'])->update();
}
Db::name('resale')->where('community_id', $id)->where('status', 0)->update(['is_del' => 1]);
Db::name('community')->where('uid', $this->request->uid())->where('community_id', $id)->where('is_del', 0)->update(['is_del' => 1, 'status' => -1, 'mer_status' => 2]);
Db::name('community')->where('uid', $this->request->uid())->where('community_id', $id)->where('is_del', 0)->update(['status' => -1, 'mer_status' => 2]);
Db::commit();
} catch (\Exception $e) {
Db::rollback();
@ -637,27 +669,34 @@ class Community extends BaseController
*/
public function checkEntrust($id)
{
$communityInfo = Db::name('community')->where('community_id', $id)->where('is_del', 0)->find();
$communityInfo = Db::name('community')->where('community_id', $id)->where('is_del', 0)->where('mer_status', 0)->find();
if (!$communityInfo) {
return app('json')->fail('委托商品不存在');
}
if ($communityInfo['mer_status'] > 0) {
return app('json')->fail('该委托商品已审核');
}
$merchantId = Db::name('merchant')->where('uid', $this->request->uid())->value('mer_id');
if ($merchantId != $communityInfo['entrust_mer_id']) {
return app('json')->fail('当前商户无审核此委托商品权限');
}
$status = $this->request->param('status');
if (!$status) {
return app('json')->fail('请设置审核状态');
}
// 同意
if ($status == 1) {
Db::name('community')->where('community_id', $id)->where('is_del', 0)->update(['status' => $status, 'mer_status' => 1]);
$merchantId = Db::name('merchant')->where('uid', $this->request->uid())->value('mer_id');
if ($merchantId != $communityInfo['entrust_mer_id']) {
return app('json')->fail('当前商户无审核此委托商品权限');
}
$res = Db::name('community')->where('community_id', $id)->where('is_del', 0)->update(['status' => $status, 'mer_status' => 1, 'entrust_start_date' =>date('Y-m-d H:i:s')]);
if (!$res) {
return app('json')->fail('审核失败');
}
}
// 拒绝
if ($status == 2) {
$merchantId = Db::name('merchant')->where('uid', $this->request->uid())->value('mer_id');
if ($merchantId != $communityInfo['entrust_mer_id']) {
return app('json')->fail('当前商户无审核此委托商品权限');
}
$refusal = $this->request->param('refusal', '');
Db::startTrans();
try {
@ -667,16 +706,50 @@ class Community extends BaseController
Db::name('store_product_attr_value')->where('product_id', $prod['product_id'])->where('unique', $prod['product_attr_unique'])->inc('stock', $prod['number'])->update();
}
Db::name('entrust')->where('community_id', $id)->where('status', 0)->update(['is_del' => 1]);
Db::name('community')->where('community_id', $id)->where('is_del', 0)->update(['is_del' => 1, 'refusal' => $refusal, 'status' => -1, 'mer_status' => 2]);
Db::name('community')->where('community_id', $id)->where('is_del', 0)->update(['refusal' => $refusal, 'status' => -1, 'mer_status' => 2]);
Db::commit();
} catch (\Exception $e) {
Db::rollback();
return app('json')->fail('审核委托商品失败');
}
}
// 删除
if ($status == 3) {
if ($communityInfo['uid'] != $this->request->uid()) {
return app('json')->fail('当前商户无删除此委托商品权限');
}
Db::startTrans();
try {
$list = Db::name('entrust')->where('community_id', $id)->where('is_del', 0)->where('status', 0)->select();
foreach($list as $prod) {
Db::name('store_product')->where('product_id', $prod['product_id'])->inc('stock', $prod['number'])->update();
Db::name('store_product_attr_value')->where('product_id', $prod['product_id'])->where('unique', $prod['product_attr_unique'])->inc('stock', $prod['number'])->update();
}
Db::name('entrust')->where('community_id', $id)->where('status', 0)->update(['is_del' => 1]);
Db::name('community')->where('community_id', $id)->where('is_del', 0)->update(['status' => -2, 'is_del' => 1]);
Db::commit();
} catch (\Exception $e) {
Db::rollback();
return app('json')->fail('删除委托商品失败');
}
}
return app('json')->success('审核操作成功');
}
/**
* 供应链商家列表
* @return mixed
*/
public function supplychainList()
{
$typeSupplyChainId = Db::name('MerchantType')->where('type_code', Merchant::TypeCode['TypeSupplyChain'])->value('mer_type_id');
[$page, $limit] = $this->getPage();
$queryBuilder = Db::name('merchant')->where('type_id', $typeSupplyChainId)->where('is_del', 0)->where('status', 1);
$count = $queryBuilder->count();
$list = $queryBuilder->setOption('field', [])->field(['mer_id', 'mer_name', 'area_id', 'street_id', 'village_id', 'mer_avatar', 'mer_banner', 'mer_address'])->order('mer_id', 'desc')->page($page, $limit)->fetchSql(false)->select();
return app('json')->success(compact('count', 'list'));
}
/**
* 委托商品列表
* @return mixed
@ -707,20 +780,150 @@ class Community extends BaseController
$queryBuilder->where('c.mer_status', 2);
}
$count = $queryBuilder->count();
$list = $queryBuilder->setOption('field', [])->field(['c.community_id', 'c.uid', 'c.title', 'c.image', 'c.entrust_mer_id', 'm.credit_buy', 'm.settle_cycle', 'm.interest_rate', 'm.mer_name', 'm.mer_avatar', 'c.mer_status'])->order('c.community_id', 'desc')->page($page, $limit)->fetchSql(false)->select();
$list = $queryBuilder->setOption('field', [])->field(['c.community_id', 'c.uid', 'c.title', 'c.image', 'c.entrust_mer_id', 'c.mer_status', 'c.entrust_order_id', 'c.entrust_finish', 'c.entrust_start_date'])->order('c.community_id', 'desc')->page($page, $limit)->fetchSql(false)->select();
if ($list) $list = $list->toArray();
foreach($list as $k => $v) {
$list[$k]['mer_name'] = 0;
// type1发起的委托 2收到的委托
if ($type == 2) {
$merchantInfo = Db::name('merchant')->where('uid', $v['uid'])->find();
$list[$k]['credit_buy'] = $merchantInfo['credit_buy'] ?? 0;
$list[$k]['settle_cycle'] = $merchantInfo['settle_cycle'] ?? 0;
$list[$k]['interest_rate'] = $merchantInfo['interest_rate'] ?? 0;
$list[$k]['mer_name'] = $merchantInfo['mer_name'] ?? '';
$list[$k]['mer_avatar'] = $merchantInfo['mer_avatar'] ?? '';
}
$list[$k]['entrust_day'] = Db::name('entrust')->where('community_id', $v['community_id'])->value('entrust_day', 0);
$list[$k]['mer_info'] = Db::name('merchant')->where('uid', $v['uid'])->where('is_del', 0)->field(['mer_id', 'mer_name', 'mer_address', 'mer_avatar', 'credit_buy', 'settle_cycle', 'interest_rate'])->find();
$list[$k]['entrust_mer_info'] = Db::name('merchant')->where('mer_id', $v['entrust_mer_id'])->where('is_del', 0)->field(['mer_id', 'mer_name', 'mer_address', 'mer_avatar', 'credit_buy', 'settle_cycle', 'interest_rate'])->find();
}
return app('json')->success(compact('count', 'list'));
}
/**
* 委托商品详情
* @return mixed
*/
public function entrustDetail($id)
{
$communityInfo = Db::name('community')->where('community_id', $id)->where('is_del', 0)->field(['community_id', 'title', 'image', 'content', 'uid', 'mer_status', 'entrust_mer_id', 'entrust_start_date', 'entrust_finish', 'entrust_finish_refusal'])->find();
if (!$communityInfo) {
return app('json')->fail('委托商品不存在');
}
$uid = $this->request->uid();
$communityInfo['mer_info'] = Db::name('merchant')->where('uid', $uid)->where('is_del', 0)->field(['mer_id', 'mer_name', 'mer_address', 'mer_avatar', 'settle_cycle', 'interest_rate'])->find();
$communityInfo['entrust_mer_info'] = Db::name('merchant')->where('mer_id', $communityInfo['entrust_mer_id'])->where('is_del', 0)->field(['mer_id', 'mer_name', 'mer_address', 'mer_avatar'])->find();
if (empty($communityInfo['mer_info']) || empty($communityInfo['entrust_mer_info'])) {
return app('json')->fail('无权限查看委托商品');
}
$entrustDay = Db::name('entrust')->where('community_id', $id)->where('is_del', 0)->value('entrust_day');
$communityInfo['entrust_day'] = $entrustDay;
$communityInfo['product_list'] = Db::name('entrust')->alias('e')->leftJoin('store_product sp','e.product_id = sp.product_id')->leftJoin('store_product_attr_value spav','spav.unique = e.product_attr_unique')->where('e.community_id', $id)->where('sp.is_del', 0)->setOption('field', [])->field(['e.product_id, e.product_attr_unique, e.number, e.price, e.status, spav.price as old_price, sp.store_name, sp.image'])->select();
if ($communityInfo['product_list']) $communityInfo['product_list'] = $communityInfo['product_list']->toArray();
foreach($communityInfo['product_list'] as $k => $v) {
$communityInfo['product_list'][$k]['image'] = explode(',', $v['image']);;
}
return app('json')->success($communityInfo);
}
/**
* 编辑委托商品
* @return mixed
*/
public function editEntrust($id)
{
$communityInfo = Db::name('community')->where('community_id', $id)->where('is_del', 0)->where('mer_status', 0)->find();
if (!$communityInfo) {
return app('json')->fail('委托商品不存在');
}
if ($communityInfo['mer_status'] > 0) {
return app('json')->fail('该委托商品已审核');
}
if ($communityInfo['uid'] != $this->request->uid()) {
return app('json')->fail('当前商户无编辑此委托商品权限');
}
$this->checkUserAuth();
Db::startTrans();
try {
$list = Db::name('entrust')->where('community_id', $id)->where('is_del', 0)->where('status', 0)->select();
foreach($list as $prod) {
Db::name('store_product')->where('product_id', $prod['product_id'])->inc('stock', $prod['number'])->update();
Db::name('store_product_attr_value')->where('product_id', $prod['product_id'])->where('unique', $prod['product_attr_unique'])->inc('stock', $prod['number'])->update();
}
Db::name('entrust')->where('community_id', $id)->where('status', 0)->update(['is_del' => 1]);
Db::name('community')->where('community_id', $id)->where('is_del', 0)->update(['status' => -2, 'is_del' => 1]);
Db::commit();
} catch (\Exception $e) {
Db::rollback();
return app('json')->fail('编辑委托商品失败');
}
$data = $this->checkParams();
$typeSupplyChainId = Db::name('MerchantType')->where('type_code', Merchant::TypeCode['TypeSupplyChain'])->value('mer_type_id');
$merchantInfo = Db::name('merchant')->where('mer_id', $data['entrust_mer_id'] ?? 0)->where('type_id', $typeSupplyChainId)->fetchSql(false)->find();
if (!$merchantInfo) {
return app('json')->fail('此商户不支持委托');
}
$data['uid'] = $this->request->uid();
$res = $this->repository->create($data);
return app('json')->success(['community_id' => $res]);
}
/**
* 供应链商家申请结束商品委托
* @return mixed
*/
public function applyFinishEntrust($id)
{
$communityInfo = Db::name('community')->where('community_id', $id)->where('mer_status', 1)->whereIn('entrust_finish', [0, 2])->where('is_del', 0)->find();
if (!$communityInfo) {
return app('json')->fail('当前状态委托商品不存在');
}
$merchantId = Db::name('merchant')->where('uid', $this->request->uid())->value('mer_id');
if ($merchantId != $communityInfo['entrust_mer_id']) {
return app('json')->fail('当前商户无申请结束此委托商品权限');
}
$entrustInfo = Db::name('entrust')->where('community_id', $id)->where('is_del', 0)->find();
//委托周期截止5天内可申请结束委托
$limitTime = strtotime($communityInfo['entrust_start_date']) + ($entrustInfo['entrust_day'] ?? 0) * 86400 - 5 * 86400;
if (time() < $limitTime) {
//return app('json')->fail('委托周期截止5天内可申请结束委托');
}
$res = Db::name('community')->where('community_id', $id)->where('is_del', 0)->update(['entrust_finish' => 3]);
if (!$res) {
return app('json')->fail('申请操作失败');
}
return app('json')->success('申请操作成功');
}
/**
* 结束商品委托
* @return mixed
*/
public function finishEntrust($id)
{
$communityInfo = Db::name('community')->where('community_id', $id)->where('mer_status', 1)->where('entrust_finish', 3)->where('is_del', 0)->find();
if (!$communityInfo) {
return app('json')->fail('当前状态委托商品不存在');
}
if ($this->request->uid() != $communityInfo['uid']) {
return app('json')->fail('当前商户无结束此委托商品权限');
}
$status = $this->request->param('status');
if (!$status) {
return app('json')->fail('请设置状态');
}
// 同意
if ($status == 1) {
$entrustInfo = Db::name('entrust')->where('community_id', $id)->where('is_del', 0)->find();
//委托周期截止5天内可申请结束委托
$limitTime = strtotime($communityInfo['entrust_start_date']) + ($entrustInfo['entrust_day'] ?? 0) * 86400 - 5 * 86400;
if (time() < $limitTime) {
//return app('json')->fail('委托周期截止5天内可申请结束委托');
}
// 分润
$res = Db::name('community')->where('community_id', $id)->where('is_del', 0)->update(['entrust_finish' => 1]);
if (!$res) {
return app('json')->fail('结束操作失败');
}
}
// 拒绝
if ($status == 2) {
$refusal = $this->request->param('refusal', '');
$res = Db::name('community')->where('community_id', $id)->where('is_del', 0)->update(['entrust_finish_refusal' => $refusal, 'entrust_finish' => 2]);
if (!$res) {
return app('json')->fail('结束操作失败');
}
}
return app('json')->success('结束操作成功');
}
}

View File

@ -60,7 +60,9 @@ class StoreProduct extends BaseController
[$page, $limit] = $this->getPage();
$where = $this->request->params(['cate_id', 'keyword', ['type',20], 'mer_cate_id', 'is_gift_bag', 'status', 'us_status', 'product_id', 'mer_labels',['order','sort']]);
$merchant = app()->make(MerchantRepository::class)->get($merId);
if ($merchant['type_id']==12){
$typeCode=Db::name('merchant_type')->where('mer_type_id',$merchant['type_id'])->value('type_code');
// if ($merchant['type_id']==12){
if ($typeCode==Merchant::TypeCode['TypeSupplyChain']){
$product_type=98;//供应链
}else{
$product_type=0;//普通商品
@ -87,7 +89,9 @@ class StoreProduct extends BaseController
$data['status'] = $merchant->is_audit ? 0 : 1;
$data['mer_status'] = ($merchant['is_del'] || !$merchant['mer_state'] || !$merchant['status']) ? 0 : 1;
$data['rate'] = 3;
if ($merchant['type_id']==12){
$typeCode=Db::name('merchant_type')->where('mer_type_id',$merchant['type_id'])->value('type_code');
// if ($merchant['type_id']==12){
if ($typeCode==Merchant::TypeCode['TypeSupplyChain']){
$product_type=98;//供应链
}else{
$product_type=0;//普通商品

View File

@ -47,11 +47,11 @@ class MerchantIntention extends BaseController
if ($this->userInfo) $data['uid'] = $this->userInfo->uid;
$newUid = Db::name('User')->where('account', $data['phone'])->value('uid', -1);
if ($newUid != -1 && $this->userInfo->uid != $newUid) {
throw new ValidateException('该申请手机已存在账户,不可申请');
//throw new ValidateException('该申请手机已存在账户,不可申请');
}
$newMerid = Db::name('Merchant')->where('mer_phone', $data['phone'])->value('mer_id', -1);
if ($newMerid != -1) {
throw new ValidateException('该申请手机已存在商户,不可申请');
//throw new ValidateException('该申请手机已存在商户,不可申请');
}
$make = app()->make(MerchantRepository::class);
if ($make->fieldExists('mer_name', $data['mer_name']))

View File

@ -82,7 +82,7 @@ class StoreCart extends BaseController
}
}
$entryMerId = $decryptArray[0] ?? '';
if(!in_array($data['product_type'],[0,1,2,3,4,98])) return app('json')->fail('商品类型错误');
if(!in_array($data['product_type'],[0,1,2,3,4,98,99])) return app('json')->fail('商品类型错误');
if ($data['cart_num'] <= 0) return app('json')->fail('购买数量有误');
$user = $this->request->userInfo();
event('user.cart.before',compact('user','data'));
@ -90,6 +90,7 @@ class StoreCart extends BaseController
{
case 0: //普通商品
case 98: //供应链商品
case 99: //委托商品
$result = app()->make(ProductRepository::class)->cartCheck($data,$this->request->userInfo());
[$source, $sourceId, $pid] = explode(':', $this->request->param('source', '0'), 3) + ['', '', ''];
$data['source'] = (in_array($source, [0, 1]) && $pid == $data['product_id']) ? $source : 0;

View File

@ -97,6 +97,7 @@ class StoreOrder extends BaseController
}
$uid = $this->request->uid();
// halt(count($cartId), count($cartRepository->validIntersection($cartId, $uid)));
if (!($count = count($cartId)) || $count != count($cartRepository->validIntersection($cartId, $uid)))
return app('json')->fail('数据无效');

View File

@ -52,7 +52,10 @@ class Product extends BaseController
$where = $this->request->params(['temp_id','cate_id','keyword',['type',1],'mer_cate_id','is_gift_bag','status','us_status','product_id','mer_labels',['order','sort'],'is_ficti','svip_price_type']);
$where = array_merge($where,$this->repository->switchType($where['type'],$this->request->merId(),0));
$type=$this->request->merchant()['type_id'];
if ($type==12){
$typeCode=Db::name('merchant_type')->where('mer_type_id',$type)->value('type_code');
$product_type=0;
// if ($type==12){
if ($typeCode==Merchant::TypeCode['TypeSupplyChain']){
$where['product_type']=98;//供应链
}
return app('json')->success($this->repository->getList($this->request->merId(),$where, $page, $limit));
@ -87,7 +90,9 @@ class Product extends BaseController
$data['status'] = $this->request->merchant()->is_audit ? 0 : 1;
$data['mer_status'] = ($this->request->merchant()->is_del || !$this->request->merchant()->mer_state || !$this->request->merchant()->status) ? 0 : 1;
$data['rate'] = 3;
if ($this->request->merchant()->type_id==12){
$typeCode=Db::name('merchant_type')->where('mer_type_id',$this->request->merchant()->type_id)->value('type_code');
// if ($this->request->merchant()->type_id==12){
if ($typeCode==Merchant::TypeCode['TypeSupplyChain']){
$product_type=98;//供应链
}else{
$product_type=0;//普通商品
@ -164,7 +169,9 @@ class Product extends BaseController
{
$type=$this->request->merchant()['type_id'];
$product_type=0;
if ($type==12){
$typeCode=Db::name('merchant_type')->where('mer_type_id',$type)->value('type_code');
// if ($type==12){
if ($typeCode==Merchant::TypeCode['TypeSupplyChain']){
$product_type=98;//供应链
}
return app('json')->success($this->repository->getFilter($this->request->merId(),'商品',$product_type));

View File

@ -18,7 +18,7 @@ class OrderCreate
{
$groupOrder = $event['groupOrder'];
$order = $groupOrder->orderList[0];
if ($order['pay_type'] != StoreGroupOrder::PAY_TYPE_CREDIT_BUY || $order['activity_type'] != 98) {
if ($order['pay_type'] != StoreGroupOrder::PAY_TYPE_CREDIT_BUY || !in_array($order['activity_type'], [98, 99])) {
return true;
}
/** @var StoreOrderInterestRepository $storeOrderInterestRepository */

View File

@ -74,8 +74,9 @@ class SendGoodsCode
//发送物流
public function sendLogistics($orderId, $orderSn)
{
Log::info("发送物流信息 orderId: {$orderId}, orderSn: {$orderSn}");
$postUrl = env('LOGISTICS_HOST_URL') . '/api/lstSet';
Log::info("物流HOST: {$postUrl}");
Log::info("发送物流信息 orderId: {$orderId}, orderSn: {$orderSn}");
$curlPost = [
'order_id' => $orderId,
'order_sn' => $orderSn,

View File

@ -20,7 +20,7 @@ class CommunityValidate extends Validate
protected $failException = true;
protected $rule = [
'image|图片' => 'require|array',
'image|图片' => 'array',
'content|内容' => 'require|max:600',
'spu_id|关联商品' => 'array',
];

View File

@ -68,7 +68,6 @@ class SendGoodsCodeJob implements JobInterface
//商品信息
$productInfo = Db::name('store_order_product')->where('order_id', $order['order_id'] ?? 0)->find();
if ($productInfo) {
}
//商户信息
$merchantInfo = Db::name('merchant')->where('mer_id', $order['mer_id'] ?? 0)->find();

View File

@ -2,4 +2,4 @@
document.write('<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' + (coverSupport ? ', viewport-fit=cover' : '') + '" />')
if(window.location.protocol == 'https:'){
document.write('<meta http-equiv="Content-Security-Policy" content="upgrade-insecure-requests">')
}</script><link rel=stylesheet href=/static/index.97465e7b.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.c21fc11a.js></script><script src=/static/js/index.f77dc7ab.js></script></body></html>
}</script><link rel=stylesheet href=/static/index.97465e7b.css></head><body><noscript><strong>Please enable JavaScript to continue.</strong></noscript><div id=app></div><script src=/static/js/chunk-vendors.958c16a8.js></script><script src=/static/js/index.193f0de4.js></script></body></html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 19 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 884 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

After

Width:  |  Height:  |  Size: 35 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.8 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.0 MiB

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["pages-activity-combination_details-index"],{"774a":function(i,n,o){"use strict";o.r(n);var a=o("f0c5"),t=Object(a["a"])({},void 0,void 0,!1,null,null,null,!1,void 0,void 0);n["default"]=t.exports}}]);

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More