一、迭代背景
医药类电商系统对合规性、数据规范性、流程严谨度要求远高于普通商城。元岳科技原有商城框架在医药场景存在多处短板:
• 无独立品牌管理模块,药品品牌杂乱、无法统一管控
• 商品批量导入导出字段不全,药品上架效率极低
• 处方药前端展示逻辑简陋,缺少合规提示、流程说明、用药安全提示
• 营销、分销未区分处方药/甲类OTC/乙类OTC,存在严重合规风险
• 佣金统计为整单统计,无明细、无日志,对账困难、不满足药监台账要求
本次迭代一次性完成后台标准化管理 + 商品批量运维 + 前端处方药合规展示 + 营销&分销合规管控 + 佣金明细日志体系整套能力升级。
全程使用CodeBuddy开发,对接方案 梳理逻辑,生成代码,修改BUG.测试无异常,已发布生产环境。
二、本次迭代核心功能概述
本次更新包含四大模块:
-
品牌独立管理模块(新增)
-
药品商品批量导入导出能力强化
-
前端处方药详情页、处方详情页合规重构优化
-
营销分销管控 + 明细级佣金日志合规体系
三、功能详细设计与实现
- 品牌管理模块(新增)
原有系统无商品品牌字段管理、无法筛选、无法统一维护。本次新增完整品牌后台管理体系。
核心能力:
• 后台独立品牌列表:新增、编辑、禁用、排序
• 商品绑定品牌,前台自动展示品牌信息,药品展示更专业
• 支持按品牌筛选商品、后台按品牌统计库存与销量
• 导入导出同步支持品牌字段,上架标准化
业务价值:解决医药商品品牌杂乱、维护混乱问题,适配药品多品牌。
`/**
-
品牌管理控制器
-
Class StoreBrand
-
@package app\adminapi\controller\v1\product
*/
class StoreBrand extends AuthController
{
public function __construct(App app, StoreBrandServices services)
{
parent::__construct($app);
this-\>services = services;
}
/**
- 品牌列表
- @return mixed
*/
public function index()
{
where = this->request->getMore( \['brand_name', '',
'is_show', '',
'page', 1,
'limit', 20,
]);
return app('json')->success(this-\>services-\>getList(where));
}
/**
- 品牌详情
- @param $id
- @return mixed
*/
public function read(id) { return app('json')-\>success(this->services->get($id));
}
/**
- 新增品牌
- @return mixed
*/
public function save()
{
data = this->request->postMore( \['brand_name', '',
'sort', 0,
'is_show', 1,
]);
this-\>services-\>create(data);
return app('json')->success('添加成功');
}
/**
- 编辑品牌
- @param $id
- @return mixed
*/
public function update(id) { data = this-\>request-\>postMore(\[ \['brand_name', ''\], \['sort', 0\], \['is_show', 1\], \]); this->services->update((int)id, data);
return app('json')->success('编辑成功');
}
/**
- 删除品牌
- @param $id
- @return mixed
*/
public function delete(id) { this->services->del((int)$id);
return app('json')->success('删除成功');
}
/**
- 获取已启用的品牌列表(下拉选择用)
- @return mixed
*/
public function getEnableList()
{
where = this->request->getMore( \['brand_name', '',
]);
return app('json')->success(this-\>services-\>getEnableList(where));
}
}`
- 药品商品批量导入导出升级
针对医药商品字段多、分类严、合规属性强的特点,重构导入导出逻辑。
优化点:
• 支持药品类型批量识别:处方药/甲类OTC/乙类OTC自动匹配属性
• 导入模板新增:品牌、药品规格、等专属字段
• 导入失败精准提示,避免大批量上架报错
• 导出完整药品台账,可直接用于库存盘点、药监备查
解决痛点:商家上万条药品商品无需手动逐条编辑,大幅降低运维成本。
`/**
* 商品批量导入
* @return \think\Response
/
public function importProduct()
{
rows = this->request->post('rows', \[\]);
if (!is_array(rows) \|\| empty(rows)) {
return app('json')->fail('导入数据不能为空');
}
/ * @var \app\services\product\product\StoreProductImportServices $importService */
$importService = app()->make(\app\services\product\product\StoreProductImportServices::class);
result = importService->importProducts($rows);
return app('json')->success($result);
}
/**
* 下载商品导入模板
* @return \think\Response
*/
public function importTemplate()
{
$header = '商品名称', '品牌', '商品类型', '商品分类', '售价', '销量', '库存';
$filename = '商品导入模板_' . date('YmdHis', time());
// 返回模板数据,由前端生成Excel
return app('json')->success(compact('header', 'filename'));
}`
- 前端处方药详情页 + 处方详情页重构优化
原有前端处方药页面和普通商品无区别,缺少合规提示、流程说明,存在展示不合规风险。
页面优化内容:
• 处方药商品页移除购物车、批量加入清单结算能力,仅保留立即问诊
• 页面顶部增加合规警示:处方药需医生问诊开方、不可直接购买
• 展示完整处方流程:提交问诊 - 医生评估 - 药师审方 - 处方生成 - 下单购药
• 处方详情页展示:处方编号、开方医生、审核药师、开方时间、药品配伍说明
• 增加用药安全提示、药品禁忌提示,提升合规性与用户信任感
• 优化UI层级,区分OTC普通商品与处方药专属页面结构
合规核心:处方药全程无直接购买、无批量结算、无营销优惠,完全符合网售药品监管要求。
`
✅
已为您开具处方,请核对无误后再支付
开方时间:{{ rp_info.create_date }}
{{ rp_info.rp_msg }}
医生:
{{ rp_info.doctor_name }}
诊断:
{{ rp_info.diagnose || '暂无' }}
拒方原因:
{{ rp_info.audit_reason }}
处方号:
{{ rp_info.rp_id }}
药师正在审核处方,请耐心等待
药品列表
共{{ rp_info.sale_amount }}件
{{ item.drug_name }}
数量:{{ item.sale_amount }}
规格:{{ item.drug_specification }}
处方笺
<button @click="checkPrescription" v-if="rp_info.rp_url">查看处方
暂无处方
温馨提示
- 请您再次确认用过该药品且无不良反应。如未用过该药品,请停止支付并联系药师咨询。
- 应严格按原处方和《药品说明书》使用(严格对照用法用量、不良反应、禁忌、注意事项和药物相互作用)。
- 用药期间如有不适,请立即停药并及时到当地医疗机构就诊。祝您早日康复!
<button class="pay-btn" @click="goPay">我已核对无误,去支付
<image src="/static/images/poster-close.png" class="close" @click="showPrescription = false">
<view class="save-poster" @click="savePosterPath">保存到手机
长按图片可以保存到手机
`
- 营销&分销合规管控 + 明细佣金日志体系
针对医药行业强监管规则,实现药品类型权限隔离,彻底杜绝违规营销、违规返佣。
管控规则:
• 处方药:禁止一切营销、禁止分销返佣(强制锁死,后台不可改)
• 甲类OTC:默认禁止营销分销,后台可控开关
• 乙类OTC:正常营销、正常分销
佣金明细重构:
• 混合订单(OTC+处方药)自动隔离,处方药零佣金并记录原因
• 完整佣金日志:推广人、商品类型、佣金状态、不计佣原因全部留痕
• 支持台账导出、财务对账、监管核查
`
甲类OTC参与营销活动
⚠
开启后,甲类非处方药可参与秒杀、拼团、砍价、抽奖、积分兑换等营销活动。
依据《药品网络销售监督管理办法》第八条及《处方药网络零售合规指南》(药监综药管函〔2026〕282号),开启后如因活动力度或宣传不当引发监管风险,由本门店自行承担。
最近一次操作: {{ lastRecord.admin_name }} 于 {{ formatTime(lastRecord.add_time) }} 开启 关闭
暂无操作记录 ` 四、关键技术实现亮点
• 双层校验机制:前端展示限制 + 后端强制拦截,杜绝绕过风险
• 药品类型权限自动继承:新增药品自动识别类型并赋值营销/分销权限
• 明细级佣金架构,解决混合订单合规难题
• 全流程日志留痕:处方、问诊、佣金、操作日志全部可追溯
五、总结
本次迭代完成了医药商城从"普通商城模式"到专业合规医药电商模式的关键升级:
标准化品牌管理、批量商品运维、处方药前端合规展示、营销分销强隔离、佣金明细台账化,全方位满足药监合规、商家运维、财务对账、用户体验四大需求。
整套系统实现:一次部署、终身可用、无年费、无扣点、支持二次定制开发。