From a4b3ee325c7354579d495bc74a777e494e5ec38c Mon Sep 17 00:00:00 2001
From: quanwei <419654421@qq.com>
Date: Fri, 06 Feb 2026 18:18:44 +0800
Subject: [PATCH] 商品可以价格面议 选择走访时显示输入走访企业名 分会添加活动时要总会审核 分类添加人数限制,添加活动选择了填写人数限制的分类时活动名额下显示该分类人数限制为15 同一个企业30天内只能走访一次,在30天内走访同一个企业时提示该企业已被走访xx天后才可以从新走访
---
admin/app/shop/controller/plus/business/Business.php | 160 ++++++++++++++++++++++++++++++++++++++++++++++++++++-
1 files changed, 156 insertions(+), 4 deletions(-)
diff --git a/admin/app/shop/controller/plus/business/Business.php b/admin/app/shop/controller/plus/business/Business.php
index 5c70cc8..2fdc6a8 100644
--- a/admin/app/shop/controller/plus/business/Business.php
+++ b/admin/app/shop/controller/plus/business/Business.php
@@ -3,6 +3,10 @@
namespace app\shop\controller\plus\business;
use app\shop\controller\Controller;
use app\shop\model\plus\business\Business as BusinessModel;
+use app\common\service\business\Poster;
+use app\shop\model\plus\business\Template as TemplateModel;
+use app\common\model\settings\Region as RegionModel;
+
/**
* 名片管理
*/
@@ -10,16 +14,143 @@
{
public function index(){
$list=(new BusinessModel)->getList(request()->request());
- return $this->renderSuccess('',compact('list'));
+
+ // 获取所有地区
+ $regionData = RegionModel::getCacheTree();
+ $data = [
+ 'list' => $list,
+ 'regionData' => $regionData
+ ];
+ return $this->renderSuccess('', $data);
}
+
+ /**
+ * 添加名片
+ */
+ public function add(){
+ $param = request()->param();
+ $param = $param['business'];
+
+ // 处理数组字段
+ $this->processArrayFields($param);
+
+ // 设置默认值
+ $param['app_id'] = (new BusinessModel())::$app_id;
+
+ // 如果该用户还没有默认名片,则设置为默认
+ if (!empty($param['user_id']) && !(new BusinessModel())->where(['user_id' => $param['user_id'], 'is_default' => 1])->find()) {
+ $param['is_default'] = 1;
+ }
+ $param['position']=$param['unit'];
+ // 如果没有指定模板,则使用默认模板
+ if (empty($param['template_id'])) {
+ $defaultTemplate = (new TemplateModel())->where(['is_default' => 1])->find();
+ $param['template_id'] = $defaultTemplate ? $defaultTemplate['template_id'] : 0;
+ }
+
+ $model = new BusinessModel();
+ if ($model->save($param)) {
+ return $this->renderSuccess('添加成功');
+ }
+ return $this->renderError('添加失败');
+ }
+
+ /**
+ * 编辑名片
+ */
public function edit(){
- $param=request()->param();$param=$param['business'];
- $model=(new BusinessModel())->get($param['business_card_id']);
- if($model->add($param)){
+ $param = request()->param();
+ $param = $param['business'];
+
+ // 处理数组字段
+ $this->processArrayFields($param);
+
+ // 查找要编辑的名片
+ $model = (new BusinessModel())->where('business_card_id',$param['business_card_id'])->find();
+ if (!$model) {
+ return $this->renderError('名片不存在');
+ }
+ $param['position']=$param['unit'];
+ // 删除旧的海报图片
+ $Qrcode = new Poster($model->toArray());
+ $image = $Qrcode->getPosterPath('business');
+ if (file_exists($image)) {
+ unlink($image);
+ }
+ $image = $Qrcode->getPosterPath('desensitization');
+ if (file_exists($image)) {
+ unlink($image);
+ }
+ unset($param['sex']);
+ // 更新数据
+ if ($model->save($param)) {
return $this->renderSuccess('编辑成功');
}
return $this->renderError('编辑失败');
}
+
+ /**
+ * 处理数组字段
+ */
+ private function processArrayFields(&$param) {
+ // 处理单位字段
+ if (isset($param['unit'])) {
+ if (is_array($param['unit'])) {
+ $param['unit'] = json_encode($param['unit'], JSON_UNESCAPED_UNICODE);
+ } else if (is_string($param['unit']) && !empty($param['unit'])) {
+ // 如果是字符串,按逗号分割成数组
+ $units = explode(',', $param['unit']);
+ $units = array_map('trim', $units);
+ $param['unit'] = json_encode($units, JSON_UNESCAPED_UNICODE);
+ } else {
+ $param['unit'] = json_encode([], JSON_UNESCAPED_UNICODE);
+ }
+ }
+
+ // 处理职务字段
+ if (isset($param['duties'])) {
+ if (is_array($param['duties'])) {
+ $param['duties'] = json_encode($param['duties'], JSON_UNESCAPED_UNICODE);
+ } else if (is_string($param['duties']) && !empty($param['duties'])) {
+ // 如果是字符串,按逗号分割成数组
+ $duties = explode(',', $param['duties']);
+ $duties = array_map('trim', $duties);
+ $param['duties'] = json_encode($duties, JSON_UNESCAPED_UNICODE);
+ } else {
+ $param['duties'] = json_encode([], JSON_UNESCAPED_UNICODE);
+ }
+ }
+
+ // 处理地址字段
+ if (isset($param['address'])) {
+ if (is_array($param['address'])) {
+ $param['address'] = json_encode($param['address'], JSON_UNESCAPED_UNICODE);
+ } else if (is_string($param['address']) && !empty($param['address'])) {
+ // 如果是字符串,按逗号分割成数组
+ $addresses = explode(',', $param['address']);
+ $addresses = array_map('trim', $addresses);
+ $param['address'] = json_encode($addresses, JSON_UNESCAPED_UNICODE);
+ } else {
+ $param['address'] = json_encode([], JSON_UNESCAPED_UNICODE);
+ }
+ }
+
+ // 处理职位字段
+ if (isset($param['position'])) {
+ if (is_array($param['position'])) {
+ $param['position'] = json_encode($param['position'], JSON_UNESCAPED_UNICODE);
+ } else if (is_string($param['position']) && !empty($param['position'])) {
+ // 如果是字符串,按逗号分割成数组
+ $positions = explode(',', $param['position']);
+ $positions = array_map('trim', $positions);
+ $param['position'] = json_encode($positions, JSON_UNESCAPED_UNICODE);
+ } else {
+ // 默认使用职务信息作为职位信息
+ $param['position'] = $param['duties'] ?? json_encode([], JSON_UNESCAPED_UNICODE);
+ }
+ }
+ }
+
public function delete(){
$param=request()->param();
if((new BusinessModel())->where('business_card_id',$param['business_card_id'])->delete()){
@@ -27,4 +158,25 @@
}
return $this->renderError('删除失败');
}
+
+ /**
+ * 获取名片详情
+ */
+ public function detail($business_card_id) {
+ $data = BusinessModel::detail($business_card_id);
+ if ($data) {
+ $Qrcode = new Poster($data, 'business');
+ $data['mp'] = $Qrcode->getImage();
+ return $this->renderSuccess('', $data);
+ }
+ return $this->renderError('名片不存在');
+ }
+
+ /**
+ * 获取模板列表
+ */
+ public function getTemplateList() {
+ $list = (new TemplateModel())->getList();
+ return $this->renderSuccess('', compact('list'));
+ }
}
\ No newline at end of file
--
Gitblit v1.9.2