山海优选卷轴模式源码实例分享

山海优选通过与绿色有机产品供应商和生产商的合作,建立起稳定的供应链关系,确保产品的绿色、有机、健康。通过产品认证和检测,为会员提供可信赖的绿色产品。积分激励机制设计 山海优选引入“绿色积分”机制,通过会员购买产品、参与社区活动和实施环保行动等方式积累积分。积分可用于抵扣商品购买、参与抽奖活动和兑换优惠券等。个性化推荐系统 通过会员消费行为和偏好的分析,建立个性化推荐系统。根据会员的购买历史和兴趣标签,为每个会员提供个性化的绿色产品推荐,提高购买转化率和用户满意度。
在这里插入图片描述
以下是山海优选系统开发的部分订单处理的核心源码(开发者:tieniu6636)

class StoreOrder extends BaseModel
{
use ModelTrait;/**
* 支付类型
* @var string[]
*/
protected $pay_type = [
1 => ‘weixin’,
2 => ‘yue’,
3 => ‘offline’,
4 => ‘alipay’
];/**
* 没拆分订单 与子订单(0:为拆分订单-1:已拆分主订单 >0 :拆分后子订单)
* @param Model $query
* @param $value
*/
public function searchNotPidAttr($query, $value)
{
$query->where(‘pid’,<>, -1);
}/**
* @param Model $query
* @param $value
*/
public function searchIdAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn(‘id’, $value);
} else {
$query->where(‘id’, $value);
}
}/**
* 支付方式搜索器
* @param $query
* @param $value
*/
public function searchPayTypeAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn(‘pay_type’, $value);
} else {
if ($value !==) {
$pay_type = $this->pay_type;
if (in_array($value, array_keys($pay_type)) && $type = $pay_type[$value] ??) {
$query->where(‘pay_type’, $type);
} else {
$query->where(‘pay_type’, $value);
}
}
}
}/**
* 不等于余额支付
* @param $query
* @param $value
*/
public function searchPayTypeNoAttr($query, $value)
{
$query->where(‘pay_type’,<>, $value);
}/**
* 订单id或者用户名搜索器
* @param $query
* @param $value
*/
public function searchOrderIdRealNameAttr($query, $value)
{
$query->where(order_id|real_name, $value);
}/**
* 用户ID搜索器
* @param Model $query
* @param $value
*/
public function searchUidAttr($query, $value)
{
if (is_array($value))
$query->whereIn(‘uid’, $value);
else
$query->where(‘uid’, $value);
}/**
* 支付状态搜索器
* @param Model $query
* @param $value
*/
public function searchPaidAttr($query, $value)
{
if (in_array($value, [0, 1])) {
$query->where(‘paid’, $value);
}
}/**
* 退款状态搜索器
* @param Model $query
* @param $value
* @param $data
*/
public function searchRefundStatusAttr($query, $value, $data)
{
if ($value !==) {
if (is_array($value)) {
$query->whereIn(‘refund_status’, $value);
} else {
$query->where(‘refund_status’, $value);
}
}
}/**
* 退款状态搜索器
* @param Model $query
* @param $value
* @param $data
*/
public function searchRefundStatusInAttr($query, $value)
{
$query->whereIn(‘refund_status’, $value);
}/**
* 是否是拼团订单
* @param Model $query
* @param $value
*/
public function searchPinkIdAttr($query, $value)
{
$query->where(‘pink_id’, $value);
}/**
* 拼团id搜索器
* @param Model $query
* @param $value
*/
public function searchCombinationIdAttr($query, $value)
{
$query->where(‘combination_id’, $value);
}/**
* 没有拼团订单或拼团商品
* @param Model $query
* @param $value
*/
public function searchCpIdGtAttr($query, $value)
{
$query->where(combination_id|pink_id,>, $value);
}/**
* 不是秒杀搜索器
* @param Model $query
* @param $value
*/
public function searchSeckillIdGtAttr($query, $value)
{
$query->where(‘seckill_id’,>, $value);
}/**
* 秒杀id商品搜索器
* @param Model $query
* @param $value
*/
public function searchSeckillIdAttr($query, $value)
{
$query->where(‘seckill_id’, $value);
}/**
* 砍价商品id搜索器
* @param Model $query
* @param $value
*/
public function searchBargainIdAttr($query, $value)
{
$query->where(‘bargain_id’, $value);
}/**
* 属于砍价搜索器
* @param Model $query
* @param $value
* @param $data
*/
public function searchBargainIdGtAttr($query, $value)
{
$query->where(‘bargain_id’,>, $value);
}/**
* 核销码搜索器
* @param Model $query
* @param $value
*/
public function searchVerifyCodeAttr($query, $value)
{
$query->where(‘verify_code’, $value);
}/**
* 支付状态搜索器
* @param Model $query
* @param $value
*/
public function searchIsDelAttr($query, $value)
{
if ($value !=) $query->where(‘is_del’, $value);
}/**
* 是否删除搜索器
* @param Model $query
* @param $value
*/
public function searchIsSystemDelAttr($query, $value)
{
if ($value !=) $query->where(‘is_system_del’, $value);
}/**
* 退款状态搜索器
* @param $query
* @param $value
*/
public function searchRefundTypeAttr($query, $value)
{
if (is_array($value)) {
$query->whereIn(‘refund_type’, $value);
} else {
if ($value == -1) {
$query->where(‘refund_type’, ‘in’,0,3);
} else {
if ($value == 0 || $value ==) {
$query->where(‘refund_type’,<>, 0);
} else {
$query->where(‘refund_type’, $value);
}
}
}
}/**
* 用户来源
* @param Model $query
* @param $value
*/
public function searchChannelTypeAttr($query, $value)
{
if ($value !=) $query->where(‘channel_type’, $value);
}/**
* 退款id搜索器
* @param Model $query
* @param $value
*/
public function searchRefundIdAttr($query, $value)
{
if ($value) {
$query->where(‘id’, ‘in’, $value);
}
}/**
* 上级|上上级推广人
* @param $query
* @param $value
*/
public function searchSpreadOrUidAttr($query, $value)
{
if ($value) $query->where(spread_uid|spread_two_uid, $value);
}/**
* 上级推广人
* @param $query
* @param $value
*/
public function searchSpreadUidAttr($query, $value)
{
if ($value) $query->where(‘spread_uid’, $value);
}/**
* 上上级推广人
* @param $query
* @param $value
*/
public function searchSpreadTwoUidAttr($query, $value)
{
if ($value) $query->where(‘spread_two_uid’, $value);
}/**
* 支付渠道
* @param $query
* @param $value
*/
public function searchIsChannelAttr($query, $value)
{
if ($value !==) $query->where(‘is_channel’, $value);
}

