瀏覽代碼

修改商城代码

Anyon 4 年之前
父節點
當前提交
6e9ce42564

+ 2 - 2
app/data/controller/NewsItem.php

@@ -95,9 +95,9 @@ class NewsItem extends Controller
         if ($this->request->isGet()) {
             $query = $this->app->db->name('DataNewsMark')->where(['deleted' => 0, 'status' => 1]);
             $this->mark = $query->order('sort desc,id desc')->select()->toArray();
-            $data['mark'] = think_string_to_array($data['mark']);
+            $data['mark'] = mark_str2arr($data['mark']);
         } else {
-            $data['mark'] = think_array_to_string($data['mark'] ?? []);
+            $data['mark'] = mark_arr2str($data['mark'] ?? []);
         }
     }
 

+ 3 - 3
app/data/controller/ShopGoods.php

@@ -83,7 +83,7 @@ class ShopGoods extends Controller
         $clist = $this->app->db->name('ShopGoodsCate')->whereIn('id', array_column($data, 'cate'))->column('pid,name,status', 'id');
         foreach ($data as &$vo) {
             $vo['cate'] = $clist[$vo['cate']] ?? $vo['cate'];
-            $vo['mark'] = think_string_to_array($vo['mark'] ?: '', ',', $this->marks);
+            $vo['mark'] = mark_string_array($vo['mark'] ?: '', ',', $this->marks);
         }
     }
 
