| New file |
| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | |
| | | import cn.afterturn.easypoi.excel.ExcelExportUtil; |
| | | import cn.afterturn.easypoi.excel.entity.ExportParams; |
| | | import com.alibaba.fastjson2.JSONObject; |
| | | import com.baomidou.mybatisplus.core.toolkit.Wrappers; |
| | | import com.ruoyi.common.core.domain.R; |
| | | import com.ruoyi.common.utils.WebUtils; |
| | | import com.ruoyi.system.importExcel.TErpCloudGoodsExcel; |
| | | import com.ruoyi.system.model.TSysCloudConfig; |
| | | import com.ruoyi.system.service.TCrmClinicCloudWarehouseService; |
| | | import com.ruoyi.system.service.TSysCloudConfigService; |
| | | import com.ruoyi.web.controller.yuncang.api.basic.WarehouseQuery; |
| | | import io.swagger.annotations.Api; |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.apache.poi.ss.usermodel.Workbook; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.ServletOutputStream; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.io.IOException; |
| | | import java.net.URLEncoder; |
| | | import java.sql.Wrapper; |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * <p> |
| | | * 诊所仓库 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | @Api(tags = "诊所云仓仓库") |
| | | @RestController |
| | | @RequestMapping("/t-crm-clinic-cloud-warehouse") |
| | | public class TCrmClinicCloudWarehouseController { |
| | | |
| | | private final TCrmClinicCloudWarehouseService tCrmClinicCloudWarehouseService; |
| | | private final TSysCloudConfigService sysCloudConfigService; |
| | | |
| | | |
| | | @Autowired |
| | | public TCrmClinicCloudWarehouseController(TCrmClinicCloudWarehouseService tCrmClinicCloudWarehouseService, TSysCloudConfigService sysCloudConfigService) { |
| | | this.tCrmClinicCloudWarehouseService = tCrmClinicCloudWarehouseService; |
| | | this.sysCloudConfigService = sysCloudConfigService; |
| | | } |
| | | |
| | | @ApiOperation(value = "查询云仓仓库列表",notes = "cloudWarehouse:云仓类型 1=旺店通") |
| | | @GetMapping("/queryCloudWarehouseList") |
| | | public R<JSONObject> queryCloudWarehouseList(@RequestParam Integer cloudWarehouse) { |
| | | // 查询云仓配置 |
| | | TSysCloudConfig sysCloudConfig = sysCloudConfigService.getOne(Wrappers.lambdaQuery(TSysCloudConfig.class) |
| | | .eq(TSysCloudConfig::getCloudWarehouse, cloudWarehouse) |
| | | .last("LIMIT 1")); |
| | | JSONObject jsonObject = WarehouseQuery.warehouseQuery(sysCloudConfig.getSid(), sysCloudConfig.getAppKey(), sysCloudConfig.getAppSecret(), sysCloudConfig.getUrl()); |
| | | return R.ok(jsonObject); |
| | | |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | private final RedisCache redisCache; |
| | | private final RestTemplate restTemplate; |
| | | private final WeixinProperties wxConfig; |
| | | private final TCrmClinicCloudWarehouseService crmClinicCloudWarehouseService; |
| | | @Autowired |
| | | public TCrmClinicController(TCrmClinicService crmClinicService, TCrmSupplierService crmSupplierService, TCrmBranchService crmBranchService, TCrmWarehouseService crmWarehouseService, TCrmSalespersonService crmSalespersonService, ISysUserService sysUserService, TCrmDeviceService crmDeviceService, TokenService tokenService, MsgUtils msgUtils, TSysMessageTemplateService sysMessageTemplateService, RedisCache redisCache, RestTemplate restTemplate, WeixinProperties wxConfig) { |
| | | public TCrmClinicController(TCrmClinicService crmClinicService, TCrmSupplierService crmSupplierService, TCrmBranchService crmBranchService, TCrmWarehouseService crmWarehouseService, TCrmSalespersonService crmSalespersonService, ISysUserService sysUserService, TCrmDeviceService crmDeviceService, TokenService tokenService, MsgUtils msgUtils, TSysMessageTemplateService sysMessageTemplateService, RedisCache redisCache, RestTemplate restTemplate, WeixinProperties wxConfig, TCrmClinicCloudWarehouseService crmClinicCloudWarehouseService) { |
| | | this.crmClinicService = crmClinicService; |
| | | this.crmSupplierService = crmSupplierService; |
| | | this.crmBranchService = crmBranchService; |
| | |
| | | this.redisCache = redisCache; |
| | | this.restTemplate = restTemplate; |
| | | this.wxConfig = wxConfig; |
| | | this.crmClinicCloudWarehouseService = crmClinicCloudWarehouseService; |
| | | } |
| | | |
| | | /** |
| | |
| | | if(Objects.nonNull(crmWarehouse)){ |
| | | crmSupplierVO.setWarehouseName(crmWarehouse.getWarehouseName()); |
| | | } |
| | | // 获取云仓关联信息 |
| | | List<TCrmClinicCloudWarehouse> crmClinicCloudWarehouses = crmClinicCloudWarehouseService.list(Wrappers.lambdaQuery(TCrmClinicCloudWarehouse.class).eq(TCrmClinicCloudWarehouse::getClinicId, crmSupplier.getId())); |
| | | crmSupplierVO.setCrmClinicCloudWarehouses(crmClinicCloudWarehouses); |
| | | return R.ok(crmSupplierVO); |
| | | } |
| | | |
| New file |
| | |
| | | package com.ruoyi.web.controller.api; |
| | | |
| | | |
| | | import org.springframework.web.bind.annotation.RequestMapping; |
| | | import org.springframework.web.bind.annotation.RestController; |
| | | |
| | | /** |
| | | * <p> |
| | | * 供应商店铺 前端控制器 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/t-crm-supplier-cloud-shop") |
| | | public class TCrmSupplierCloudShopController { |
| | | |
| | | } |
| | | |
| | |
| | | private final TCrmSupplierService crmSupplierService; |
| | | private final ISysUserService sysUserService; |
| | | private final TCrmWarehouseService crmWarehouseService; |
| | | private final TCrmSupplierCloudShopService crmSupplierCloudShopService; |
| | | @Autowired |
| | | public TCrmSupplierController(TCrmSupplierService crmSupplierService, ISysUserService sysUserService, TCrmWarehouseService crmWarehouseService) { |
| | | public TCrmSupplierController(TCrmSupplierService crmSupplierService, ISysUserService sysUserService, TCrmWarehouseService crmWarehouseService, TCrmSupplierCloudShopService crmSupplierCloudShopService) { |
| | | this.crmSupplierService = crmSupplierService; |
| | | this.sysUserService = sysUserService; |
| | | this.crmWarehouseService = crmWarehouseService; |
| | | this.crmSupplierCloudShopService = crmSupplierCloudShopService; |
| | | } |
| | | |
| | | /** |
| | |
| | | if(Objects.nonNull(crmWarehouse)){ |
| | | crmSupplierVO.setWarehouseName(crmWarehouse.getWarehouseName()); |
| | | } |
| | | // 查询云仓店铺信息 |
| | | List<TCrmSupplierCloudShop> crmSupplierCloudShops = crmSupplierCloudShopService.list(Wrappers.lambdaQuery(TCrmSupplierCloudShop.class) |
| | | .eq(TCrmSupplierCloudShop::getSupplierId, crmSupplier.getId())); |
| | | crmSupplierVO.setCrmSupplierCloudShops(crmSupplierCloudShops); |
| | | return R.ok(crmSupplierVO); |
| | | } |
| | | |
| | |
| | | import com.ruoyi.common.core.domain.entity.SysUser; |
| | | import com.ruoyi.common.core.exception.ServiceException; |
| | | import com.ruoyi.common.enums.BusinessType; |
| | | import com.ruoyi.common.utils.StringUtils; |
| | | import com.ruoyi.common.utils.WebUtils; |
| | | import com.ruoyi.framework.web.service.TokenService; |
| | | import com.ruoyi.system.dto.*; |
| | | import com.ruoyi.system.importExcel.TErpCloudGoodsExcel; |
| | | import com.ruoyi.system.importExcel.TErpGoodsExcel; |
| | | import com.ruoyi.system.model.*; |
| | | import com.ruoyi.system.query.PageAddListQuery; |
| | |
| | | } |
| | | return R.ok(); |
| | | } |
| | | |
| | | @Log(title = "云仓商品关联导入模板-导出", businessType = BusinessType.EXPORT) |
| | | @ApiOperation(value = "云仓商品关联导入模板") |
| | | @PostMapping("/cloudGoodsImportTemplate") |
| | | public void cloudGoodsImportTemplate() { |
| | | List<TErpCloudGoodsExcel> pageList = new ArrayList<>(); |
| | | Workbook workbook = ExcelExportUtil.exportExcel(new ExportParams(), TErpCloudGoodsExcel.class, pageList); |
| | | HttpServletResponse response = WebUtils.response(); |
| | | assert response != null; |
| | | response.setContentType("application/vnd.ms-excel"); |
| | | response.setCharacterEncoding("utf-8"); |
| | | ServletOutputStream outputStream = null; |
| | | try { |
| | | String fileName = URLEncoder.encode("云仓商品关联导入模板.xls", "utf-8"); |
| | | response.setHeader("Content-Disposition", "attachment;filename=" + fileName); |
| | | response.setContentType("application/vnd.ms-excel;charset=UTF-8"); |
| | | response.setHeader("Pragma", "no-cache"); |
| | | response.setHeader("Cache-Control", "no-cache"); |
| | | outputStream = response.getOutputStream(); |
| | | workbook.write(outputStream); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } finally { |
| | | try { |
| | | outputStream.close(); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | | |
| | | @Log(title = "云仓商品导入-导入", businessType = BusinessType.IMPORT) |
| | | @ApiOperation(value = "云仓商品信息导入",notes = "cloudWarehouse:云仓类型 1=旺店通") |
| | | @PostMapping("/importCloudGoodsFile") |
| | | public AjaxResult importCloudGoodsFile(@RequestParam(value = "file") MultipartFile file, |
| | | @RequestParam(value = "cloudWarehouse") Integer cloudWarehouse) { |
| | | ImportParams params = new ImportParams(); |
| | | params.setHeadRows(1); //表头行数 |
| | | InputStream inputStream = null; |
| | | ArrayList<String> names = new ArrayList<>(); |
| | | ArrayList<TErpGoods> tErpGoods = new ArrayList<>(); |
| | | |
| | | try { |
| | | inputStream = file.getInputStream(); |
| | | List<TErpCloudGoodsExcel> erpCloudGoodsExcels = ExcelImportUtil.importExcel(inputStream, TErpCloudGoodsExcel.class, params); |
| | | Set<String> collect = erpCloudGoodsExcels.stream().map(TErpCloudGoodsExcel::getCloudSpecCode).collect(Collectors.toSet()); |
| | | if (collect.size() != erpCloudGoodsExcels.size()) { |
| | | return AjaxResult.error("导入数据中商品规格编码重复"); |
| | | } |
| | | for (TErpCloudGoodsExcel erpCloudGoodsExcel : erpCloudGoodsExcels) { |
| | | // 判空 |
| | | if (StringUtils.isBlank(erpCloudGoodsExcel.getGoodsName())) { |
| | | names.add("云仓商品名称不能为空"); |
| | | continue; |
| | | } |
| | | if (StringUtils.isBlank(erpCloudGoodsExcel.getCloudGoodsCode())) { |
| | | names.add("云仓商品编码不能为空"); |
| | | continue; |
| | | } |
| | | if (StringUtils.isBlank(erpCloudGoodsExcel.getCloudSpecCode())) { |
| | | names.add("云仓商品规格编码不能为空"); |
| | | continue; |
| | | } |
| | | TErpGoods erpGoods = erpGoodsService.getOne(Wrappers.lambdaQuery(TErpGoods.class) |
| | | .eq(TErpGoods::getGoodsName, erpCloudGoodsExcel.getGoodsName()) |
| | | .last("LIMIT 1")); |
| | | if (Objects.isNull(erpGoods)) { |
| | | names.add(erpCloudGoodsExcel.getGoodsName() + " :信息有误,未查询到匹配得商品。"); |
| | | continue; |
| | | } |
| | | erpGoods.setCloudWarehouse(cloudWarehouse); |
| | | erpGoods.setCloudGoodsCode(erpCloudGoodsExcel.getCloudGoodsCode()); |
| | | erpGoods.setCloudSpecCode(erpCloudGoodsExcel.getCloudSpecCode()); |
| | | tErpGoods.add(erpGoods); |
| | | } |
| | | erpGoodsService.updateBatchById(tErpGoods); |
| | | } catch (Exception e) { |
| | | e.printStackTrace(); |
| | | return AjaxResult.error("记录导入失败!"); |
| | | } finally { |
| | | try { |
| | | inputStream.close(); |
| | | } catch (IOException e) { |
| | | throw new ServiceException(e.getMessage()); |
| | | } |
| | | } |
| | | if (!names.isEmpty()) { |
| | | return AjaxResult.error("导入失败记录如下:", names); |
| | | } |
| | | return AjaxResult.success(); |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| New file |
| | |
| | | package com.ruoyi.web.controller.yuncang.api.basic; |
| | | |
| | | import com.alibaba.fastjson2.JSON; |
| | | import com.ruoyi.web.controller.yuncang.utils.WdtClient; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public class ApiGoodsSpecPush { |
| | | |
| | | @SuppressWarnings("unchecked") |
| | | public static void main(String[] args) { |
| | | // TODO Auto-generated method stub |
| | | WdtClient client = new WdtClient("apidevnew2", "hytycw02-test", "c7ae51196", "https://sandbox.wangdian.cn/openapi2/"); |
| | | //测试环境sid、appkey、密钥请到旺店通开放平台-自助对接-申请测试环境内查看,测试环境url=https://sandbox.wangdian.cn/openapi2/ |
| | | //调用正式环境时请将sid、appkey、appsecret切换为实际参数,参数在旺店通开放平台-自助对接-应用管理内应用状态为已上线的应用中查看,调用正式环境注意切换正式环境url=https://api.wangdian.cn/openapi2/ |
| | | |
| | | Map<String, Object> api_goods_info = new HashMap<String,Object>(); |
| | | Map<String, Object>[] goods_list = new Map[1]; |
| | | |
| | | goods_list[0] = new HashMap<String,Object>(); |
| | | goods_list[0].put("goods_id", "20260109100903"); |
| | | goods_list[0].put("spec_id","20260109100903"); |
| | | goods_list[0].put("goods_no", "stest"); |
| | | goods_list[0].put("spec_no", "stes12"); |
| | | goods_list[0].put("status", "1"); |
| | | |
| | | api_goods_info.put("platform_id", "127"); |
| | | api_goods_info.put("shop_no", "hytycw02-test"); |
| | | api_goods_info.put("goods_list", goods_list); |
| | | |
| | | //通过第三方json解析工具类fastjson将map解析成json |
| | | String api_goods_info_json = JSON.toJSONString(api_goods_info); |
| | | //System.out.println(goods_list_json); |
| | | |
| | | Map<String, String> params = new HashMap<String, String>(); |
| | | |
| | | params.put("api_goods_info", api_goods_info_json); |
| | | try { |
| | | String response = client.execute("api_goodsspec_push.php", params); |
| | | System.out.println(response); |
| | | } catch (IOException e) { |
| | | // TODO Auto-generated catch block |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.web.controller.yuncang.api.basic; |
| | | |
| | | import com.ruoyi.web.controller.yuncang.utils.WdtClient; |
| | | |
| | | import java.io.IOException; |
| | | import java.util.HashMap; |
| | | import java.util.Map; |
| | | |
| | | public class VipApiGoodsQuery { |
| | | |
| | | public static void main(String[] args) { |
| | | WdtClient client = new WdtClient("apidevnew2", "hytycw02-test", "c7ae51196", "https://sandbox.wangdian.cn/openapi2/"); |
| | | //测试环境sid、appkey、密钥请到旺店通开放平台-自助对接-申请测试环境内查看,测试环境url=https://sandbox.wangdian.cn/openapi2/ |
| | | //调用正式环境时请将sid、appkey、appsecret切换为实际参数,参数在旺店通开放平台-自助对接-应用管理内应用状态为已上线的应用中查看,调用正式环境注意切换正式环境url=https://api.wangdian.cn/openapi2/ |
| | | |
| | | Map<String, String> params = new HashMap<String, String>(); |
| | | params.put("start_time", "2019-01-01 00:00:00"); |
| | | params.put("end_time", "2019-01-30 00:00:00"); |
| | | params.put("page_no", "0"); |
| | | params.put("page_size", "10"); |
| | | params.put("shop_no", "hytycw02-test"); try { |
| | | String response = client.execute("vip_api_goods_query.php", params); |
| | | System.out.println(response); |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | } |
| | |
| | | */ |
| | | public static JSONObject tradePush(String sid, String appkey, String appsecret, String url, |
| | | TErpProcurement erpProcurement, List<TErpProcurementGoods> erpProcurementGoods, |
| | | Integer trade_status,String clinicName,Integer status,Integer refund_status,String shop_no) { |
| | | Integer trade_status,String clinicName,Integer status,Integer refund_status, |
| | | String shop_no,String goods_id,String spec_id,String goods_no,String spec_no, |
| | | String receiver_name,String receiver_province,String receiver_city, |
| | | String receiver_district,String receiver_address,String receiver_mobile) { |
| | | WdtClient client = new WdtClient(sid, appkey, appsecret, url); |
| | | //测试环境sid、appkey、密钥请到旺店通开放平台-自助对接-申请测试环境内查看,测试环境url=https://sandbox.wangdian.cn/openapi2/ |
| | | //调用正式环境时请将sid、appkey、appsecret切换为实际参数,参数在旺店通开放平台-自助对接-应用管理内应用状态为已上线的应用中查看,调用正式环境注意切换正式环境url=https://api.wangdian.cn/openapi2/ |
| | |
| | | order_1.put("price", erpProcurementGood.getPurchasePrice()); |
| | | order_1.put("status", status); |
| | | order_1.put("refund_status", refund_status); |
| | | order_1.put("goods_id", "18344"); |
| | | order_1.put("spec_id", "18656"); |
| | | order_1.put("goods_no", "ghs2"); |
| | | order_1.put("spec_no", "ghs201812070212123"); |
| | | order_1.put("goods_id", goods_id); |
| | | order_1.put("spec_id", spec_id); |
| | | order_1.put("goods_no", goods_no); |
| | | order_1.put("spec_no", spec_no); |
| | | order_1.put("goods_name", erpProcurementGood.getGoodsName()); |
| | | order_1.put("discount", 0); //子订单折扣 |
| | | order_1.put("adjust_amount", 0); //手工调整,特别注意:正的表示加价,负的表示减价 |
| | |
| | | trade_1.put("trade_time", DateUtils.localDateTimeToDate(erpProcurement.getCreateTime())); |
| | | trade_1.put("pay_time", DateUtils.localDateTimeToDate(erpProcurement.getPayTime())); |
| | | trade_1.put("buyer_nick", clinicName); |
| | | trade_1.put("receiver_name", "123"); |
| | | trade_1.put("receiver_province", "河南省"); |
| | | trade_1.put("receiver_city", "周口市"); |
| | | trade_1.put("receiver_district", "川汇区"); |
| | | trade_1.put("receiver_address", "123"); |
| | | trade_1.put("receiver_mobile", "26283920011"); |
| | | trade_1.put("receiver_name", receiver_name); |
| | | trade_1.put("receiver_province", receiver_province); |
| | | trade_1.put("receiver_city", receiver_city); |
| | | trade_1.put("receiver_district", receiver_district); |
| | | trade_1.put("receiver_address", receiver_address); |
| | | trade_1.put("receiver_mobile", receiver_mobile); |
| | | // trade_1.put("logistics_type", 4); |
| | | trade_1.put("post_amount", 0); |
| | | trade_1.put("cod_amount", 0); |
| | |
| | | package com.ruoyi.system.dto; |
| | | |
| | | import com.ruoyi.system.model.TCrmClinic; |
| | | import com.ruoyi.system.model.TCrmClinicCloudWarehouse; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @ApiModel(value="TCrmClinicDTO对象", description="crm诊所管理") |
| | |
| | | @ApiModelProperty(value = "密码") |
| | | private String password; |
| | | |
| | | @ApiModelProperty(value = "云仓仓库集合") |
| | | private List<TCrmClinicCloudWarehouse> crmClinicCloudWarehouses; |
| | | |
| | | } |
| | |
| | | package com.ruoyi.system.dto; |
| | | |
| | | import com.ruoyi.system.model.TCrmSupplier; |
| | | import com.ruoyi.system.model.TCrmSupplierCloudShop; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | @ApiModelProperty(value = "仓库id") |
| | | private String warehouseId; |
| | | |
| | | @ApiModelProperty(value = "云仓店铺对象集合") |
| | | private List<TCrmSupplierCloudShop> crmSupplierCloudShops; |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.importExcel; |
| | | |
| | | import cn.afterturn.easypoi.excel.annotation.Excel; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | @Data |
| | | @ApiModel(value = "云仓商品导入Excel") |
| | | public class TErpCloudGoodsExcel { |
| | | |
| | | |
| | | @Excel(width = 30,name = "*商品名称") |
| | | private String goodsName; |
| | | |
| | | @Excel(width = 30,name = "*商品编码") |
| | | private String cloudGoodsCode; |
| | | |
| | | @Excel(width = 30,name = "*规格编码") |
| | | private String cloudSpecCode; |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.system.model.TCrmClinicCloudWarehouse; |
| | | |
| | | /** |
| | | * <p> |
| | | * 诊所仓库 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | public interface TCrmClinicCloudWarehouseMapper extends BaseMapper<TCrmClinicCloudWarehouse> { |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.system.model.TCrmSupplierCloudShop; |
| | | |
| | | /** |
| | | * <p> |
| | | * 供应商店铺 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | public interface TCrmSupplierCloudShopMapper extends BaseMapper<TCrmSupplierCloudShop> { |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.mapper; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.ruoyi.system.model.TSysCloudConfig; |
| | | |
| | | /** |
| | | * <p> |
| | | * 云仓配置 Mapper 接口 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | public interface TSysCloudConfigMapper extends BaseMapper<TSysCloudConfig> { |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 诊所仓库 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @TableName("t_crm_clinic_cloud_warehouse") |
| | | @ApiModel(value="TCrmClinicCloudWarehouse对象", description="诊所仓库") |
| | | public class TCrmClinicCloudWarehouse implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private String id; |
| | | |
| | | @ApiModelProperty(value = "诊所id") |
| | | @TableField("clinic_id") |
| | | private String clinicId; |
| | | |
| | | @ApiModelProperty(value = "云仓类型 1=旺店通") |
| | | @TableField("cloud_warehouse") |
| | | private Integer cloudWarehouse; |
| | | |
| | | @ApiModelProperty(value = "仓库编号") |
| | | @TableField("cloud_warehouse_no") |
| | | private String cloudWarehouseNo; |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 供应商店铺 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @TableName("t_crm_supplier_cloud_shop") |
| | | @ApiModel(value="TCrmSupplierCloudShop对象", description="供应商店铺") |
| | | public class TCrmSupplierCloudShop implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private String id; |
| | | |
| | | @ApiModelProperty(value = "供应商id") |
| | | @TableField("supplier_id") |
| | | private String supplierId; |
| | | |
| | | @ApiModelProperty(value = "云仓类型 1=旺店通") |
| | | @TableField("cloud_warehouse") |
| | | private Integer cloudWarehouse; |
| | | |
| | | @ApiModelProperty(value = "店铺编号") |
| | | @TableField("cloud_shop_no") |
| | | private String cloudShopNo; |
| | | |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "下架 1平台操作 2供应商操作") |
| | | @TableField("state_user") |
| | | private Integer stateUser; |
| | | |
| | | @ApiModelProperty(value = "云仓类型 1=旺店通") |
| | | @TableField("cloud_warehouse") |
| | | private Integer cloudWarehouse; |
| | | |
| | | @ApiModelProperty(value = "货品ID") |
| | | @TableField("cloud_goods_id") |
| | | private String cloudGoodsId; |
| | | |
| | | @ApiModelProperty(value = "规格ID") |
| | | @TableField("cloud_spec_id") |
| | | private String cloudSpecId; |
| | | |
| | | @ApiModelProperty(value = "商品编码") |
| | | @TableField("cloud_goods_code") |
| | | private String cloudGoodsCode; |
| | | |
| | | @ApiModelProperty(value = "规格编码") |
| | | @TableField("cloud_spec_code") |
| | | private String cloudSpecCode; |
| | | |
| | | /** |
| | | * 新增执行 |
| | | */ |
| New file |
| | |
| | | package com.ruoyi.system.model; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | import lombok.EqualsAndHashCode; |
| | | |
| | | import java.io.Serializable; |
| | | |
| | | /** |
| | | * <p> |
| | | * 云仓配置 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper = false) |
| | | @TableName("t_sys_cloud_config") |
| | | @ApiModel(value="TSysCloudConfig对象", description="云仓配置") |
| | | public class TSysCloudConfig implements Serializable { |
| | | |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @TableId(value = "id", type = IdType.ASSIGN_ID) |
| | | private String id; |
| | | |
| | | @ApiModelProperty(value = "云仓类型 1=旺店通") |
| | | @TableField("cloud_warehouse") |
| | | private Integer cloudWarehouse; |
| | | |
| | | @ApiModelProperty(value = "卖家账号,接口请求的公共参数sid") |
| | | @TableField("sid") |
| | | private String sid; |
| | | |
| | | @ApiModelProperty(value = "接口账号,接口请求的公共参数appkey") |
| | | @TableField("app_key") |
| | | private String appKey; |
| | | |
| | | @ApiModelProperty(value = "接口秘钥,接口请求的参数appsecret ,用于计算签名") |
| | | @TableField("app_secret") |
| | | private String appSecret; |
| | | |
| | | @ApiModelProperty(value = "接口地址,接口请求的公共参数url") |
| | | @TableField("url") |
| | | private String url; |
| | | |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.system.model.TCrmClinicCloudWarehouse; |
| | | |
| | | /** |
| | | * <p> |
| | | * 诊所仓库 服务类 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | public interface TCrmClinicCloudWarehouseService extends IService<TCrmClinicCloudWarehouse> { |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.system.model.TCrmSupplierCloudShop; |
| | | |
| | | /** |
| | | * <p> |
| | | * 供应商店铺 服务类 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | public interface TCrmSupplierCloudShopService extends IService<TCrmSupplierCloudShop> { |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.service; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.IService; |
| | | import com.ruoyi.system.model.TSysCloudConfig; |
| | | |
| | | /** |
| | | * <p> |
| | | * 云仓配置 服务类 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | public interface TSysCloudConfigService extends IService<TSysCloudConfig> { |
| | | |
| | | } |
| New file |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.mapper.TCrmClinicCloudWarehouseMapper; |
| | | import com.ruoyi.system.model.TCrmClinicCloudWarehouse; |
| | | import com.ruoyi.system.service.TCrmClinicCloudWarehouseService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 诊所仓库 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | @Service |
| | | public class TCrmClinicCloudWarehouseServiceImpl extends ServiceImpl<TCrmClinicCloudWarehouseMapper, TCrmClinicCloudWarehouse> implements TCrmClinicCloudWarehouseService { |
| | | |
| | | } |
| | |
| | | import com.ruoyi.system.mapper.TCrmClinicMapper; |
| | | import com.ruoyi.system.mapper.TCrmClinicPointsMapper; |
| | | import com.ruoyi.system.model.TCrmClinic; |
| | | import com.ruoyi.system.model.TCrmClinicCloudWarehouse; |
| | | import com.ruoyi.system.model.TCrmClinicPoints; |
| | | import com.ruoyi.system.model.TErpProcurement; |
| | | import com.ruoyi.system.query.TCrmClinicQuery; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import com.ruoyi.system.service.TCrmClinicService; |
| | | import com.ruoyi.system.service.TErpProcurementService; |
| | | import com.ruoyi.system.service.*; |
| | | import com.ruoyi.system.vo.TCrmClinicVO; |
| | | import com.ruoyi.system.vo.TCrmSupplierVO; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | private TErpProcurementService erpProcurementService; |
| | | @Autowired |
| | | private TCrmClinicPointsMapper crmClinicPointsMapper; |
| | | @Autowired |
| | | private TCrmClinicCloudWarehouseService crmClinicCloudWarehouseService; |
| | | |
| | | @Override |
| | | public PageInfo<TCrmClinicVO> pageList(TCrmClinicQuery query) { |
| | |
| | | return R.fail(dto.getPhone()+"-账号已存在"); |
| | | } |
| | | this.save(dto); |
| | | // 添加云仓仓库信息 |
| | | List<TCrmClinicCloudWarehouse> crmClinicCloudWarehouses = dto.getCrmClinicCloudWarehouses(); |
| | | for (TCrmClinicCloudWarehouse crmClinicCloudWarehouse : crmClinicCloudWarehouses) { |
| | | crmClinicCloudWarehouse.setClinicId(dto.getId()); |
| | | } |
| | | crmClinicCloudWarehouseService.saveBatch(crmClinicCloudWarehouses); |
| | | // 添加账号 |
| | | SysUser user = new SysUser(); |
| | | user.setUserName(dto.getPhone()); |
| | |
| | | return R.fail(dto.getPhone()+"-账号已存在"); |
| | | } |
| | | this.updateById(dto); |
| | | // 删除云仓仓库信息 |
| | | crmClinicCloudWarehouseService.remove(Wrappers.lambdaQuery(TCrmClinicCloudWarehouse.class).eq(TCrmClinicCloudWarehouse::getClinicId, dto.getId())); |
| | | // 添加云仓仓库信息 |
| | | List<TCrmClinicCloudWarehouse> crmClinicCloudWarehouses = dto.getCrmClinicCloudWarehouses(); |
| | | for (TCrmClinicCloudWarehouse crmClinicCloudWarehouse : crmClinicCloudWarehouses) { |
| | | crmClinicCloudWarehouse.setClinicId(dto.getId()); |
| | | } |
| | | crmClinicCloudWarehouseService.saveBatch(crmClinicCloudWarehouses); |
| | | SysUser user = sysUserService.selectUserById(dto.getUserId()); |
| | | if(Objects.nonNull(user)){ |
| | | // 修改账号 |
| New file |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.mapper.TCrmSupplierCloudShopMapper; |
| | | import com.ruoyi.system.model.TCrmSupplierCloudShop; |
| | | import com.ruoyi.system.service.TCrmSupplierCloudShopService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 供应商店铺 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | @Service |
| | | public class TCrmSupplierCloudShopServiceImpl extends ServiceImpl<TCrmSupplierCloudShopMapper, TCrmSupplierCloudShop> implements TCrmSupplierCloudShopService { |
| | | |
| | | } |
| | |
| | | import com.ruoyi.system.mapper.TCrmSupplierMapper; |
| | | import com.ruoyi.system.model.TCrmClinic; |
| | | import com.ruoyi.system.model.TCrmSupplier; |
| | | import com.ruoyi.system.model.TCrmSupplierCloudShop; |
| | | import com.ruoyi.system.model.TCrmSupplierToWarehouse; |
| | | import com.ruoyi.system.query.TCrmBranchQuery; |
| | | import com.ruoyi.system.query.TCrmSupplierQuery; |
| | | import com.ruoyi.system.service.ISysUserService; |
| | | import com.ruoyi.system.service.TCrmSupplierCloudShopService; |
| | | import com.ruoyi.system.service.TCrmSupplierService; |
| | | import com.ruoyi.system.service.TCrmSupplierToWarehouseService; |
| | | import com.ruoyi.system.vo.TCrmSupplierVO; |
| | |
| | | private ISysUserService sysUserService; |
| | | @Autowired |
| | | private TCrmSupplierToWarehouseService crmSupplierToWarehouseService; |
| | | @Autowired |
| | | private TCrmSupplierCloudShopService crmSupplierCloudShopService; |
| | | |
| | | @Override |
| | | public PageInfo<TCrmSupplierVO> pageList(TCrmSupplierQuery query) { |
| | |
| | | // } |
| | | // crmSupplierToWarehouseService.saveBatch(crmSupplierToWarehouses); |
| | | // } |
| | | // 添加供应商云仓店铺信息 |
| | | List<TCrmSupplierCloudShop> crmSupplierCloudShops = dto.getCrmSupplierCloudShops(); |
| | | for (TCrmSupplierCloudShop crmSupplierCloudShop : crmSupplierCloudShops) { |
| | | crmSupplierCloudShop.setSupplierId(dto.getId()); |
| | | } |
| | | crmSupplierCloudShopService.saveBatch(crmSupplierCloudShops); |
| | | // 添加账号 |
| | | SysUser user = new SysUser(); |
| | | user.setUserName(dto.getAccount()); |
| | |
| | | // } |
| | | // crmSupplierToWarehouseService.saveBatch(crmSupplierToWarehouses); |
| | | // } |
| | | // 删除相关云仓店铺信息 |
| | | crmSupplierCloudShopService.remove(Wrappers.lambdaQuery(TCrmSupplierCloudShop.class).eq(TCrmSupplierCloudShop::getSupplierId, dto.getId())); |
| | | // 添加供应商云仓店铺信息 |
| | | List<TCrmSupplierCloudShop> crmSupplierCloudShops = dto.getCrmSupplierCloudShops(); |
| | | for (TCrmSupplierCloudShop crmSupplierCloudShop : crmSupplierCloudShops) { |
| | | crmSupplierCloudShop.setSupplierId(dto.getId()); |
| | | } |
| | | crmSupplierCloudShopService.saveBatch(crmSupplierCloudShops); |
| | | if(Objects.nonNull(user)){ |
| | | // 修改账号 |
| | | user.setPhonenumber(dto.getPhone()); |
| New file |
| | |
| | | package com.ruoyi.system.service.impl; |
| | | |
| | | import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; |
| | | import com.ruoyi.system.mapper.TSysCloudConfigMapper; |
| | | import com.ruoyi.system.model.TSysCloudConfig; |
| | | import com.ruoyi.system.service.TSysCloudConfigService; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | /** |
| | | * <p> |
| | | * 云仓配置 服务实现类 |
| | | * </p> |
| | | * |
| | | * @author xiaochen |
| | | * @since 2026-02-03 |
| | | */ |
| | | @Service |
| | | public class TSysCloudConfigServiceImpl extends ServiceImpl<TSysCloudConfigMapper, TSysCloudConfig> implements TSysCloudConfigService { |
| | | |
| | | } |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.system.model.TCrmClinic; |
| | | import com.ruoyi.system.model.TCrmClinicCloudWarehouse; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @ApiModel(value = "crm诊所管理VO") |
| | |
| | | @ApiModelProperty(value = "业绩状态 1=未达成 2=已达成") |
| | | private Integer performanceStatus = 1; |
| | | |
| | | @ApiModelProperty(value = "诊所云仓仓库信息") |
| | | private List<TCrmClinicCloudWarehouse> crmClinicCloudWarehouses; |
| | | |
| | | } |
| | |
| | | package com.ruoyi.system.vo; |
| | | |
| | | import com.ruoyi.system.model.TCrmSupplier; |
| | | import com.ruoyi.system.model.TCrmSupplierCloudShop; |
| | | import io.swagger.annotations.ApiModel; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | |
| | | @ApiModelProperty(value = "仓库名称") |
| | | private String warehouseName; |
| | | |
| | | @ApiModelProperty(value = "云仓店铺信息") |
| | | private List<TCrmSupplierCloudShop> crmSupplierCloudShops; |
| | | |
| | | } |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.system.mapper.TCrmClinicCloudWarehouseMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TCrmClinicCloudWarehouse"> |
| | | <id column="id" property="id" /> |
| | | <result column="clinic_id" property="clinicId" /> |
| | | <result column="cloud_warehouse" property="cloudWarehouse" /> |
| | | <result column="cloud_warehouse_no" property="cloudWarehouseNo" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, clinic_id, cloud_warehouse, cloud_warehouse_no |
| | | </sql> |
| | | |
| | | </mapper> |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.system.mapper.TCrmSupplierCloudShopMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TCrmSupplierCloudShop"> |
| | | <id column="id" property="id" /> |
| | | <result column="supplier_id" property="supplierId" /> |
| | | <result column="cloud_warehouse" property="cloudWarehouse" /> |
| | | <result column="cloud_shop_no" property="cloudShopNo" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, supplier_id, cloud_warehouse, cloud_shop_no |
| | | </sql> |
| | | |
| | | </mapper> |
| | |
| | | <result column="clinic_purchase_price" property="clinicPurchasePrice"/> |
| | | <result column="platform_commission_price" property="platformCommissionPrice"/> |
| | | <result column="retail_price" property="retailPrice"/> |
| | | <result column="cloud_warehouse" property="cloudWarehouse"/> |
| | | <result column="cloud_goods_id" property="cloudGoodsId"/> |
| | | <result column="cloud_spec_id" property="cloudSpecId"/> |
| | | <result column="cloud_goods_code" property="cloudGoodsCode"/> |
| | | <result column="cloud_spec_code" property="cloudSpecCode"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <result column="update_time" property="updateTime"/> |
| | | <result column="create_by" property="createBy"/> |
| | |
| | | low_unit_id, is_prescription_drug, goods_spec, warning_inventory, sales_amount, packing_unit_id, instructions_use, |
| | | side_effect, clinic_purchase_price, platform_commission_price, create_time, update_time, create_by,`state`, |
| | | update_by, disabled,simplified_code,dosage_form,usage_classification,product_brand,place_of_origin,ingredient, |
| | | trait,indication,taboo,precautions,interaction,storage,supplier_name,cover,detail_pictures,retail_price |
| | | trait,indication,taboo,precautions,interaction,storage,supplier_name,cover,detail_pictures,retail_price, |
| | | cloud_warehouse,cloud_goods_code,cloud_spec_code,cloud_goods_id,cloud_spec_id |
| | | </sql> |
| | | |
| | | |
| | |
| | | t1.content_state, |
| | | t1.content_remark, |
| | | t1.state_remark, |
| | | t1.cover,t1.detail_pictures,t1.retail_price, |
| | | t1.cover,t1.detail_pictures,t1.retail_price,t1.cloud_warehouse,t1.cloud_goods_code,t1.cloud_spec_code,t1.cloud_goods_id,t1.cloud_spec_id, |
| | | case t1.goods_source |
| | | when 1 then t2.supplier_name |
| | | when 2 then t1.supplier_name |
| | |
| | | t1.interaction, |
| | | t1.content,t1.content_state, |
| | | t1.storage,t1.state_remark, |
| | | t1.cover,t1.detail_pictures,t1.retail_price, |
| | | t1.cover,t1.detail_pictures,t1.retail_price,t1.cloud_warehouse,t1.cloud_goods_code,t1.cloud_spec_code,t1.cloud_goods_id,t1.cloud_spec_id, |
| | | t2.supplier_name |
| | | from t_erp_goods t1 left join t_crm_supplier t2 on t1.supplier_clinic_id = t2.id and t1.goods_source =1 |
| | | where t1.disabled = 0 and t1.goods_source =1 |
| | |
| | | t1.update_time, |
| | | t1.create_id, |
| | | t3.type_name, |
| | | t1.cover,t1.detail_pictures,t1.retail_price |
| | | t1.cover,t1.detail_pictures,t1.retail_price,t1.cloud_warehouse,t1.cloud_goods_code,t1.cloud_goods_id,t1.cloud_spec_id,t1.cloud_spec_code |
| | | FROM t_erp_goods t1 |
| | | LEFT JOIN t_crm_supplier t2 ON t1.supplier_clinic_id = t2.id |
| | | left join t_erp_goods_type t3 on t1.type_id = t3.id |
| New file |
| | |
| | | <?xml version="1.0" encoding="UTF-8"?> |
| | | <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> |
| | | <mapper namespace="com.ruoyi.system.mapper.TSysCloudConfigMapper"> |
| | | |
| | | <!-- 通用查询映射结果 --> |
| | | <resultMap id="BaseResultMap" type="com.ruoyi.system.model.TSysCloudConfig"> |
| | | <id column="id" property="id" /> |
| | | <result column="cloud_warehouse" property="cloudWarehouse" /> |
| | | <result column="sid" property="sid" /> |
| | | <result column="app_key" property="appKey" /> |
| | | <result column="app_secret" property="appSecret" /> |
| | | <result column="url" property="url" /> |
| | | </resultMap> |
| | | |
| | | <!-- 通用查询结果列 --> |
| | | <sql id="Base_Column_List"> |
| | | id, cloud_warehouse, sid, app_key, app_secret, url |
| | | </sql> |
| | | |
| | | </mapper> |