山海优选会员级别
专员:推荐10名有效用户,达到一定贡献值,持有初级消费包,享受15%交易手续费分h,赠送初级消费包;
主管:推荐15名有效用户,达到一定贡献值,持有低级消费包,享受20%交易手续费分h,赠送低级消费包;
经理:推荐20名有效用户,达到一定贡献值,持有高级消费包,享受12%交易手续费分h,赠送高级消费包;
总裁:推荐25名有效用户,达到一定贡献值,持有达人消费包,享受10%交易手续费分h,赠送达人消费包;
董事:推荐30名有效用户,达到一定贡献值,持有富人消费包,享受8%交易手续费分h,赠送富人消费包。

山海优选绿色消费积分机制:
消费力:由消费包产出,用于兑换消费包、兑换消费h包、兑换消费券
分成券:由业绩贡献分成,用于职务分成、市场分享奖励、释放消费力
消费h包:由消费力兑换,用于消费抵扣、兑换消费力、转赠
消费贡献积分:由抵扣消费h包数量产出,用于释放消费力

山海优选积分系统中消费力的五大减量:
1、每月同权日,权益通对消费力的通缩;
2、消费力兑换集团旗下上市公司股票进行通缩;
3、山海优选今年借壳上市后开通更多内部通缩通道;
4、元宇宙各种应用场景对消费力的消耗通缩;
5、商城海量交易对消费力的通缩;

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/59388.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java Web】用拦截器的方式获取用户信息

