123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <?php
- namespace addon\mall\app\upgrade\v010;
- use addon\mall\app\dict\init\InitDataDict;
- use addon\mall\app\model\delivery\ElectronicSheet;
- use addon\mall\app\model\goods\Label;
- use addon\mall\app\service\core\delivery\CoreCompanyService;
- use addon\mall\app\service\core\delivery\CoreElectronicSheetService;
- use app\model\site\Site;
- use app\model\sys\Poster;
- use app\service\core\diy\CoreDiyService;
- use app\service\core\poster\CorePosterService;
- class Upgrade
- {
- public function handle()
- {
- $this->handleData();
- }
- /**
- * 处理商品数据
- */
- private function handleData()
- {
- $mall_data = InitDataDict::getInitData(['site_id' => 0]);
- $poster = new CorePosterService();
- $poster_model = new Poster();
- $shop_goods_poster = $poster_model->where([
- ['site_id', '=', 0],
- ['type', '=', 'shop_goods'],
- ['is_default', '=', 1],
- ['addon', '=', 'mall']
- ])->count();
- if ($shop_goods_poster == 0) {
- // 创建默认商品海报
- $template = $poster->getTemplateList('mall', 'shop_goods')[ 0 ];
- $poster->add(0, 'mall', [
- 'name' => $template[ 'name' ],
- 'type' => $template[ 'type' ],
- 'value' => $template[ 'data' ],
- 'status' => 1,
- 'is_default' => 1
- ]);
- }
- // 添加商品标签
- $label_model = new Label();
- $label_model->insertAll($mall_data['label_list']);
- // 创建物流公司
- $company_service = new CoreCompanyService();
- foreach ($mall_data['company_list'] as $k => $v) {
- $company_info = $company_service->getInfo([['company_name', '=', $v['company_name']]], 'company_id');
- if (!empty($company_info)){
- $company_service->edit(['company_id' => $company_info['company_id']],$v);
- unset($mall_data['company_list'][$k]);
- }
- }
- $mall_data['company_list'] = array_values($mall_data['company_list']);
- $company_service->addAll($mall_data['company_list']);
- // 创建默认主题风格颜色
- ( new CoreDiyService() )->initDefaultDiyTheme();
- // 创建电子面单
- $company_service = new CoreCompanyService();
- $company_list_for_print = $company_service->getList([
- [ 'site_id', '=', 0 ],
- [ 'express_no_electronic_sheet', 'in', [ 'EMS', 'YZPY', 'SF' ] ],
- [ 'electronic_sheet_switch', '=', 1 ],
- ], 'company_id,company_name,express_no_electronic_sheet,print_style,exp_type');
- $site_model = new Site();
- $site_ids = $site_model->where([ [ 'site_id', '>', 0 ] ])->column('site_id');
- if (!empty($site_ids) && !empty($company_list_for_print)) {
- foreach ($site_ids as $item_site_id) {
- $electronic_sheet_list = [];
- foreach ($company_list_for_print as $k => $v) {
- $electronic_sheet_list[] = [
- 'site_id' => $item_site_id,
- 'template_name' => $v['company_name'] . ' ' . $v['print_style'][0]['template_name'],
- 'express_company_id' => $v['company_id'],
- 'customer_name' => '电子面单账号',
- 'customer_pwd' => '电子面单密码',
- 'send_site' => '',
- 'send_staff' => '',
- 'month_code' => '',
- 'pay_type' => 1,
- 'is_notice' => 0,
- 'status' => 1,
- 'exp_type' => $v['exp_type'][0]['value'],
- 'print_style' => $v['print_style'][0]['template_size'],
- 'is_default' => $k == 0 ? 1 : 0,
- 'create_time' => time()
- ];
- }
- $electronic_sheet_count = ( new ElectronicSheet() )->where([
- ['site_id', '=', $item_site_id ],
- ['is_default', '=', 1 ]
- ])->count();
- if (!empty($electronic_sheet_list) && $electronic_sheet_count == 0) {
- $electronic_sheet_service = new CoreElectronicSheetService();
- $electronic_sheet_service->addAll($electronic_sheet_list);
- }
- }
- }
- }
- }
|