EasyTest.Class.php 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297
  1. <?php
  2. namespace JinDouYun\Controller\Common;
  3. use JinDouYun\Controller\BaseController;
  4. use JinDouYun\Dao\Order\DOrder;
  5. use JinDouYun\Dao\Order\DOrderGoods;
  6. use JinDouYun\Dao\Order\DOrderReceive;
  7. use JinDouYun\Dao\System\DReceiptTemplate;
  8. use JinDouYun\Model\Order\MOrderReturn;
  9. use JinDouYun\Model\Shop\MShop;
  10. use Mall\Framework\Core\ResultWrapper;
  11. use Mall\Framework\Core\StatusCode;
  12. class EasyTest extends BaseController
  13. {
  14. public function __construct()
  15. {
  16. parent::__construct(false, false, false, true);
  17. }
  18. public function testSub()
  19. {
  20. print_r($this->areaCode);die;
  21. $objMOrderReturn = new MOrderReturn(64,4);
  22. $result = $objMOrderReturn->getSubRetMoneyToday();
  23. if (!$result->isSuccess()){
  24. parent::sendOutput($result->getData(),$result->getErrorCode());
  25. }
  26. parent::sendOutput($result->getData());
  27. }
  28. /**
  29. * Doc: (des="编辑销售单模版")
  30. * User: XMing
  31. * Date: 2020/11/26
  32. * Time: 11:22 上午
  33. */
  34. public function orderReceipt()
  35. {
  36. $params = $this->request->getRawJson();
  37. if (!isset($params['type']) || empty($params['type'])){
  38. echo 'type参数错误' . PHP_EOL;
  39. die;
  40. }
  41. $type = $params['type'];
  42. if (!isset($params['key']) || empty($params['key'])) {
  43. echo 'key参数错误' . PHP_EOL;
  44. die;
  45. }
  46. $key = $params['key'];
  47. if (!isset($params['action']) || empty($params['action'])) {
  48. echo 'action参数错误' . PHP_EOL;
  49. die;
  50. }
  51. $action = $params['action'];
  52. if (!isset($params['row']) || empty($params['row'])) {
  53. echo 'row参数错误' . PHP_EOL;
  54. die;
  55. }
  56. $group = $params['row'];
  57. $alias = isset($group['alias']) ? $group['alias'] : '';
  58. $objDReceiptTemplate = new DReceiptTemplate();
  59. $lists = $objDReceiptTemplate->select(['receiptType' => $type]);
  60. if ($lists === false) {
  61. echo 'sql:' . $objDReceiptTemplate->error() . PHP_EOL;
  62. die;
  63. }
  64. $i = 0;
  65. foreach ($lists as $list) {
  66. $fieldsData = json_decode($list['fieldsData'], true);
  67. if (!isset($fieldsData['templateInfo'][$key])) {
  68. echo $list['enterpriseId'] . '数据配置错误' . PHP_EOL;
  69. die;
  70. }
  71. $id = $list['id'];
  72. $rows = $fieldsData['templateInfo'][$key];
  73. switch ($action) {
  74. case 'add':
  75. $hasAlias = [];
  76. foreach ($rows as $index => $row) {
  77. $hasAlias[] = $row['alias'];
  78. }
  79. if (!in_array($alias, $hasAlias)) {
  80. $rows[] = $group;
  81. }
  82. break;
  83. case 'del':
  84. foreach ($rows as $index => $row) {
  85. if ($row['alias'] == $alias) {
  86. unset($rows[$index]);
  87. }
  88. }
  89. break;
  90. }
  91. $fieldsData['templateInfo'][$key] = array_values($rows);
  92. $nowFieldsData = json_encode($fieldsData);
  93. $update = $objDReceiptTemplate->update(['fieldsData' => $nowFieldsData], $id);
  94. if ($update === false) {
  95. echo 'sql-update-error:' . $objDReceiptTemplate->error() . PHP_EOL;
  96. }
  97. $i++;
  98. }
  99. echo '共计更新' . $i . '条数据';
  100. }
  101. public function test()
  102. {
  103. $objDReceiptTemplate = new DReceiptTemplate();
  104. $lists = $objDReceiptTemplate->select(['receiptType' => 5]);
  105. if ($lists === false) {
  106. echo 'sql:' . $objDReceiptTemplate->error() . PHP_EOL;
  107. die;
  108. }
  109. foreach ($lists as $list) {
  110. $id = $list['id'];
  111. $fieldsData = json_decode($list['fieldsData'], true);
  112. if (empty($fieldsData)) {
  113. continue;
  114. }
  115. $insertBasic = [
  116. [
  117. "alias" => "operatorName",
  118. "fields" => "制单人",
  119. "isShow" => 4
  120. ],
  121. [
  122. "alias" => "receivedName",
  123. "fields" => "收货人",
  124. "isShow" => 4
  125. ]
  126. ];
  127. /*$insertFiance = [
  128. [
  129. "alias" => "orderPreferential",
  130. "fields" => "优惠",
  131. "isShow" => 4
  132. ]
  133. ];*/
  134. $insertOther = [
  135. [
  136. "alias" => "receivedMobile",
  137. "fields" => "收货电话",
  138. "isShow" => 4
  139. ],
  140. ];
  141. $fieldsData['templateInfo']['basic'] = array_merge($fieldsData['templateInfo']['basic'], $insertBasic);
  142. //$fieldsData['templateInfo']['fiance'] = array_merge($fieldsData['templateInfo']['fiance'],$insertFiance);
  143. $fieldsData['templateInfo']['other'] = array_merge($fieldsData['templateInfo']['other'], $insertOther);
  144. $nowFieldsData = json_encode($fieldsData);
  145. $update = $objDReceiptTemplate->update(['fieldsData' => $nowFieldsData], $id);
  146. if ($update === false) {
  147. echo 'sql-update-error:' . $objDReceiptTemplate->error() . PHP_EOL;
  148. }
  149. }
  150. echo '共计更新' . count($lists) . '条数据';
  151. }
  152. /**
  153. * Doc: (des="")
  154. * User: XMing
  155. * Date: 2020/11/18
  156. * Time: 3:47 下午
  157. * @throws \Exception
  158. */
  159. public function syncOrderEs()
  160. {
  161. $enterId = 4;
  162. $objDOrder = new DOrder();
  163. $objDOrder->setSearchIndex('order_search')->setType('order');
  164. $objDOrderGoods = new DOrderGoods();
  165. $objDOrderReceive = new DOrderReceive();
  166. $objDOrder->setTable('qianniao_order_' . $enterId . '_1');
  167. $objDOrderGoods->setTable('qianniao_order_goods_' . $enterId . '_1');
  168. $objDOrderReceive->setTable('qianniao_order_receive_' . $enterId . '_1');
  169. $orderLists = $objDOrder->select();
  170. if ($orderLists === false) {
  171. echo 'sql-error: ' . $objDOrder->error() . PHP_EOL;
  172. die;
  173. }
  174. $orderGoodsLists = $objDOrderGoods->select();
  175. if ($orderGoodsLists === false) {
  176. echo 'sql-error: ' . $objDOrderGoods->error() . PHP_EOL;
  177. die;
  178. }
  179. $orderReceiveLists = $objDOrderReceive->select();
  180. if ($orderReceiveLists === false) {
  181. echo 'sql-error: ' . $objDOrderReceive->error() . PHP_EOL;
  182. die;
  183. }
  184. $mapGoods = [];
  185. $mapGoodsNames = [];
  186. foreach ($orderGoodsLists as $orderGoods) {
  187. $mapGoods[$orderGoods['orderId']][] = $orderGoods;
  188. !isset($mapGoodsNames[$orderGoods['orderId']]) && $mapGoodsNames[$orderGoods['orderId']] = '';
  189. $mapGoodsNames[$orderGoods['orderId']] .= $orderGoods['goodsName'] . ' ';
  190. }
  191. unset($orderGoodsLists);
  192. $mapReceive = [];
  193. foreach ($orderReceiveLists as $orderReceive) {
  194. $mapReceive[$orderReceive['orderId']] = $orderReceive;
  195. }
  196. unset($orderReceiveLists);
  197. $i = 0;
  198. foreach ($orderLists as $list) {
  199. $_id = self::createEsDocumentId($list['id'], $enterId);
  200. $list['goodsName'] = isset($mapGoodsNames[$list['id']]) ? $mapGoodsNames[$list['id']] : '';
  201. $buildData = self::buildData($list, $enterId, isset($mapReceive[$list['id']]) ? $mapReceive[$list['id']] : []);
  202. $result = $objDOrder->addUpSearchIndexDocument($buildData, $_id);
  203. if (isset($result['_shards']) && isset($result['_shards']['successful']) && $result['_shards']['successful'] == 1) {
  204. //echo "es操作成功";
  205. //return;
  206. echo ' ' . $_id . ' ';
  207. $i++;
  208. } else {
  209. echo "es操作失败" . PHP_EOL;
  210. }
  211. }
  212. echo '共写入' . $i . '条数据' . PHP_EOL;
  213. }
  214. public static function buildData($params, $enterId, $addressData)
  215. {
  216. return [
  217. 'id' => isset($params['id']) ? $params['id'] : 0,//订单编号,
  218. 'no' => isset($params['no']) ? $params['no'] : '',//订单编号,
  219. 'outerTradeNo' => '',//'外部流水号(支付宝/微信返回的流水号)'
  220. 'shopId' => isset($params['shopId']) ? $params['shopId'] : 0,
  221. 'shopName' => isset($params['shopName']) ? $params['shopName'] : '',
  222. 'enterpriseId' => $enterId,
  223. 'userCenterId' => isset($params['userCenterId']) ? $params['userCenterId'] : 0,
  224. 'totalMoney' => isset($params['totalMoney']) ? $params['totalMoney'] : 0,
  225. 'payAmount' => isset($params['payAmount']) ? $params['payAmount'] : 0,
  226. 'buyTotal' => isset($params['buyTotal']) ? $params['buyTotal'] : 0,
  227. 'customerName' => isset($params['customerName']) ? $params['customerName'] : '',//客户姓名
  228. 'customerId' => isset($params['customerId']) ? $params['customerId'] : 0,//客户id
  229. 'customerType' => isset($params['customerType']) ? $params['customerType'] : 0,//客户类型
  230. 'payStatus' => isset($params['payStatus']) ? $params['payStatus'] : 0,//'支付状态 默认4 未支付 5已支付'
  231. 'orderStatus' => isset($params['orderStatus']) ? $params['orderStatus'] : StatusCode::$orderStatus['waitPay'],//订单状态 默认1 创建 2待支付 3代发货 4待收货 5已完成 6已关闭
  232. 'payType' => isset($params['payType']) ? $params['payType'] : 0,//'支付方式 1微信 2支付宝 3货到付款 4上门自提'
  233. 'deliveryType' => isset($params['deliveryType']) ? $params['deliveryType'] : 0,//'配送方式 1商品配送 2上门自提'
  234. 'source' => isset($params['source']) ? $params['source'] : 1,//订单来源 默认1 ios 2android 3小程序 4后台创建
  235. 'remark' => isset($params['remark']) ? $params['remark'] : '',//订单备注
  236. 'auditStatus' => isset($params['auditStatus']) ? $params['auditStatus'] : 1,// '审核状态 默认1 待审 2审核通过 3 审核未通过 4 审核中'
  237. //'payTime' => '',//'付款时间'
  238. 'createTime' => isset($params['createTime']) ? $params['createTime'] : 0,//'创建时间'
  239. 'updateTime' => isset($params['updateTime']) ? $params['updateTime'] : 0,//'修改时间',
  240. 'salesManId' => isset($params['salesManId']) ? $params['salesManId'] : 0,
  241. 'salesManName' => isset($params['salesManName']) ? $params['salesManName'] : '',
  242. 'returnStatus' => isset($params['notReturn']) ? $params['notReturn'] : StatusCode::$orderReturn['notReturn'],
  243. 'outStatus' => isset($params['outStatus']) ? $params['outStatus'] : StatusCode::$delete,
  244. 'verifyCode' => isset($params['verifyCode']) ? $params['verifyCode'] : '',//核销码
  245. /*收货人信息*/
  246. 'realName' => isset($addressData['realName']) ? $addressData['realName'] : '',//收货人姓名
  247. 'mobile' => isset($addressData['mobile']) ? $addressData['mobile'] : '',//收货人电话
  248. 'address' => isset($addressData['address']) ? $addressData['address'] : '',//收货详细地址
  249. 'provinceCode' => isset($addressData['provinceCode']) ? $addressData['provinceCode'] : '',//收货人省份编码
  250. 'cityCode' => isset($addressData['cityCode']) ? $addressData['cityCode'] : '',//收货人城市编码
  251. 'districtCode' => isset($addressData['districtCode']) ? $addressData['districtCode'] : '',//收货人区编码
  252. /*优惠信息*/
  253. 'preferential' => isset($params['preferential']) ? $params['preferential'] : 0,//优惠券优惠金额
  254. 'vipDiscount' => isset($params['vipDiscount']) ? $params['vipDiscount'] : 0,//会员卡优惠金额
  255. 'vipDoubleDiscount' => isset($params['vipDoubleDiscount']) ? $params['vipDoubleDiscount'] : 0,//会员卡折上折优惠金额
  256. /*商品信息*/
  257. 'goodsName' => $params['goodsName'] ? $params['goodsName'] : '',
  258. 'orderType' => isset($params['orderType']) ? $params['orderType'] : StatusCode::$orderType['salesSlip'],
  259. ];
  260. }
  261. /**
  262. * 创建文档id
  263. *
  264. * @param $orderId
  265. * @param $onlineEnterpriseId
  266. * @return string
  267. */
  268. private function createEsDocumentId($orderId, $onlineEnterpriseId)
  269. {
  270. return 'EnterpriseId_' . $onlineEnterpriseId . '_OrderId_' . intval($orderId);
  271. }
  272. }