@@ -153,7 +153,7 @@ class ShopGoods extends Controller
             $data['code'] = CodeExtend::uniqidNumber(12, 'G');
         }
         if ($this->request->isGet()) {
-            $data['mark'] = think_string_to_array($data['mark']);
+            $data['mark'] = mark_string_array($data['mark']);
             $this->marks = GoodsService::instance()->getMarkList();
             $this->cates = GoodsService::instance()->getCateList('arr2table');
             $fields = 'goods_sku `sku`,goods_code,goods_spec `key`,price_selling `selling`,price_market `market`,number_virtual `virtual`,number_express `express`,status';
@@ -163,7 +163,7 @@ class ShopGoods extends Controller
             if (empty($data['cover'])) $this->error('商品图片不能为空!');
             if (empty($data['slider'])) $this->error('轮播图不能为空!');
             // 商品规格保存
-            $data['mark'] = think_array_to_string($data['mark'] ?? []);
+            $data['mark'] = mark_array_string($data['mark'] ?? []);
             [$count, $items] = [0, json_decode($data['data_items'], true)];
             foreach ($items as $item) {
                 $count += intval($item[0]['status']);

+ 4 - 3
app/data/service/GoodsService.php

@@ -99,11 +99,12 @@ class GoodsService extends Service
         foreach ($cates as $cate) if (isset($cates[$cate['pid']])) {
             $cates[$cate['id']]['parent'] =& $cates[$cate['pid']];
         }
-        $map = [['goods_code', 'in', array_unique(array_column($data, 'code'))], ['status', '=', 1]];
-        $items = $this->app->db->name('ShopGoodsItem')->withoutField('id,status,create_at')->where($map)->select()->toArray();
+        $codes = array_unique(array_column($data, 'code'));
+        $query = $this->app->db->name('ShopGoodsItem')->withoutField('id,status,create_at');
+        $items = $query->whereIn('goods_code', $codes)->where(['status' => 1])->select()->toArray();
         $marks = $this->app->db->name('ShopGoodsMark')->where(['status' => 1])->column('name');
         foreach ($data as &$vo) {
-            $vo['marks'] = think_string_to_array($vo['mark'], ',', $marks);
+            $vo['marks'] = mark_string_array($vo['mark'], ',', $marks);
             $vo['cates'] = $cates[$vo['cate']] ?? [];
             $vo['slider'] = explode('|', $vo['slider']);
             $vo['specs'] = json_decode($vo['data_specs'], true);

+ 7 - 7
app/data/service/NewsService.php

@@ -5,7 +5,7 @@ namespace app\data\service;
 use think\admin\Service;
 
 /**
- * 文章数据处理服务
+ * 文章数据服务
  * Class NewsService
  * @package app\data\service
  */
@@ -13,7 +13,7 @@ class NewsService extends Service
 {
     /**
      * 同步文章数据统计
-     * @param integer $cid 文章记录ID
+     * @param integer $cid 文章ID
      * @throws \think\db\exception\DbException
      */
     public function syncNewsTotal(int $cid)
@@ -42,7 +42,7 @@ class NewsService extends Service
             $cols = 'id,name,cover,mark,status,deleted,create_at,num_like,num_read,num_comment,num_collect';
             $items = $this->app->db->name('DataNewsItem')->whereIn('id', $cids)->column($cols, 'id');
             $marks = $this->app->db->name('DataNewsMark')->where(['status' => 1])->column('name');
-            foreach ($items as &$vo) $vo['mark'] = think_string_to_array($vo['mark'] ?: '', ',', $marks);
+            foreach ($items as &$vo) $vo['mark'] = mark_str_2_arr($vo['mark'] ?: '', ',', $marks);
             /*! 绑定会员数据 */
             $mids = array_unique(array_column($list, 'mid'));
             $cols = 'id,phone,nickname,username,headimg,status';
@@ -64,17 +64,17 @@ class NewsService extends Service
     public function buildListState(array &$list, int $mid = 0): array
     {
         if (count($list) > 0) {
-            [$cid1s, $cid2s] = [[], []];
+            [$cid1s, $cid2s, $marks] = [[], [], []];
             if ($mid > 0) {
-                $map = [['mid', '=', $mid], ['cid', 'in', array_column($list, 'id')]];
+                $map = [['mid', '=', $mid], ['cid', 'in', array_unique(array_column($list, 'id'))]];
+                $marks = $this->app->db->name('DataNewsMark')->where(['status' => 1])->column('name');
                 $cid1s = $this->app->db->name('DataNewsXCollect')->where($map)->where(['type' => 2])->column('cid');
                 $cid2s = $this->app->db->name('DataNewsXCollect')->where($map)->where(['type' => 1])->column('cid');
             }
-            $marks = $this->app->db->name('DataNewsMark')->where(['status' => 1])->column('name');
             foreach ($list as &$vo) {
+                $vo['mark'] = mark_string_array($vo['mark'] ?: '', ',', $marks);
                 $vo['my_like_state'] = in_array($vo['id'], $cid1s) ? 1 : 0;
                 $vo['my_coll_state'] = in_array($vo['id'], $cid2s) ? 1 : 0;
-                $vo['mark'] = think_string_to_array($vo['mark'] ?: '', ',', $marks);
             }
         }
         return $list;

+ 3 - 3
app/data/service/OrderService.php

@@ -57,7 +57,6 @@ class OrderService extends Service
      */
     public function buildItemData(array &$data = []): array
     {
-        $nos = array_unique(array_column($data, 'order_no'));
         // 关联会员数据
         $mids = array_unique(array_merge(array_column($data, 'mid'), array_column($data, 'from')));
         $members = $this->app->db->name('DataMember')->whereIn('id', $mids)->column('*', 'id');
@@ -66,11 +65,12 @@ class OrderService extends Service
             unset($user['unionid'], $user['password'], $user['status'], $user['deleted']);
         }
         // 关联发货信息
-        $trucks = $this->app->db->name('ShopOrderSend')->whereIn('order_no', $nos)->column('*', 'order_no');
+        $nobs = array_unique(array_column($data, 'order_no'));
+        $trucks = $this->app->db->name('ShopOrderSend')->whereIn('order_no', $nobs)->column('*', 'order_no');
         foreach ($trucks as &$item) unset($item['id'], $item['mid'], $item['status'], $item['deleted'], $item['create_at']);
         // 关联订单商品
         $query = $this->app->db->name('ShopOrderItem')->where(['status' => 1, 'deleted' => 0]);
-        $items = $query->withoutField('id,mid,status,deleted,create_at')->whereIn('order_no', $nos)->select()->toArray();
+        $items = $query->withoutField('id,mid,status,deleted,create_at')->whereIn('order_no', $nobs)->select()->toArray();
         foreach ($data as &$vo) {
             $vo['sales'] = 0;
             $vo['member'] = $members[$vo['mid']] ?? [];

+ 1 - 1
app/data/service/UserService.php

@@ -20,7 +20,7 @@ class UserService extends Service
     /**
      * 获取会员资料
      * @param mixed $map 查询条件
-     * @param boolean $force 强制令牌
+     * @param boolean $force 刷新令牌
      * @return array
      * @throws \think\Exception
      * @throws \think\db\exception\DataNotFoundException

+ 6 - 6
app/data/sys.php

@@ -1,6 +1,6 @@
 <?php
 
-if (!function_exists('think_string_to_array')) {
+if (!function_exists('mark_string_array')) {
     /**
      * 字符串转数组
      * @param string $text 待转内容
@@ -8,7 +8,7 @@ if (!function_exists('think_string_to_array')) {
      * @param null|array $allow 限定规则
      * @return array
      */
-    function think_string_to_array(string $text, string $separ = ',', $allow = null): array
+    function mark_string_array(string $text, string $separ = ',', $allow = null): array
     {
         $text = trim($text, $separ);
         $data = $text ? explode($separ, $text) : [];
@@ -19,26 +19,26 @@ if (!function_exists('think_string_to_array')) {
     }
 }
 
-if (!function_exists('think_array_to_string')) {
+if (!function_exists('mark_array_string')) {
     /**
      * 数组转字符串
      * @param array $data 待转数组
      * @param string $separ 分隔字符
      * @return string
      */
-    function think_array_to_string(array $data, string $separ = ',')
+    function mark_array_string(array $data, string $separ = ',')
     {
         return join($separ, $data);
     }
 }
 
-if (!function_exists('think_show_goods_spec')) {
+if (!function_exists('show_goods_spec')) {
     /**
      * 商品规格过滤显示
      * @param string $spec 原规格内容
      * @return string
      */
-    function think_show_goods_spec(string $spec): string
+    function show_goods_spec(string $spec): string
     {
         $specs = [];
         foreach (explode(';;', $spec) as $sp) {

+ 1 - 1
app/data/view/shop_goods/stock.html

@@ -24,7 +24,7 @@
                     <tbody>
                     {foreach $vo.items as $goods}
                     <tr>
-                        <td class="layui-bg-gray" width="28%">{$goods.goods_spec|think_show_goods_spec}</td>
+                        <td class="layui-bg-gray" width="28%">{$goods.goods_spec|show_goods_spec}</td>
                         <td class="layui-bg-gray text-center" width="12%">¥{$goods.price_market+0}</td>
                         <td class="layui-bg-gray text-center" width="12%">¥{$goods.price_selling+0}</td>
                         <td class="layui-bg-gray text-center" width="12%">{$goods.stock_total|default=0}</td>

+ 1 - 1
app/data/view/shop_order/index.html

@@ -87,7 +87,7 @@
                     {foreach $vo.items as $item}
                     <div>
                         <b class="color-blue">{$item.stock_sales|default=0}件</b><b class="color-green"> x </b><b class="color-blue">{$item.price_market+0}元 </b>
-                        {$item.goods_name|default=''} <span class="color-green"> ( {$item.goods_spec|think_show_goods_spec} ) </span>
+                        {$item.goods_name|default=''} <span class="color-green"> ( {$item.goods_spec|show_goods_spec} ) </span>
                     </div>
                     {/foreach}
                 </td>