天天看點

自定義hybris生成訂單的ID格式

在項目local.properties裡做出如下定義:

keygen.order.code.digits=8

keygen.order.code.start=00000000

keygen.order.code.numeric=true

keygen.order.code.template=$

core-spring.xml:

<bean id="orderCodeGenerator" class="de.hybris.platform.servicelayer.keygenerator.impl.PersistentKeyGenerator">
<property name="key" value="${keygen.order.code.name}"/>
<property name="digits" value="${keygen.order.code.digits}"/>
<property name="start" value="${keygen.order.code.start}"/>
<property name="numeric" value="${keygen.order.code.numeric}"/>
<property name="template" value="${keygen.order.code.template}"/>           

效果如下:

修改定義後,如果不想重新開機Hybris server也能讓他們立即生效,使用如下Java代碼:

import de.hybris.platform.jalo.numberseries.*
NumberSeriesManager nm = NumberSeriesManager.getInstance()
def s = nm.getNumberSeries("order_code")
println "Before: current: ${s.currentNumber} type: ${s.type} template: ${s.template}"
nm.resetNumberSeries(s.key, "777", s.type, s.template )
def s2 = nm.getNumberSeries("order_code")
println "After: current: ${s2.currentNumber} type: ${s2.type} template: ${s2.template}"           

本文來自雲栖社群合作夥伴“汪子熙”,了解相關資訊可以關注微信公衆号"汪子熙"。