import com.sdtool.business.dao.MallDao import com.sdtool.common.api.BusinessExecutor import com.sdtool.common.datas.ERPModule import com.sdtool.common.datas.TokenUserFrom import com.sdtool.common.entity.base.InvokeCallParams import com.sdtool.common.entity.base.InvokeCallResult import com.sdtool.common.entity.mall.MallUserAddress import com.sdtool.common.entity.site.ERPTokenUser import com.sdtool.common.tool.ERPUtils import com.alibaba.fastjson2.JSON import com.dySweetFishPlugin.sql.dao.OperatorWait import com.dySweetFishPlugin.sql.dao.TunaService import com.sweetfish.convert.json.JsonConvert import com.sweetfish.service.RetResult import groovy.json.JsonSlurper import org.rex.RMap import javax.annotation.Resource /** * @Author: xl Created on 2024-03-27 * @Content: */ class BE_MallUserAddress_Search implements BusinessExecutor { @Resource TunaService tunaService @Resource JsonConvert jsonConvert private MallDao mallDao @Override String scriptName() { return "购物商城-获取用户地址列表" } @Override ERPModule module() { return ERPModule.MALL_FRONT } @Override boolean needLogin(InvokeCallParams source) { return true } @Override void start(long supplierCode) { mallDao = tunaService.generate(MallDao.class) } @Override String getPerms(ERPTokenUser currentUser) { return "" } @Override OperatorWait getAWait(InvokeCallParams s) { return OperatorWait.AWAIT } @Override RetResult checkExecute(InvokeCallParams source) { ERPTokenUser currentUser = source.currentUser if (currentUser == null) RetResult. errorT().retinfo("未登录") return RetResult. successT().result(source) } @Override RetResult execute(InvokeCallParams source) { ERPTokenUser currentUser = source.currentUser long supplierCode = source.supplierCode String dataSourceId = source.dataSourceId JsonSlurper jsonSlurper = new JsonSlurper() def invokeData = jsonSlurper.parseText(source.params) String keyword = invokeData["keyword"] RMap params = new RMap() if (currentUser.userFrom == TokenUserFrom.MINI_MALL.value) { params.put("userId", currentUser.idBindOrg) } else { params.put("userId", currentUser.id) } params.put("keyword", keyword) params.put("orderBy", "defaultFlag desc,id desc") List mallUserAddressList = mallDao.queryMallUserAddress(params, source.page, dataSourceId, supplierCode) return RetResult. successT().result(InvokeCallResult.success().data(JSON.toJSONString(mallUserAddressList)).page(source.page)) } }