diff --git a/tcctlo-admin/pom.xml b/tcctlo-admin/pom.xml index f1056acf..9d704cd0 100644 --- a/tcctlo-admin/pom.xml +++ b/tcctlo-admin/pom.xml @@ -68,6 +68,22 @@ ${tcctlo.version} + + org.springframework.boot + spring-boot-test + test + + + org.junit.jupiter + junit-jupiter + test + + + org.springframework + spring-test + test + + diff --git a/tcctlo-admin/src/main/java/com/tcctlo/web/controller/common/CommonController.java b/tcctlo-admin/src/main/java/com/tcctlo/web/controller/common/CommonController.java index d47bcfab..1d455e8b 100644 --- a/tcctlo-admin/src/main/java/com/tcctlo/web/controller/common/CommonController.java +++ b/tcctlo-admin/src/main/java/com/tcctlo/web/controller/common/CommonController.java @@ -1,22 +1,29 @@ package com.tcctlo.web.controller.common; +import java.io.FileOutputStream; +import java.io.InputStream; +import java.io.OutputStream; +import java.net.HttpURLConnection; +import java.net.MalformedURLException; +import java.net.URL; +import java.net.URLConnection; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.util.ArrayList; import java.util.List; +import java.util.UUID; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; +import com.tcctlo.common.annotation.Anonymous; +import org.apache.http.HttpResponse; import org.dromara.x.file.storage.core.FileInfo; import org.dromara.x.file.storage.core.FileStorageService; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.http.MediaType; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import com.tcctlo.common.config.RuoYiConfig; import com.tcctlo.common.constant.Constants; @@ -28,13 +35,13 @@ import com.tcctlo.framework.config.ServerConfig; /** * 通用请求处理 - * + * * @author ruoyi */ +@Anonymous @RestController @RequestMapping("/common") -public class CommonController -{ +public class CommonController { private static final Logger log = LoggerFactory.getLogger(CommonController.class); @Autowired @@ -47,17 +54,14 @@ public class CommonController /** * 通用下载请求 - * + * * @param fileName 文件名称 - * @param delete 是否删除 + * @param delete 是否删除 */ @GetMapping("/download") - public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) - { - try - { - if (!FileUtils.checkAllowDownload(fileName)) - { + public void fileDownload(String fileName, Boolean delete, HttpServletResponse response, HttpServletRequest request) { + try { + if (!FileUtils.checkAllowDownload(fileName)) { throw new Exception(StringUtils.format("文件名称({})非法,不允许下载。 ", fileName)); } String realFileName = System.currentTimeMillis() + fileName.substring(fileName.indexOf("_") + 1); @@ -66,13 +70,10 @@ public class CommonController response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); FileUtils.setAttachmentResponseHeader(response, realFileName); FileUtils.writeBytes(filePath, response.getOutputStream()); - if (delete) - { + if (delete) { FileUtils.deleteFile(filePath); } - } - catch (Exception e) - { + } catch (Exception e) { log.error("下载文件失败", e); } } @@ -81,10 +82,8 @@ public class CommonController * 通用上传请求(单个) */ @PostMapping("/upload") - public AjaxResult uploadFile(MultipartFile file) throws Exception - { - try - { + public AjaxResult uploadFile(MultipartFile file) throws Exception { + try { /*// 上传文件路径 String filePath = RuoYiConfig.getUploadPath(); // 上传并返回新文件名称 @@ -104,29 +103,50 @@ public class CommonController ajax.put("newFileName", FileUtils.getName(fileInfo.getUrl())); ajax.put("originalFilename", file.getOriginalFilename()); return ajax; - } - catch (Exception e) - { + } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } + /** + * 下载文件至本地 + * @param response 响应 + */ + @GetMapping("/downloadFileOnLocal") + public AjaxResult downloadFile(HttpServletResponse response, @RequestParam("urlPath") String urlPath, @RequestParam("path") String path) { + try { + URL url = new URL(urlPath); + String filePath = "F:\\fileDownload\\" + UUID.randomUUID() + urlPath.substring(urlPath.lastIndexOf(".")); + URLConnection conn = url.openConnection(); + InputStream inputStream = conn.getInputStream(); + FileOutputStream fileOutputStream = new FileOutputStream(filePath); + int bytesum = 0; + int byteread; + byte[] buffer = new byte[1024]; + while ((byteread = inputStream.read(buffer)) != -1) { + bytesum += byteread; + fileOutputStream.write(buffer, 0, byteread); + } + fileOutputStream.close(); + return AjaxResult.success("下载成功"); + } catch (Exception e) { + throw new RuntimeException("下载失败"); + } + } + /** * 通用上传请求(多个) */ @PostMapping("/uploads") - public AjaxResult uploadFiles(List files) throws Exception - { - try - { + public AjaxResult uploadFiles(List files) throws Exception { + try { // 上传文件路径 String filePath = RuoYiConfig.getUploadPath(); List urls = new ArrayList(); List fileNames = new ArrayList(); List newFileNames = new ArrayList(); List originalFilenames = new ArrayList(); - for (MultipartFile file : files) - { + for (MultipartFile file : files) { // 上传并返回新文件名称 String fileName = FileUploadUtils.upload(filePath, file); String url = serverConfig.getUrl() + fileName; @@ -141,9 +161,7 @@ public class CommonController ajax.put("newFileNames", StringUtils.join(newFileNames, FILE_DELIMETER)); ajax.put("originalFilenames", StringUtils.join(originalFilenames, FILE_DELIMETER)); return ajax; - } - catch (Exception e) - { + } catch (Exception e) { return AjaxResult.error(e.getMessage()); } } @@ -153,12 +171,9 @@ public class CommonController */ @GetMapping("/download/resource") public void resourceDownload(String resource, HttpServletRequest request, HttpServletResponse response) - throws Exception - { - try - { - if (!FileUtils.checkAllowDownload(resource)) - { + throws Exception { + try { + if (!FileUtils.checkAllowDownload(resource)) { throw new Exception(StringUtils.format("资源文件({})非法,不允许下载。 ", resource)); } // 本地资源路径 @@ -170,9 +185,7 @@ public class CommonController response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE); FileUtils.setAttachmentResponseHeader(response, downloadName); FileUtils.writeBytes(downloadPath, response.getOutputStream()); - } - catch (Exception e) - { + } catch (Exception e) { log.error("下载文件失败", e); } } diff --git a/tcctlo-admin/src/main/resources/application-druid.yml b/tcctlo-admin/src/main/resources/application-druid.yml index 58051c71..83acc8e1 100644 --- a/tcctlo-admin/src/main/resources/application-druid.yml +++ b/tcctlo-admin/src/main/resources/application-druid.yml @@ -6,7 +6,7 @@ spring: druid: # 主库数据源 master: - url: jdbc:mysql://117.72.45.219:23308/low-office-OA?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 + url: jdbc:mysql://localhost:3306/low-office-oa?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8 username: root password: root # 从库数据源 diff --git a/tcctlo-admin/src/main/resources/application.yml b/tcctlo-admin/src/main/resources/application.yml index dd5af932..aed6a791 100644 --- a/tcctlo-admin/src/main/resources/application.yml +++ b/tcctlo-admin/src/main/resources/application.yml @@ -68,7 +68,7 @@ spring: # redis 配置 redis: # 地址 - host: 117.72.45.219 + host: 127.0.0.1 # 端口,默认为6379 port: 6379 # 数据库索引 @@ -95,7 +95,7 @@ token: # 令牌密钥 secret: abcdefghijklmnopqrstuvwxyz # 令牌有效期(默认30分钟) - expireTime: 30 + expireTime: 60 mybatis-plus: # 搜索指定包别名 diff --git a/tcctlo-admin/src/test/java/FileTest.java b/tcctlo-admin/src/test/java/FileTest.java new file mode 100644 index 00000000..a66f3623 --- /dev/null +++ b/tcctlo-admin/src/test/java/FileTest.java @@ -0,0 +1,15 @@ +import com.tcctlo.TCCTLawOfficeApplication; +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; +import org.springframework.boot.test.context.SpringBootTest; + +@SpringBootTest(classes = TCCTLawOfficeApplication.class) +public class FileTest { + + @Test + @DisplayName("测试:截取文件后缀名") + public void testFileName(){ + String fileName = "https://low-office.oss-cn-beijing.aliyuncs.com/low-office-images/2025/01/25/67948d96229fc1a67923a564.xlsx"; + System.out.println(fileName.substring(fileName.lastIndexOf("."))); + } +} diff --git a/tcctlo-common/pom.xml b/tcctlo-common/pom.xml index 626eceaa..c7095e99 100644 --- a/tcctlo-common/pom.xml +++ b/tcctlo-common/pom.xml @@ -146,6 +146,8 @@ mybatis-plus-boot-starter 3.5.1 + + \ No newline at end of file diff --git a/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/SysLoginService.java b/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/SysLoginService.java index 6ef0bbce..de1b6b5b 100644 --- a/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/SysLoginService.java +++ b/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/SysLoginService.java @@ -71,7 +71,9 @@ public class SysLoginService Authentication authentication = null; try { + // 创建用户名密码对象 UsernamePasswordAuthenticationToken authenticationToken = new UsernamePasswordAuthenticationToken(username, password); + //将用户名密码放入认证上下文 AuthenticationContextHolder.setContext(authenticationToken); // 该方法会去调用UserDetailsServiceImpl.loadUserByUsername authentication = authenticationManager.authenticate(authenticationToken); @@ -94,7 +96,10 @@ public class SysLoginService AuthenticationContextHolder.clearContext(); } AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); + + //通过springSecurity获取登录用户的信息,包含用户角色、权限 LoginUser loginUser = (LoginUser) authentication.getPrincipal(); + recordLoginInfo(loginUser.getUserId()); // 生成token return tokenService.createToken(loginUser); diff --git a/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/SysPasswordService.java b/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/SysPasswordService.java index 07cf5140..b5c6df0a 100644 --- a/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/SysPasswordService.java +++ b/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/SysPasswordService.java @@ -43,12 +43,19 @@ public class SysPasswordService public void validate(SysUser user) { + //获取当前的认证信息 Authentication usernamePasswordAuthenticationToken = AuthenticationContextHolder.getContext(); + + //从认证信息中提取用户名 String username = usernamePasswordAuthenticationToken.getName(); + + //从认证信息中提取密码 String password = usernamePasswordAuthenticationToken.getCredentials().toString(); + //尝试从缓存中获取当前用户的密码重试次数 Integer retryCount = redisCache.getCacheObject(getCacheKey(username)); + //如果缓存中没有重试次数,初始化为0 if (retryCount == null) { retryCount = 0; diff --git a/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/UserDetailsServiceImpl.java b/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/UserDetailsServiceImpl.java index 3706ff24..f3434aff 100644 --- a/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/UserDetailsServiceImpl.java +++ b/tcctlo-framework/src/main/java/com/tcctlo/framework/web/service/UserDetailsServiceImpl.java @@ -54,8 +54,10 @@ public class UserDetailsServiceImpl implements UserDetailsService throw new ServiceException(MessageUtils.message("user.blocked")); } + //验证用户名密码是否正确 passwordService.validate(user); + //创建并返回登录用户对象(将用户相关信息存入spring Security) return createLoginUser(user); } diff --git a/tcctlo-generator/src/test/java/GeneratorUIServer.java b/tcctlo-generator/src/test/java/GeneratorUIServer.java index 99798581..60f59ef4 100644 --- a/tcctlo-generator/src/test/java/GeneratorUIServer.java +++ b/tcctlo-generator/src/test/java/GeneratorUIServer.java @@ -37,7 +37,7 @@ public class GeneratorUIServer { } }) //所有生成的java文件的父包名,后续也可单独在界面上设置 - .basePackage("com.tcctyn.forestfire") + .basePackage("com.tcctlo.law") .port(8068) .build(); MybatisPlusToolsApplication.run(config); diff --git a/tcctlo-law-office/src/main/java/com/tcctlo/law/controller/GoodsController.java b/tcctlo-law-office/src/main/java/com/tcctlo/law/controller/GoodsController.java index f59e0950..ebc751e3 100644 --- a/tcctlo-law-office/src/main/java/com/tcctlo/law/controller/GoodsController.java +++ b/tcctlo-law-office/src/main/java/com/tcctlo/law/controller/GoodsController.java @@ -1,47 +1,51 @@ package com.tcctlo.law.controller; import java.util.List; +import java.util.Map; import javax.servlet.http.HttpServletResponse; + +import com.tcctlo.common.annotation.Anonymous; +import com.tcctlo.law.entity.Goods; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.PutMapping; -import org.springframework.web.bind.annotation.DeleteMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import org.springframework.web.bind.annotation.*; import com.tcctlo.common.annotation.Log; import com.tcctlo.common.core.controller.BaseController; import com.tcctlo.common.core.domain.AjaxResult; import com.tcctlo.common.enums.BusinessType; -import com.tcctlo.law.domain.Goods; import com.tcctlo.law.service.IGoodsService; import com.tcctlo.common.utils.poi.ExcelUtil; import com.tcctlo.common.core.page.TableDataInfo; /** * 商品管理Controller - * - * @author 张世琪 - * @date 2025-01-20 + * + * @author coco + * @date 2025-01-30 */ @RestController @RequestMapping("/tcctlo-law-office/goods") -public class GoodsController extends BaseController -{ +public class GoodsController extends BaseController { @Autowired private IGoodsService goodsService; + /** + * 模拟案件转移给其他律师 + * @param map 原承办律师与要转移的律师数据集 + */ + @Anonymous + @PostMapping("/hello") + public void test(@RequestBody Map map) { + System.out.println(map); + System.out.println("test"); + } + /** * 查询商品管理列表 */ @PreAuthorize("@ss.hasPermi('tcctlo-law-office:goods:list')") @GetMapping("/list") - public TableDataInfo list(Goods goods) - { - //测试提交 + public TableDataInfo list(Goods goods) { startPage(); List list = goodsService.selectGoodsList(goods); return getDataTable(list); @@ -53,8 +57,7 @@ public class GoodsController extends BaseController @PreAuthorize("@ss.hasPermi('tcctlo-law-office:goods:export')") @Log(title = "商品管理", businessType = BusinessType.EXPORT) @PostMapping("/export") - public void export(HttpServletResponse response, Goods goods) - { + public void export(HttpServletResponse response, Goods goods) { List list = goodsService.selectGoodsList(goods); ExcelUtil util = new ExcelUtil(Goods.class); util.exportExcel(response, list, "商品管理数据"); @@ -65,8 +68,7 @@ public class GoodsController extends BaseController */ @PreAuthorize("@ss.hasPermi('tcctlo-law-office:goods:query')") @GetMapping(value = "/{id}") - public AjaxResult getInfo(@PathVariable("id") Long id) - { + public AjaxResult getInfo(@PathVariable("id") Long id) { return success(goodsService.selectGoodsById(id)); } @@ -76,8 +78,7 @@ public class GoodsController extends BaseController @PreAuthorize("@ss.hasPermi('tcctlo-law-office:goods:add')") @Log(title = "商品管理", businessType = BusinessType.INSERT) @PostMapping - public AjaxResult add(@RequestBody Goods goods) - { + public AjaxResult add(@RequestBody Goods goods) { return toAjax(goodsService.insertGoods(goods)); } @@ -87,8 +88,7 @@ public class GoodsController extends BaseController @PreAuthorize("@ss.hasPermi('tcctlo-law-office:goods:edit')") @Log(title = "商品管理", businessType = BusinessType.UPDATE) @PutMapping - public AjaxResult edit(@RequestBody Goods goods) - { + public AjaxResult edit(@RequestBody Goods goods) { return toAjax(goodsService.updateGoods(goods)); } @@ -97,9 +97,8 @@ public class GoodsController extends BaseController */ @PreAuthorize("@ss.hasPermi('tcctlo-law-office:goods:remove')") @Log(title = "商品管理", businessType = BusinessType.DELETE) - @DeleteMapping("/{ids}") - public AjaxResult remove(@PathVariable Long[] ids) - { + @DeleteMapping("/{ids}") + public AjaxResult remove(@PathVariable Long[] ids) { return toAjax(goodsService.deleteGoodsByIds(ids)); } } diff --git a/tcctlo-law-office/src/main/java/com/tcctlo/law/domain/Goods.java b/tcctlo-law-office/src/main/java/com/tcctlo/law/entity/Goods.java similarity index 57% rename from tcctlo-law-office/src/main/java/com/tcctlo/law/domain/Goods.java rename to tcctlo-law-office/src/main/java/com/tcctlo/law/entity/Goods.java index 07bdea8c..23706711 100644 --- a/tcctlo-law-office/src/main/java/com/tcctlo/law/domain/Goods.java +++ b/tcctlo-law-office/src/main/java/com/tcctlo/law/entity/Goods.java @@ -1,5 +1,6 @@ -package com.tcctlo.law.domain; +package com.tcctlo.law.entity; +import java.math.BigDecimal; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; import com.tcctlo.common.annotation.Excel; @@ -8,31 +9,31 @@ import com.tcctlo.common.core.domain.BaseEntity; /** * 商品管理对象 goods * - * @author 张世琪 - * @date 2025-01-20 + * @author coco + * @date 2025-01-30 */ public class Goods extends BaseEntity { private static final long serialVersionUID = 1L; - /** 主键 */ + /** 主键id */ private Long id; /** 商品名称 */ @Excel(name = "商品名称") - private String name; + private String goodsName; /** 商品图片 */ @Excel(name = "商品图片") - private String goodsImage; + private String goodsImages; /** 商品文件 */ @Excel(name = "商品文件") private String goodsFile; - /** 商品价格 */ - @Excel(name = "商品价格") - private Long price; + /** 商品金额 */ + @Excel(name = "商品金额") + private BigDecimal goodsMoney; public void setId(Long id) { @@ -43,23 +44,23 @@ public class Goods extends BaseEntity { return id; } - public void setName(String name) + public void setGoodsName(String goodsName) { - this.name = name; + this.goodsName = goodsName; } - public String getName() + public String getGoodsName() { - return name; + return goodsName; } - public void setGoodsImage(String goodsImage) + public void setGoodsImages(String goodsImages) { - this.goodsImage = goodsImage; + this.goodsImages = goodsImages; } - public String getGoodsImage() + public String getGoodsImages() { - return goodsImage; + return goodsImages; } public void setGoodsFile(String goodsFile) { @@ -70,24 +71,24 @@ public class Goods extends BaseEntity { return goodsFile; } - public void setPrice(Long price) + public void setGoodsMoney(BigDecimal goodsMoney) { - this.price = price; + this.goodsMoney = goodsMoney; } - public Long getPrice() + public BigDecimal getGoodsMoney() { - return price; + return goodsMoney; } @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) .append("id", getId()) - .append("name", getName()) - .append("goodsImage", getGoodsImage()) + .append("goodsName", getGoodsName()) + .append("goodsImages", getGoodsImages()) .append("goodsFile", getGoodsFile()) - .append("price", getPrice()) + .append("goodsMoney", getGoodsMoney()) .toString(); } } diff --git a/tcctlo-law-office/src/main/java/com/tcctlo/law/mapper/GoodsMapper.java b/tcctlo-law-office/src/main/java/com/tcctlo/law/mapper/GoodsMapper.java index 9c3907f1..325e8103 100644 --- a/tcctlo-law-office/src/main/java/com/tcctlo/law/mapper/GoodsMapper.java +++ b/tcctlo-law-office/src/main/java/com/tcctlo/law/mapper/GoodsMapper.java @@ -1,13 +1,14 @@ package com.tcctlo.law.mapper; +import com.tcctlo.law.entity.Goods; + import java.util.List; -import com.tcctlo.law.domain.Goods; /** * 商品管理Mapper接口 * - * @author 张世琪 - * @date 2025-01-20 + * @author coco + * @date 2025-01-30 */ public interface GoodsMapper { diff --git a/tcctlo-law-office/src/main/java/com/tcctlo/law/service/IGoodsService.java b/tcctlo-law-office/src/main/java/com/tcctlo/law/service/IGoodsService.java index 0704e950..5f7bebcc 100644 --- a/tcctlo-law-office/src/main/java/com/tcctlo/law/service/IGoodsService.java +++ b/tcctlo-law-office/src/main/java/com/tcctlo/law/service/IGoodsService.java @@ -1,13 +1,14 @@ package com.tcctlo.law.service; +import com.tcctlo.law.entity.Goods; + import java.util.List; -import com.tcctlo.law.domain.Goods; /** * 商品管理Service接口 * - * @author 张世琪 - * @date 2025-01-20 + * @author coco + * @date 2025-01-30 */ public interface IGoodsService { diff --git a/tcctlo-law-office/src/main/java/com/tcctlo/law/service/impl/GoodsServiceImpl.java b/tcctlo-law-office/src/main/java/com/tcctlo/law/service/impl/GoodsServiceImpl.java index 5f339132..11ccb5d4 100644 --- a/tcctlo-law-office/src/main/java/com/tcctlo/law/service/impl/GoodsServiceImpl.java +++ b/tcctlo-law-office/src/main/java/com/tcctlo/law/service/impl/GoodsServiceImpl.java @@ -1,17 +1,18 @@ package com.tcctlo.law.service.impl; import java.util.List; + +import com.tcctlo.law.entity.Goods; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.tcctlo.law.mapper.GoodsMapper; -import com.tcctlo.law.domain.Goods; import com.tcctlo.law.service.IGoodsService; /** * 商品管理Service业务层处理 * - * @author 张世琪 - * @date 2025-01-20 + * @author coco + * @date 2025-01-30 */ @Service public class GoodsServiceImpl implements IGoodsService diff --git a/tcctlo-law-office/src/main/resources/mapper/tcctlo-law-office/GoodsMapper.xml b/tcctlo-law-office/src/main/resources/mapper/tcctlo-law-office/GoodsMapper.xml index 87359827..fe88f0c9 100644 --- a/tcctlo-law-office/src/main/resources/mapper/tcctlo-law-office/GoodsMapper.xml +++ b/tcctlo-law-office/src/main/resources/mapper/tcctlo-law-office/GoodsMapper.xml @@ -4,25 +4,25 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - + - - + + - + - select id, name, goods_image, goods_file, price from goods + select id, goods_name, goods_images, goods_file, goods_money from goods - - and name like concat('%', #{name}, '%') - and goods_image = #{goodsImage} + and goods_name like concat('%', #{goodsName}, '%') + and goods_images = #{goodsImages} and goods_file = #{goodsFile} - and price = #{price} + and goods_money = #{goodsMoney} @@ -31,29 +31,29 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - + insert into goods - name, - goods_image, + goods_name, + goods_images, goods_file, - price, + goods_money, - #{name}, - #{goodsImage}, + #{goodsName}, + #{goodsImages}, #{goodsFile}, - #{price}, + #{goodsMoney}, - + update goods - name = #{name}, - goods_image = #{goodsImage}, + goods_name = #{goodsName}, + goods_images = #{goodsImages}, goods_file = #{goodsFile}, - price = #{price}, + goods_money = #{goodsMoney}, where id = #{id}