流程&#xff1a;从cookie中获取凭证&#xff0c;根据凭证查询用户&#xff0c;并在本次请求中持有用户&#xff0c;在视图模板上显示登录用户的信息。 1. 定义拦截器 package com.nowcoder.community.controller.Interceptor;import com.nowcoder.community.entity.LoginTic…

MyBatis-Plus的公共字段自动填充

文章目录 1. 在实体类的相应属性上添加TableField注解2. 自定义元数据对象处理器3. 为了解决对象处理器MyMetaObjecthandler 获取不到外界数据的情况 1. 在实体类的相应属性上添加TableField注解 package com.itheima.reggie.entity;import com.baomidou.mybatisplus.annotati…

docker 搭建私有仓库和制作镜像

目录 1、使用mysql:5.6和 owncloud 镜像&#xff0c;构建一个个人网盘。 1.1 启动mysql镜像 1.2 启动owncloud镜像 1.3 浏览器访问 1.4 总结 2、安装搭建私有仓库 Harbor 2.1 下载docker-compose并赋予执行权限 2.2 磁盘挂载&#xff0c;保存harbor 2.3 修改配置文件…

4G WiFi LoRa无线外夹式超声波管道流量计MQTT/http协议 json数据说明

ip&#xff1a;114.128.112.131 port&#xff1a;1883 uname&#xff1a;scwl_flowmeter pwd&#xff1a;b123 topic&#xff1a;iot/data/scwlflowmeter { “deviceId”:“设备序列号”, “flow”:“瞬时流量&#xff08;浮点数&#xff09;”, “heatFlow”:“瞬时热流量&am…

Docker技术--Docker容器管理

1.Docker容器相关的指令(单个容器操) 我们之前在Docker中部署了一个实际应用的案例wordpress,其中使用到了一些相关于容器的指令,那么下面我们一起来总结使用。 Docker指令的语法规则如下所示: Docker + 命令关键字 [+参数选项] -1类:关闭、开启、重启、开启自启 systemct…

mysql问题处理大全

mysql问题处理大全 一&#xff1a;mysql中文乱码问题&#xff1a; 解决一次问题 show variables like “%chara%” character_set_client 为客户端编码方式&#xff1b; character_set_connection为建立连接使用的编码方式&#xff1b; character_set_database为数据库的编码…

Web 自动化神器 TestCafe—页面高级操作篇

♥ 前 言 在【Web 自动化神器 TestCafe — 页面基本操作篇】这篇文章中我们介绍了TestCafe页面交互的一些基本使用 Web 自动化神器 TestCafe — 页面基本操作篇 这篇文章接着上一篇来给大家介绍一下 TestCafe 页面交互的一些高级操作。 一、鼠标拖拽 鼠标拖拽鼠标拖拽 …

枚举分片容错性动态扩展

枚举分片之前的《mycat字符串枚举分片示例》中已经介绍过。 使用这种分片策略之后碰到了一个问题&#xff1a; 场景&#xff1a; 使用连锁店的店铺编号枚举分片&#xff08;第1至第100分布店分在第一个分片&#xff0c;第101至第250分店&#xff09;&#xff0c;全国的连锁店会…

JavaScript常见的运算符

一、运算符和运算元 1.认识运算符 在小学的时候我们就学习了各种运算符&#xff0c;比如加号 、乘号 *、减号 - 、除号/ 几乎所有的编程语言都有各种各样的运算符(也被称之为操作符&#xff0c;operators) 初次接触这些运算符, 你会感觉种类繁多, 难以记忆.但是并不需要特别…

Kotlin判断null比较let布尔值Boolean

