应用开发
parent
e3df7fff78
commit
2936ddf90b
|
|
@ -35,7 +35,7 @@
|
|||
{{include file="lib/gender" /}}
|
||||
<div class="am-form-group">
|
||||
<label>生日</label>
|
||||
<input type="text" name="birthday" class="am-form-field am-radius Wdate" placeholder="生日" data-validation-message="生日格式有误" {{if !empty($data)}} value="{{$data.birthday_text}}" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})"{{/if}} autocomplete="off" />
|
||||
<input type="text" name="birthday" class="am-form-field am-radius Wdate" placeholder="生日" data-validation-message="生日格式有误" {{if !empty($data)}} value="{{$data.birthday_text}}"{{/if}} onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" autocomplete="off" />
|
||||
</div>
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm w100" data-am-loading="{loadingText:'处理中...'}">保存</button>
|
||||
|
|
|
|||
|
|
@ -13,6 +13,7 @@ namespace app\plugins\petscms;
|
|||
use think\Controller;
|
||||
use app\plugins\petscms\Service;
|
||||
use app\service\PluginsService;
|
||||
use app\service\UserService;
|
||||
|
||||
/**
|
||||
* 宠物管理系统 - 用户宠物管理
|
||||
|
|
@ -23,6 +24,8 @@ use app\service\PluginsService;
|
|||
*/
|
||||
class Pets extends Controller
|
||||
{
|
||||
private $user;
|
||||
|
||||
/**
|
||||
* 构造方法
|
||||
* @author Devil
|
||||
|
|
@ -34,6 +37,8 @@ class Pets extends Controller
|
|||
public function __construct()
|
||||
{
|
||||
parent::__construct();
|
||||
|
||||
$this->user = UserService::LoginUserInfo();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -46,6 +51,40 @@ class Pets extends Controller
|
|||
*/
|
||||
public function index($params = [])
|
||||
{
|
||||
// 参数
|
||||
$params = input();
|
||||
$params['user'] = $this->user;
|
||||
|
||||
// 分页
|
||||
$number = 10;
|
||||
|
||||
// 条件
|
||||
$where = Service::PetsListWhere($params);
|
||||
|
||||
// 获取总数
|
||||
$total = Service::PetsTotal($where);
|
||||
|
||||
// 分页
|
||||
$page_params = array(
|
||||
'number' => $number,
|
||||
'total' => $total,
|
||||
'where' => $params,
|
||||
'page' => isset($params['page']) ? intval($params['page']) : 1,
|
||||
'url' => PluginsHomeUrl('petscms', 'pets', 'index'),
|
||||
);
|
||||
$page = new \base\Page($page_params);
|
||||
$this->assign('page_html', $page->GetPageHtml());
|
||||
|
||||
// 获取列表
|
||||
$data_params = array(
|
||||
'm' => $page->GetPageStarNumber(),
|
||||
'n' => $number,
|
||||
'where' => $where,
|
||||
);
|
||||
$data = Service::PetsList($data_params);
|
||||
$this->assign('data_list', $data['data']);
|
||||
//print_r($data['data']);
|
||||
|
||||
$this->assign('pets_attribute_is_text_list', Service::$pets_attribute_is_text_list);
|
||||
$this->assign('pets_attribute_gender_list', Service::$pets_attribute_gender_list);
|
||||
$this->assign('pets_attribute_type_list', Service::$pets_attribute_type_list);
|
||||
|
|
@ -79,9 +118,15 @@ class Pets extends Controller
|
|||
*/
|
||||
public function save($params = [])
|
||||
{
|
||||
$ret = Service::PestSave($params);
|
||||
print_r($ret);
|
||||
die;
|
||||
// 是否ajax请求
|
||||
if(!IS_AJAX)
|
||||
{
|
||||
return $this->error('非法访问');
|
||||
}
|
||||
|
||||
// 用户
|
||||
$params['user'] = $this->user;
|
||||
return Service::PestSave($params);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -41,6 +41,162 @@ class Service
|
|||
1 => ['value' => 1, 'name' => '母'],
|
||||
];
|
||||
|
||||
/**
|
||||
* 宠物列表
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-09-29
|
||||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function PetsList($params = [])
|
||||
{
|
||||
$where = empty($params['where']) ? [] : $params['where'];
|
||||
$m = isset($params['m']) ? intval($params['m']) : 0;
|
||||
$n = isset($params['n']) ? intval($params['n']) : 10;
|
||||
$order_by = empty($params['order_by']) ? 'id desc' : $params['order_by'];
|
||||
|
||||
// 获取数据列表
|
||||
$data = Db::name('PluginsPetscmsPets')->where($where)->limit($m, $n)->order($order_by)->select();
|
||||
if(!empty($data))
|
||||
{
|
||||
foreach($data as &$v)
|
||||
{
|
||||
// 类型
|
||||
$v['type_name'] = self::$pets_attribute_type_list[$v['type']]['name'];
|
||||
|
||||
// 性别
|
||||
$v['gender_name'] = self::$pets_attribute_gender_list[$v['gender']]['name'];
|
||||
|
||||
// 是否绝育
|
||||
$v['sterilization_name'] = self::$pets_attribute_is_text_list[$v['sterilization']]['name'];
|
||||
|
||||
// 是否疫苗
|
||||
$v['vaccine_name'] = self::$pets_attribute_is_text_list[$v['vaccine']]['name'];
|
||||
|
||||
// 生日/年龄
|
||||
if(empty($v['birthday']))
|
||||
{
|
||||
$v['birthday_name'] = null;
|
||||
$v['age'] = '0岁';
|
||||
} else {
|
||||
$v['birthday_name'] = date('Y-m-d', $v['birthday']);
|
||||
$age = \base\Age::CalAge($v['birthday_name']);
|
||||
$v['age'] = $age['year'].'年'.$age['month'].'月'.$age['day'].'天';
|
||||
}
|
||||
|
||||
// 内容
|
||||
$v['content'] = ResourcesService::ContentStaticReplace($v['content'], 'get');
|
||||
|
||||
// 相册
|
||||
$v['photo'] = empty($v['photo']) ? null : self::GetPestPhotoHandle($v['photo']);
|
||||
|
||||
// 时间
|
||||
$v['add_time_time'] = date('Y-m-d H:i:s', $v['add_time']);
|
||||
$v['add_time_date'] = date('Y-m-d', $v['add_time']);
|
||||
$v['upd_time_time'] = empty($v['upd_time']) ? '' : date('Y-m-d H:i:s', $v['upd_time']);
|
||||
$v['upd_time_date'] = empty($v['upd_time']) ? '' : date('Y-m-d', $v['upd_time']);
|
||||
}
|
||||
}
|
||||
//print_r($data);
|
||||
return DataReturn('处理成功', 0, $data);
|
||||
}
|
||||
|
||||
/**
|
||||
* 宠物相册获取处理
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-04-11T22:56:49+0800
|
||||
* @param [array] $photo [相册数据]
|
||||
*/
|
||||
private static function GetPestPhotoHandle($photo)
|
||||
{
|
||||
$result = [];
|
||||
if(!empty($photo) && is_array($photo))
|
||||
{
|
||||
foreach($photo as &$v)
|
||||
{
|
||||
$result[] = [
|
||||
'images_old' => $v,
|
||||
'images' => ResourcesService::AttachmentPathViewHandle($v),
|
||||
];
|
||||
}
|
||||
}
|
||||
return $result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 宠物列表条件
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-09-29
|
||||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
*/
|
||||
public static function PetsListWhere($params = [])
|
||||
{
|
||||
// 条件初始化
|
||||
$where = [];
|
||||
|
||||
// 用户id
|
||||
if(!empty($params['user']))
|
||||
{
|
||||
$where[] = ['user_id', '=', $params['user']['id']];
|
||||
}
|
||||
|
||||
// 关键字
|
||||
if(!empty($params['keywords']))
|
||||
{
|
||||
$where[] = ['title|detail', 'like', '%'.$params['keywords'].'%'];
|
||||
}
|
||||
|
||||
// 是否更多条件
|
||||
if(isset($params['is_more']) && $params['is_more'] == 1)
|
||||
{
|
||||
// 等值
|
||||
if(!empty($params['type']))
|
||||
{
|
||||
$where[] = ['type', '=', $params['type']];
|
||||
}
|
||||
if(isset($params['gender']) && $params['gender'] > -1)
|
||||
{
|
||||
$where[] = ['gender', '=', intval($params['gender'])];
|
||||
}
|
||||
if(isset($params['sterilization']) && $params['sterilization'] > -1)
|
||||
{
|
||||
$where[] = ['sterilization', '=', intval($params['sterilization'])];
|
||||
}
|
||||
|
||||
if(!empty($params['time_start']))
|
||||
{
|
||||
$where[] = ['add_time', '>', strtotime($params['time_start'])];
|
||||
}
|
||||
if(!empty($params['time_end']))
|
||||
{
|
||||
$where[] = ['add_time', '<', strtotime($params['time_end'])];
|
||||
}
|
||||
}
|
||||
|
||||
return $where;
|
||||
}
|
||||
|
||||
/**
|
||||
* 宠物总数
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-09-29
|
||||
* @desc description
|
||||
* @param [array] $where [条件]
|
||||
*/
|
||||
public static function PetsTotal($where = [])
|
||||
{
|
||||
return (int) Db::name('PluginsPetscmsPets')->where($where)->count();
|
||||
}
|
||||
|
||||
/**
|
||||
* 宠物保存
|
||||
* @author Devil
|
||||
|
|
@ -77,7 +233,7 @@ class Service
|
|||
[
|
||||
'checked_type' => 'in',
|
||||
'key_name' => 'type',
|
||||
'checked_data' => array_column($pets_attribute_type_list, 'value'),
|
||||
'checked_data' => array_column(self::$pets_attribute_type_list, 'value'),
|
||||
'is_checked' => 2,
|
||||
'error_msg' => '宠物类型有误',
|
||||
],
|
||||
|
|
@ -91,14 +247,14 @@ class Service
|
|||
[
|
||||
'checked_type' => 'in',
|
||||
'key_name' => 'gender',
|
||||
'checked_data' => array_column($pets_attribute_gender_list, 'value'),
|
||||
'checked_data' => array_column(self::$pets_attribute_gender_list, 'value'),
|
||||
'is_checked' => 2,
|
||||
'error_msg' => '宠物性别有误',
|
||||
],
|
||||
[
|
||||
'checked_type' => 'in',
|
||||
'key_name' => 'sterilization',
|
||||
'checked_data' => array_column($pets_attribute_gender_list, 'value'),
|
||||
'checked_data' => array_column(self::$pets_attribute_gender_list, 'value'),
|
||||
'is_checked' => 2,
|
||||
'error_msg' => '宠物是否绝育有误',
|
||||
],
|
||||
|
|
@ -143,10 +299,73 @@ class Service
|
|||
return DataReturn($ret, -1);
|
||||
}
|
||||
|
||||
// 相册
|
||||
$photo = self::GetFormPetsPhotoParams($params);
|
||||
if($photo['code'] != 0)
|
||||
{
|
||||
return $photo;
|
||||
}
|
||||
|
||||
// 编辑器内容
|
||||
$content = empty($params['content']) ? '' : ResourcesService::ContentStaticReplace(htmlspecialchars_decode($params['content']), 'add');
|
||||
|
||||
// 宠物数据
|
||||
$data = [
|
||||
|
||||
'user_id' => isset($params['user']['id']) ? intval($params['user']['id']) : 0,
|
||||
'title' => isset($params['title']) ? $params['title'] : '',
|
||||
'name' => isset($params['name']) ? $params['name'] : '',
|
||||
'birthday' => empty($params['birthday']) ? 0 : strtotime($params['birthday']),
|
||||
'type' => isset($params['type']) ? $params['type'] : '',
|
||||
'varieties' => isset($params['varieties']) ? $params['varieties'] : '',
|
||||
'gender' => isset($params['gender']) ? intval($params['gender']) : 0,
|
||||
'sterilization' => isset($params['sterilization']) ? intval($params['sterilization']) : 0,
|
||||
'vaccine' => isset($params['vaccine']) ? intval($params['vaccine']) : 0,
|
||||
'photo' => empty($photo['data']) ? '' : json_encode($photo['data']),
|
||||
'content' => $content,
|
||||
'person_name' => isset($params['person_name']) ? $params['person_name'] : '',
|
||||
'person_tel' => isset($params['person_tel']) ? $params['person_tel'] : '',
|
||||
'person_weixin' => isset($params['person_weixin']) ? $params['person_weixin'] : '',
|
||||
];
|
||||
|
||||
if(empty($params['id']))
|
||||
{
|
||||
$data['add_time'] = time();
|
||||
if(Db::name('PluginsPetscmsPets')->insertGetId($data) > 0)
|
||||
{
|
||||
return DataReturn('添加成功', 0);
|
||||
}
|
||||
return DataReturn('添加失败', -100);
|
||||
} else {
|
||||
$data['upd_time'] = time();
|
||||
if(Db::name('PluginsPetscmsPets')->where(['id'=>intval($params['id'])])->update($data))
|
||||
{
|
||||
return DataReturn('编辑成功', 0);
|
||||
}
|
||||
return DataReturn('编辑失败', -100);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取宠物相册
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2018-07-10
|
||||
* @desc description
|
||||
* @param [array] $params [输入参数]
|
||||
* @return [array] [一维数组但图片地址]
|
||||
*/
|
||||
private static function GetFormPetsPhotoParams($params = [])
|
||||
{
|
||||
$result = [];
|
||||
if(!empty($params['photo']) && is_array($params['photo']))
|
||||
{
|
||||
foreach($params['photo'] as $v)
|
||||
{
|
||||
$result[] = ResourcesService::AttachmentPathHandle($v);
|
||||
}
|
||||
}
|
||||
return DataReturn('success', 0, $result);
|
||||
}
|
||||
}
|
||||
?>
|
||||
|
|
@ -95,11 +95,15 @@
|
|||
<thead>
|
||||
<tr>
|
||||
<th>标题</th>
|
||||
<th class="am-hide-sm-only">类型</th>
|
||||
<th class="am-hide-sm-only">业务</th>
|
||||
<th>详情</th>
|
||||
<th class="am-hide-sm-only">状态</th>
|
||||
<th>姓名</th>
|
||||
<th>类型</th>
|
||||
<th class="am-hide-sm-only">性别</th>
|
||||
<th class="am-hide-sm-only">品种</th>
|
||||
<th class="am-hide-sm-only">是否绝育</th>
|
||||
<th class="am-hide-sm-only">是否疫苗</th>
|
||||
<th class="am-hide-sm-only">生日/年龄</th>
|
||||
<th class="am-hide-sm-only">时间</th>
|
||||
<th>操作</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -107,17 +111,28 @@
|
|||
{{foreach $data_list as $v}}
|
||||
<tr>
|
||||
<td>{{$v.title}}</td>
|
||||
<td class="am-hide-sm-only">{{$v.type_name}}</td>
|
||||
<td class="am-hide-sm-only">{{$v.business_type_name}}</td>
|
||||
<td>{{$v.detail}}</td>
|
||||
<td class="am-hide-sm-only">{{$v.is_read_name}}</td>
|
||||
<td>{{$v.name}}</td>
|
||||
<td>{{$v.type_name}}</td>
|
||||
<td class="am-hide-sm-only">{{$v.gender_name}}</td>
|
||||
<td class="am-hide-sm-only">{{$v.varieties}}</td>
|
||||
<td class="am-hide-sm-only">{{$v.sterilization_name}}</td>
|
||||
<td class="am-hide-sm-only">{{$v.vaccine_name}}</td>
|
||||
<td class="am-hide-sm-only">
|
||||
{{if !empty($v['birthday_name'])}}
|
||||
{{$v.birthday_name}}<br />
|
||||
{{/if}}
|
||||
<span class="am-badge am-radius">{{$v.age}}</span>
|
||||
</td>
|
||||
<td class="am-hide-sm-only">{{$v.add_time_time}}</td>
|
||||
<td>
|
||||
edit
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
{{/if}}
|
||||
{{if empty($data_list)}}
|
||||
<tr>
|
||||
<td colspan="5">
|
||||
<td colspan="10">
|
||||
<div class="table-no"><i class="am-icon-warning"></i> 没有相关数据</div>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -25,7 +25,7 @@
|
|||
<form class="am-form form-validation view-save" action="{{:PluginsHomeUrl('petscms', 'pets', 'save')}}" method="POST" request-type="ajax-url" request-value="{{:PluginsHomeUrl('petscms', 'pets', 'index', $params)}}" enctype="multipart/form-data">
|
||||
<div class="am-form-group">
|
||||
<label>标题<span class="am-form-group-label-tips-must">必填</span></label>
|
||||
<input type="text" name="name" placeholder="标题" minlength="1" maxlength="60" data-validation-message="标题格式 1~60 个字符之间" class="am-radius" required />
|
||||
<input type="text" name="title" placeholder="标题" minlength="1" maxlength="60" data-validation-message="标题格式 1~60 个字符之间" class="am-radius" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
|
|
@ -35,7 +35,7 @@
|
|||
|
||||
<div class="am-form-group">
|
||||
<label>出生日期<span class="am-form-group-label-tips-must">必填</span></label>
|
||||
<input type="text" name="birthday" class="am-form-field am-radius Wdate" placeholder="出生日期" data-validation-message="出生日期格式有误" {{if !empty($data)}} value="{{$data.birthday_text}}" onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})"{{/if}} autocomplete="off" />
|
||||
<input type="text" name="birthday" class="am-form-field am-radius Wdate" placeholder="出生日期" data-validation-message="出生日期格式有误" {{if !empty($data)}} value="{{$data.birthday_text}}"{{/if}} onclick="WdatePicker({firstDayOfWeek:1,dateFmt:'yyyy-MM-dd'})" autocomplete="off" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
|
|
@ -49,8 +49,8 @@
|
|||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
<label>品种<span class="am-form-group-label-tips">选填</span></label>
|
||||
<input type="text" name="varieties" placeholder="品种" maxlength="30" data-validation-message="品种格式最多 30 个字符" class="am-radius" />
|
||||
<label>品种<span class="am-form-group-label-tips">必填</span></label>
|
||||
<input type="text" name="varieties" placeholder="品种" maxlength="30" data-validation-message="品种格式最多 30 个字符" class="am-radius" required />
|
||||
</div>
|
||||
|
||||
<div class="am-form-group">
|
||||
|
|
@ -85,8 +85,8 @@
|
|||
|
||||
<!-- 相册 -->
|
||||
<div class="am-form-group">
|
||||
<label>宠物相册<span class="am-form-group-label-tips">必选,可拖拽图片进行排序,建议图片尺寸一致</span></label>
|
||||
<ul class="plug-file-upload-view goods-photo-view" data-form-name="photo[]" data-max-number="5" data-dialog-type="images">
|
||||
<label>宠物相册<span class="am-form-group-label-tips">选填,可拖拽图片进行排序,建议图片尺寸一致</span></label>
|
||||
<ul class="plug-file-upload-view goods-photo-view" data-form-name="photo[]" data-max-number="6" data-dialog-type="images">
|
||||
{{if !empty($data['photo'])}}
|
||||
{{foreach $data.photo as $v}}
|
||||
<li>
|
||||
|
|
@ -102,8 +102,8 @@
|
|||
|
||||
<!-- 宠物简介 -->
|
||||
<div class="am-form-group">
|
||||
<label>宠物简介<span class="am-form-group-label-tips-must">必填</span></label>
|
||||
<textarea class="am-radius am-validate" name="content" maxlength="105000" id="editor-tag" data-validation-message="宠物简介内容最多 105000 个字符" required>{{if !empty($data)}}{{$data.content}}{{/if}}</textarea>
|
||||
<label>宠物简介<span class="am-form-group-label-tips-must">选填</span></label>
|
||||
<textarea class="am-radius am-validate" name="content" maxlength="105000" id="editor-tag" data-validation-message="宠物简介内容最多 105000 个字符">{{if !empty($data)}}{{$data.content}}{{/if}}</textarea>
|
||||
</div>
|
||||
|
||||
<!-- 主人信息 -->
|
||||
|
|
@ -122,7 +122,6 @@
|
|||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="am-form-group am-form-group-refreshing">
|
||||
<button type="submit" class="am-btn am-btn-primary am-radius btn-loading-example am-btn-sm am-btn-block" data-am-loading="{loadingText:'处理中...'}">提交</button>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -185,17 +185,16 @@ class ArticleService
|
|||
}
|
||||
|
||||
// 编辑器内容
|
||||
$content = isset($_POST['content']) ? $_POST['content'] : '';
|
||||
$content = isset($params['content']) ? htmlspecialchars_decode($params['content']) : '';
|
||||
|
||||
// 数据
|
||||
$content = ResourcesService::ContentStaticReplace($content, 'add');
|
||||
$image = self::MatchContentImage($content);
|
||||
$data = [
|
||||
'title' => $params['title'],
|
||||
'title_color' => empty($params['title_color']) ? '' : $params['title_color'],
|
||||
'article_category_id' => intval($params['article_category_id']),
|
||||
'jump_url' => empty($params['jump_url']) ? '' : $params['jump_url'],
|
||||
'content' => $content,
|
||||
'content' => ResourcesService::ContentStaticReplace($content, 'add'),
|
||||
'image' => empty($image) ? '' : json_encode($image),
|
||||
'image_count' => count($image),
|
||||
'is_enable' => isset($params['is_enable']) ? intval($params['is_enable']) : 0,
|
||||
|
|
|
|||
|
|
@ -191,14 +191,13 @@ class CustomViewService
|
|||
}
|
||||
|
||||
// 编辑器内容
|
||||
$content = isset($_POST['content']) ? $_POST['content'] : '';
|
||||
$content = isset($params['content']) ? htmlspecialchars_decode($params['content']) : '';
|
||||
|
||||
// 数据
|
||||
$content = ResourcesService::ContentStaticReplace($content, 'add');
|
||||
$image = self::MatchContentImage($content);
|
||||
$data = [
|
||||
'title' => $params['title'],
|
||||
'content' => $content,
|
||||
'content' => ResourcesService::ContentStaticReplace($content, 'add'),
|
||||
'image' => empty($image) ? '' : json_encode($image),
|
||||
'image_count' => count($image),
|
||||
'is_enable' => isset($params['is_enable']) ? intval($params['is_enable']) : 0,
|
||||
|
|
|
|||
|
|
@ -1049,7 +1049,7 @@ class GoodsService
|
|||
}
|
||||
|
||||
// 编辑器内容
|
||||
$content_web = isset($_POST['content_web']) ? $_POST['content_web'] : '';
|
||||
$content_web = empty($params['content_web']) ? '' : ResourcesService::ContentStaticReplace(htmlspecialchars_decode($params['content_web']), 'add');
|
||||
|
||||
// 基础数据
|
||||
$data = [
|
||||
|
|
@ -1063,7 +1063,7 @@ class GoodsService
|
|||
'buy_max_number' => isset($params['buy_max_number']) ? intval($params['buy_max_number']) : 0,
|
||||
'is_deduction_inventory' => isset($params['is_deduction_inventory']) ? intval($params['is_deduction_inventory']) : 0,
|
||||
'is_shelves' => isset($params['is_shelves']) ? intval($params['is_shelves']) : 0,
|
||||
'content_web' => ResourcesService::ContentStaticReplace($content_web, 'add'),
|
||||
'content_web' => $content_web,
|
||||
'images' => isset($photo['data'][0]) ? $photo['data'][0] : '',
|
||||
'photo_count' => count($photo['data']),
|
||||
'is_home_recommended' => isset($params['is_home_recommended']) ? intval($params['is_home_recommended']) : 0,
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -0,0 +1,138 @@
|
|||
<?php
|
||||
// +----------------------------------------------------------------------
|
||||
// | ShopXO 国内领先企业级B2C免费开源电商系统
|
||||
// +----------------------------------------------------------------------
|
||||
// | Copyright (c) 2011~2019 http://shopxo.net All rights reserved.
|
||||
// +----------------------------------------------------------------------
|
||||
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
|
||||
// +----------------------------------------------------------------------
|
||||
// | Author: Devil
|
||||
// +----------------------------------------------------------------------
|
||||
namespace base;
|
||||
|
||||
/**
|
||||
* 年龄计算
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @date 2019-04-12
|
||||
*/
|
||||
class Age {
|
||||
/**
|
||||
* 计算年龄精准到年月日
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-04-12T00:25:13+0800
|
||||
* @param [date] $birthday [日期]
|
||||
* @return [array] [计算后的时间]
|
||||
*/
|
||||
public static function CalAge($birthday)
|
||||
{
|
||||
list($byear, $bmonth, $bday) = explode('-', $birthday);
|
||||
list($year, $month, $day) = explode('-', date('Y-m-d'));
|
||||
$bmonth = intval($bmonth);
|
||||
$bday = intval($bday);
|
||||
if($bmonth < 10)
|
||||
{
|
||||
$bmonth = '0' . $bmonth;
|
||||
}
|
||||
if($bday < 10)
|
||||
{
|
||||
$bday = '0' . $bday;
|
||||
}
|
||||
$bi = intval($byear . $bmonth . $bday);
|
||||
$ni = intval($year . $month . $day);
|
||||
$not_birth = 0;
|
||||
if($bi > $ni)
|
||||
{
|
||||
$not_birth = 1;
|
||||
$tmp = array($byear, $bmonth, $bday);
|
||||
list($byear, $bmonth, $bday) = array($year, $month, $day);
|
||||
list($year, $month, $day) = $tmp;
|
||||
list($bi, $ni) = array($ni, $bi);
|
||||
}
|
||||
|
||||
//先取岁数
|
||||
$years = 0;
|
||||
while(($bi + 10000) <= $ni)
|
||||
{
|
||||
$bi += 10000;
|
||||
$years++;
|
||||
$byear++;
|
||||
}
|
||||
|
||||
//得到岁数后 抛弃年
|
||||
list($m, $d) = self::GetMd(array($year, $month, $day), array($byear, $bmonth, $bday));
|
||||
return array('year' => $years, 'month' => $m, 'day' => $d, 'not_birth' => $not_birth);
|
||||
}
|
||||
|
||||
/**
|
||||
* 只能用于一年内计算
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-04-12T00:24:40+0800
|
||||
* @param [date] $ymd [ymd]
|
||||
* @param [date] $bymd [bymd]
|
||||
*/
|
||||
public static function GetMd($ymd, $bymd)
|
||||
{
|
||||
list($y, $m, $d) = $ymd;
|
||||
list($by, $bm, $bd) = $bymd;
|
||||
if (($m . $d) < ($bm . $bd)) {
|
||||
$m +=12;
|
||||
}
|
||||
|
||||
$month = 0;
|
||||
while ((($bm . $bd) + 100) <= ($m . $d)) {
|
||||
$bm++;
|
||||
$month++;
|
||||
}
|
||||
|
||||
//同处一个月
|
||||
if($bd <= $d)
|
||||
{
|
||||
$day = $d - $bd;
|
||||
} else {
|
||||
//少一个月
|
||||
$mdays = $bm > 12 ? self::GetMothDay( ++$by, $bm - 12) : self::GetMothDay($by, $bm);
|
||||
$day = $mdays - $bd + $d;
|
||||
}
|
||||
return array($month, $day);
|
||||
}
|
||||
|
||||
/**
|
||||
* 月
|
||||
* @author Devil
|
||||
* @blog http://gong.gg/
|
||||
* @version 1.0.0
|
||||
* @datetime 2019-04-12T00:26:48+0800
|
||||
* @param [int] $year [年]
|
||||
* @param [int] $month [月]
|
||||
*/
|
||||
private static function GetMothDay($year, $month)
|
||||
{
|
||||
switch($month)
|
||||
{
|
||||
case 1:
|
||||
case 3:
|
||||
case 5:
|
||||
case 7:
|
||||
case 8:
|
||||
case 10:
|
||||
case 12:
|
||||
$day = 31;
|
||||
break;
|
||||
case 2:
|
||||
//能被4除尽的为29天其他28天
|
||||
$day = (intval($year % 4) ? 28 : 29);
|
||||
break;
|
||||
default:
|
||||
$day = 30;
|
||||
break;
|
||||
}
|
||||
return $day;
|
||||
}
|
||||
}
|
||||
?>
|
||||
Loading…
Reference in New Issue