Kotlin判断null比较let布尔值Boolean class MyData {val count: Int? 2023val number: Int? null }fun main(args: Array<String>) {val data MyData()val year 2022if (data.count ! null) {if (data.count > year) {println("data.count ! null")}}…

CSS 盒子模型

前言 盒子模型-组成 CSS盒子模型是一种用来描述元素在页面布局中占据空间的模型。它将每个元素看作由内容区域、内边距、边框和外边距组成的一个矩形框。 盒子模型的组成部分包括&#xff1a; 内容区域&#xff08;Content&#xff09;&#xff1a;显示元素的实际内容&#xf…

无涯教程-Android - Frame Layout函数

Frame Layout 旨在遮挡屏幕上的某个区域以显示单个项目&#xff0c;通常&#xff0c;应使用FrameLayout来保存单个子视图&#xff0c;因为在子视图彼此不重叠的情况下&#xff0c;难以以可扩展到不同屏幕尺寸的方式组织子视图。 不过&#xff0c;您可以使用android:layout_grav…

Axure RP 8.1.0.3400(原型设计工具)

Axure RP 8是一款原型设计工具&#xff0c;它提供了丰富的功能和工具&#xff0c;帮助用户创建高质量的网页、移动应用和桌面软件原型。以下是Axure RP 8的一些特色介绍&#xff1a; 强大的交互设计&#xff1a;Axure RP 8支持创建复杂的动画和过渡效果&#xff0c;让你的原型更…

2023 js逆向爬虫 有道翻译 代码

前置条件&#xff1a;nodejs环境、安装 crypto 和 python3环境 js.js文件&#xff1a; const crypto require("crypto")function decode(resp_data) {g_o ydsecret://query/key/B*RGygVywfNBwpmBaZg*WT7SIOUP2T0C9WHMZN39j^DAdaZhAnxvGcCY6VYFwnHlg_n ydsecre…

微信短链跳转到小程序指定页面调试

首先说下背景&#xff1a;后端给了短链地址&#xff0c;但是无法跳转到指定页面。总是在小程序首页。指定的页面我们是h5页面。排查步骤如下&#xff1a; 1、通过快速URL Scheme 编译。上部普通编译 下拉找到此选项。 、 2、按照小程序的要求的URL Scheme输入。另外后端给的…

Redis7之介绍(一)

1. 是什么 Redis:REmote Dictionary Server(远程字典服务器&#xff09; Remote Dictionary Server( 远程字典服务)是完全开源的&#xff0c;使用ANSIC语言编写遵守BSD协议&#xff0c;是一个高性能的Key-Value数据库提供了丰富的数据结构&#xff0c;例如String、Hash、List、…

PlantUML文本绘制类图

记录下文本绘制类图的语法 参考 https://juejin.cn/post/6844903731293585421 类的UML表示 使用UML表示一个类&#xff0c;主要由三部分组成。类名、属性、方法。其中属性和方法的访问修饰符用 - 、# 、 表示 private、protected、public。 如图所示&#xff0c;表示A类有一个…

Unity3D 2021 使用 SharpZipLib 遇到的安卓打包 I18N 相关问题

在 Unity3D 中&#xff0c;使用 ICSharpCode.SharpZipLib.dll 来做压缩和解压缩&#xff0c;但打包安卓后遇到问题&#xff0c;原因是字符编码程序集被裁减掉了导致。 根据网上搜索&#xff0c;将 UnityEditor 对应目录下的 I18N开头的&#xff0c;比如 I18N.CJK.dll 等系列文…

筑牢数据隐私安全底线,ADSCOPE通过ISO隐私信息管理体系认证!

数字时代&#xff0c;信息安全尤其是数据隐私信息保护已经成为社会共识。近日&#xff0c;ADSCOPE&#xff08;上海倍孜网络技术有限公司&#xff09;已通过相关组织机构评审&#xff0c;符合ISO/IEC 27701&#xff1a;2019标准&#xff0c;获得隐私信息管理体系认证证书&#…

在Linux系统上使用Nginx作为图片服务器

在Linux系统上使用Nginx作为图片服务器的步骤如下&#xff1a; 1. 关闭防火墙和Selinux&#xff1a; # 临时关闭防火墙 sudo systemctl stop firewalld.service# 永久关闭防火墙 sudo systemctl disable firewalld.service# 临时关闭SELinux setenforce 0# 永久关闭SELinux sud…