diff --git a/ruoyi-admin/src/main/resources/application.yml b/ruoyi-admin/src/main/resources/application.yml index 99304518f..c8d623362 100644 --- a/ruoyi-admin/src/main/resources/application.yml +++ b/ruoyi-admin/src/main/resources/application.yml @@ -7,7 +7,7 @@ ruoyi: # 版权年份 copyrightYear: 2019 # 实例演示开关 - demoEnabled: true + demoEnabled: false # 文件路径 示例( Windows配置D:/ruoyi/uploadPath,Linux配置 /home/ruoyi/uploadPath) profile: D:/ruoyi/uploadPath # 获取ip地址开关 diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/ajax/AjaxLoginController.java b/ruoyi-business/src/main/java/com/ruoyi/business/ajax/AjaxLoginController.java new file mode 100644 index 000000000..fac038871 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/ajax/AjaxLoginController.java @@ -0,0 +1,28 @@ +package com.ruoyi.business.ajax; + +import com.ruoyi.business.service.IBizMemberService; +import com.ruoyi.common.core.controller.BaseController; +import com.ruoyi.common.core.domain.AjaxResult; +import org.apache.ibatis.annotations.Param; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * 前端用户登录 + * @author bei.wu + */ +@RestController +@RequestMapping("/ajax") +public class AjaxLoginController extends BaseController { + + @Resource + private IBizMemberService bizMemberService; + + @PostMapping("/login") + public AjaxResult login(@Param("loginName") String loginName, @Param("password") String password) { + return super.success(); + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/ajax/AjaxOrderController.java b/ruoyi-business/src/main/java/com/ruoyi/business/ajax/AjaxOrderController.java index 662eb1944..c5c200c9b 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/ajax/AjaxOrderController.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/ajax/AjaxOrderController.java @@ -9,6 +9,7 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; import java.util.HashMap; import java.util.Map; @@ -46,7 +47,7 @@ public class AjaxOrderController extends AuthController { { Long userID = getUserID(); BizOrder order = bizOrderService.selectBizOrderById(orderID); - if (order == null || userID != order.getMemberId()) { + if (order == null || !userID.equals(order.getMemberId())) { return AjaxResult.error(); } return AjaxResult.success(order); @@ -71,7 +72,7 @@ public class AjaxOrderController extends AuthController { resultMap.put("productName", product.getProductName()); resultMap.put("productNum", productNum); resultMap.put("productPrice", product.getAmount()); - resultMap.put("orderPrice", product.getAmount() * productNum); + resultMap.put("orderPrice", product.getAmount().multiply(new BigDecimal(productNum))); return AjaxResult.success(resultMap); } diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/ajax/SyncDataController.java b/ruoyi-business/src/main/java/com/ruoyi/business/ajax/SyncDataController.java index 90c38d159..8ab119032 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/ajax/SyncDataController.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/ajax/SyncDataController.java @@ -5,7 +5,11 @@ import com.alibaba.excel.ExcelReader; import com.ruoyi.business.domain.BizAccount; import com.ruoyi.business.mapper.BizAccountMapper; import com.ruoyi.business.mapper.BizMemberMapper; +import com.ruoyi.business.mapper.BizProductMapper; +import com.ruoyi.business.mapper.BizProductTypeMapper; import com.ruoyi.business.service.IBizMemberService; +import com.ruoyi.business.sync.GoodsData; +import com.ruoyi.business.sync.GoodsDataListener; import com.ruoyi.business.sync.UserData; import com.ruoyi.business.sync.UserDataListener; import com.ruoyi.common.core.controller.BaseController; @@ -27,6 +31,10 @@ public class SyncDataController extends BaseController { private BizMemberMapper memberMapper; @Resource private BizAccountMapper accountMapper; + @Resource + private BizProductMapper productMapper; + @Resource + private BizProductTypeMapper productTypeMapper; @PostMapping("/user") public AjaxResult user(@RequestParam("file") MultipartFile file) { @@ -43,6 +51,21 @@ public class SyncDataController extends BaseController { return AjaxResult.success(); } + @PostMapping("/goods") + public AjaxResult goods(@RequestParam("file") MultipartFile file) { + ExcelReader reader = null; + try { + reader = EasyExcel.read(file.getInputStream(), GoodsData.class, new GoodsDataListener(productMapper, productTypeMapper)).build(); + reader.readAll(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + assert reader != null; + reader.finish(); + } + return AjaxResult.success(); + } + @PostMapping("/initUserTree") public AjaxResult initUserTree() { return AjaxResult.success(); diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProduct.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProduct.java index d86aed263..937b6aec2 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProduct.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProduct.java @@ -1,5 +1,6 @@ package com.ruoyi.business.domain; +import java.math.BigDecimal; import java.util.List; import java.util.Date; import org.apache.commons.lang3.builder.ToStringBuilder; @@ -18,7 +19,7 @@ public class BizProduct extends BaseEntity private static final long serialVersionUID = 1L; /** 产品ID */ - private Long productId; + private Long id; /** 产品编码 */ @Excel(name = "产品编码") @@ -38,15 +39,15 @@ public class BizProduct extends BaseEntity /** 产品单价 */ @Excel(name = "产品单价") - private Long amount; + private BigDecimal amount; /** 产品返现金额 */ @Excel(name = "产品返现金额") - private Long cashbackAmount; + private BigDecimal cashbackAmount; /** 排序 */ @Excel(name = "排序") - private Long sort; + private Integer sort; /** 是否上架 */ @Excel(name = "是否上架") @@ -64,16 +65,15 @@ public class BizProduct extends BaseEntity private List detailImages; private List loopImages; - public void setProductId(Long productId) - { - this.productId = productId; + public Long getId() { + return id; } - public Long getProductId() - { - return productId; + public void setId(Long id) { + this.id = id; } - public void setProductCode(String productCode) + + public void setProductCode(String productCode) { this.productCode = productCode; } @@ -109,29 +109,29 @@ public class BizProduct extends BaseEntity { return productClass; } - public void setAmount(Long amount) + public void setAmount(BigDecimal amount) { this.amount = amount; } - public Long getAmount() + public BigDecimal getAmount() { return amount; } - public void setSort(Long sort) + public void setSort(Integer sort) { this.sort = sort; } - public Long getCashbackAmount() { + public BigDecimal getCashbackAmount() { return cashbackAmount; } - public void setCashbackAmount(Long cashbackAmount) { + public void setCashbackAmount(BigDecimal cashbackAmount) { this.cashbackAmount = cashbackAmount; } - public Long getSort() + public Integer getSort() { return sort; } @@ -190,7 +190,7 @@ public class BizProduct extends BaseEntity @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("productId", getProductId()) + .append("id", getId()) .append("productCode", getProductCode()) .append("productName", getProductName()) .append("productTypeId", getProductTypeId()) diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProductImage.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProductImage.java index db90dabc2..6811b299d 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProductImage.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProductImage.java @@ -16,7 +16,7 @@ public class BizProductImage extends BaseEntity private static final long serialVersionUID = 1L; /** 产品图片ID */ - private Long productImageId; + private Long id; /** 产品ID */ private Long productId; @@ -28,16 +28,15 @@ public class BizProductImage extends BaseEntity private String imageUrl; - public void setProductImageId(Long productImageId) - { - this.productImageId = productImageId; + public Long getId() { + return id; } - public Long getProductImageId() - { - return productImageId; + public void setId(Long id) { + this.id = id; } - public void setProductId(Long productId) + + public void setProductId(Long productId) { this.productId = productId; } @@ -67,7 +66,7 @@ public class BizProductImage extends BaseEntity @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("productImageId", getProductImageId()) + .append("id", getId()) .append("productId", getProductId()) .append("imageUrl", getImageUrl()) .toString(); diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProductType.java b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProductType.java index 1a6c07ec6..01a4f7f10 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProductType.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/domain/BizProductType.java @@ -16,7 +16,7 @@ public class BizProductType extends BaseEntity private static final long serialVersionUID = 1L; /** 产品分类ID */ - private Long productTypeId; + private Long id; /** 产品分类编码 */ @Excel(name = "产品分类编码") @@ -37,16 +37,15 @@ public class BizProductType extends BaseEntity @Excel(name = "是否禁用:0-否,1-是") private Integer isEnable; - public void setProductTypeId(Long productTypeId) - { - this.productTypeId = productTypeId; + public Long getId() { + return id; } - public Long getProductTypeId() - { - return productTypeId; + public void setId(Long id) { + this.id = id; } - public void setProductTypeCode(String productTypeCode) + + public void setProductTypeCode(String productTypeCode) { this.productTypeCode = productTypeCode; } @@ -95,7 +94,7 @@ public class BizProductType extends BaseEntity @Override public String toString() { return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE) - .append("productTypeId", getProductTypeId()) + .append("id", getId()) .append("productTypeCode", getProductTypeCode()) .append("productTypeName", getProductTypeName()) .append("imageUrl", getImageUrl()) diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizProductTypeMapper.java b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizProductTypeMapper.java index 2416797dc..ad823f0f1 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizProductTypeMapper.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/mapper/BizProductTypeMapper.java @@ -19,6 +19,14 @@ public interface BizProductTypeMapper */ public BizProductType selectBizProductTypeById(Long productTypeId); + /** + * 查询产品分类 + * + * @param productTypeCode 产品分类Code + * @return 产品分类 + */ + public BizProductType selectBizProductTypeByCode(String productTypeCode); + /** * 查询产品分类列表 * diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizOrderServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizOrderServiceImpl.java index e0dd6ae98..95ec2319c 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizOrderServiceImpl.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizOrderServiceImpl.java @@ -1,24 +1,24 @@ package com.ruoyi.business.service.impl; -import java.math.BigDecimal; -import java.util.Date; -import java.util.List; - import com.ruoyi.business.domain.*; import com.ruoyi.business.mapper.BizMemberAddressMapper; import com.ruoyi.business.mapper.BizMemberMapper; +import com.ruoyi.business.mapper.BizOrderMapper; import com.ruoyi.business.mapper.BizProductMapper; +import com.ruoyi.business.service.IBizOrderService; import com.ruoyi.common.core.domain.AjaxResult; +import com.ruoyi.common.core.text.Convert; import com.ruoyi.common.utils.DateUtils; import com.ruoyi.common.utils.StringUtils; import com.ruoyi.framework.util.ShiroUtils; -import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import com.ruoyi.business.mapper.BizOrderMapper; -import com.ruoyi.business.service.IBizOrderService; -import com.ruoyi.common.core.text.Convert; import org.springframework.transaction.annotation.Transactional; +import javax.annotation.Resource; +import java.math.BigDecimal; +import java.util.Date; +import java.util.List; + /** * 订单Service业务层处理 * @@ -28,19 +28,19 @@ import org.springframework.transaction.annotation.Transactional; @Service public class BizOrderServiceImpl implements IBizOrderService { - @Autowired + @Resource private BizOrderMapper bizOrderMapper; - @Autowired + @Resource private BizProductMapper bizProductMapper; - @Autowired + @Resource private BizMemberMapper bizMemberMapper; - @Autowired + @Resource private BizMemberAddressMapper bizMemberAddressMapper; - @Autowired + @Resource private BizAccountServiceImpl bizAccountService; /** @@ -162,15 +162,15 @@ public class BizOrderServiceImpl implements IBizOrderService return AjaxResult.error("该商品不存在"); } //订单总价 - Long amount = product.getAmount(); - Long orderTotal = amount * productNum; + BigDecimal amount = product.getAmount(); + BigDecimal orderTotal = amount.multiply(new BigDecimal(productNum)); //判断余额 BizMember member = bizMemberMapper.selectBizMemberById(memberID); Long douBalance = member.getDouBalance(); - if (douBalance < orderTotal) { + if (douBalance < orderTotal.longValue()) { return AjaxResult.error("福豆余额不足"); } - Long cashbackAmount = product.getCashbackAmount() * productNum; + BigDecimal cashbackAmount = product.getCashbackAmount().multiply(new BigDecimal(productNum)); //TODO cashbackAmount 专项划拨金额等级判断 //判断地址 @@ -185,7 +185,7 @@ public class BizOrderServiceImpl implements IBizOrderService order.setMemberId(memberID); order.setMobile(address.getMobile()); order.setMemberName(member.getMemberName()); - order.setOrderAmount(new BigDecimal(orderTotal)); + order.setOrderAmount(orderTotal); order.setOrderStatus(BizOrder.STATUS_PAYED); //已支付 order.setRemark(remark); order.setAddressDetail(address.getAddress()); @@ -198,16 +198,18 @@ public class BizOrderServiceImpl implements IBizOrderService orderDetail.setProductId(productID); orderDetail.setProductCode(product.getProductName()); orderDetail.setProductCount(productNum); - orderDetail.setProductAmount(new BigDecimal(amount)); + orderDetail.setProductAmount(amount); bizOrderMapper.insertBizOrderDetail(orderDetail); //减去福豆余额账户 - boolean result = bizAccountService.accountChange(memberID, BizAccount.DOU_BALANCE, BizAccountDetail.DOU_DETAIL_TYPE_ORDER, -orderTotal, String.valueOf(order.getId()), BizAccountDetail.DOU_DESC_ORDER); + // TODO 类型不对,同步完数据后在修改 + boolean result = bizAccountService.accountChange(memberID, BizAccount.DOU_BALANCE, BizAccountDetail.DOU_DETAIL_TYPE_ORDER, -orderTotal.longValue(), String.valueOf(order.getId()), BizAccountDetail.DOU_DESC_ORDER); if (!result) { return AjaxResult.error("扣款失败,请联系管理员"); } //增加专项账户 - if(cashbackAmount > 0) { - result = bizAccountService.accountChange(memberID, BizAccount.DOU_SPECIAL, BizAccountDetail.DOU_DETAIL_TYPE_CHARGE, cashbackAmount, String.valueOf(order.getId()), BizAccountDetail.DOU_DESC_SPECIAL1); + if(cashbackAmount.longValue() > 0) { + // TODO 类型不对,同步完数据后在修改 + result = bizAccountService.accountChange(memberID, BizAccount.DOU_SPECIAL, BizAccountDetail.DOU_DETAIL_TYPE_CHARGE, cashbackAmount.longValue(), String.valueOf(order.getId()), BizAccountDetail.DOU_DESC_SPECIAL1); if (!result) { return AjaxResult.error("扣款失败,请联系管理员"); } @@ -227,7 +229,7 @@ public class BizOrderServiceImpl implements IBizOrderService { BizOrder order = selectBizOrderById(orderID); //验证 - if (order == null || order.getMemberId() != userID || order.getOrderStatus() != BizOrder.STATUS_DELIVERY) { + if (order == null || !order.getMemberId().equals(userID) || order.getOrderStatus() != BizOrder.STATUS_DELIVERY) { return AjaxResult.error("订单操作失败"); } order.setOrderStatus(BizOrder.STATUS_COMPLETED); diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductServiceImpl.java b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductServiceImpl.java index 3c58bb286..c02db056e 100644 --- a/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductServiceImpl.java +++ b/ruoyi-business/src/main/java/com/ruoyi/business/service/impl/BizProductServiceImpl.java @@ -99,7 +99,7 @@ public class BizProductServiceImpl implements IBizProductService public int updateBizProduct(BizProduct bizProduct) { bizProduct.setUpdateTime(DateUtils.getNowDate()); - bizProductMapper.deleteBizProductImageByProductId(bizProduct.getProductId()); + bizProductMapper.deleteBizProductImageByProductId(bizProduct.getId()); insertBizProductImage(bizProduct); return bizProductMapper.updateBizProduct(bizProduct); } @@ -167,7 +167,7 @@ public class BizProductServiceImpl implements IBizProductService List detailImages = bizProduct.getDetailImages(); List loopImages = bizProduct.getLoopImages(); String mainImage = bizProduct.getMainImage(); - Long productId = bizProduct.getProductId(); + Long productId = bizProduct.getId(); List list = new ArrayList(); //插入三类产品图片 if (StringUtils.isNotEmpty(mainImage)) { diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/sync/GoodsData.java b/ruoyi-business/src/main/java/com/ruoyi/business/sync/GoodsData.java new file mode 100644 index 000000000..60006ccc8 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/sync/GoodsData.java @@ -0,0 +1,203 @@ +package com.ruoyi.business.sync; + +public class GoodsData { + + private String id; + private String goodsId; + private String goodsName; + private String isProduct; + private String goodsType; + private String goodsLevel; + private String unitPrice; + private String goodsDescribe; + private String goodsMainImg; + private String goodsDetailsImg; + private String itemPoints; + private String directPoints; + private String indirectPoints; + private String stockCount; + private String goodsFreight; + private String enable; + private String addtime; + private String exterd1; + private String exterd2; + private String exterd3; + private String goodsLevelName; + private String goodsLevelText; + + public String getId() { + return id; + } + + public void setId(String id) { + this.id = id; + } + + public String getGoodsId() { + return goodsId; + } + + public void setGoodsId(String goodsId) { + this.goodsId = goodsId; + } + + public String getGoodsName() { + return goodsName; + } + + public void setGoodsName(String goodsName) { + this.goodsName = goodsName; + } + + public String getIsProduct() { + return isProduct; + } + + public void setIsProduct(String isProduct) { + this.isProduct = isProduct; + } + + public String getGoodsType() { + return goodsType; + } + + public void setGoodsType(String goodsType) { + this.goodsType = goodsType; + } + + public String getGoodsLevel() { + return goodsLevel; + } + + public void setGoodsLevel(String goodsLevel) { + this.goodsLevel = goodsLevel; + } + + public String getUnitPrice() { + return unitPrice; + } + + public void setUnitPrice(String unitPrice) { + this.unitPrice = unitPrice; + } + + public String getGoodsDescribe() { + return goodsDescribe; + } + + public void setGoodsDescribe(String goodsDescribe) { + this.goodsDescribe = goodsDescribe; + } + + public String getGoodsMainImg() { + return goodsMainImg; + } + + public void setGoodsMainImg(String goodsMainImg) { + this.goodsMainImg = goodsMainImg; + } + + public String getGoodsDetailsImg() { + return goodsDetailsImg; + } + + public void setGoodsDetailsImg(String goodsDetailsImg) { + this.goodsDetailsImg = goodsDetailsImg; + } + + public String getItemPoints() { + return itemPoints; + } + + public void setItemPoints(String itemPoints) { + this.itemPoints = itemPoints; + } + + public String getDirectPoints() { + return directPoints; + } + + public void setDirectPoints(String directPoints) { + this.directPoints = directPoints; + } + + public String getIndirectPoints() { + return indirectPoints; + } + + public void setIndirectPoints(String indirectPoints) { + this.indirectPoints = indirectPoints; + } + + public String getStockCount() { + return stockCount; + } + + public void setStockCount(String stockCount) { + this.stockCount = stockCount; + } + + public String getGoodsFreight() { + return goodsFreight; + } + + public void setGoodsFreight(String goodsFreight) { + this.goodsFreight = goodsFreight; + } + + public String getEnable() { + return enable; + } + + public void setEnable(String enable) { + this.enable = enable; + } + + public String getAddtime() { + return addtime; + } + + public void setAddtime(String addtime) { + this.addtime = addtime; + } + + public String getExterd1() { + return exterd1; + } + + public void setExterd1(String exterd1) { + this.exterd1 = exterd1; + } + + public String getExterd2() { + return exterd2; + } + + public void setExterd2(String exterd2) { + this.exterd2 = exterd2; + } + + public String getExterd3() { + return exterd3; + } + + public void setExterd3(String exterd3) { + this.exterd3 = exterd3; + } + + public String getGoodsLevelName() { + return goodsLevelName; + } + + public void setGoodsLevelName(String goodsLevelName) { + this.goodsLevelName = goodsLevelName; + } + + public String getGoodsLevelText() { + return goodsLevelText; + } + + public void setGoodsLevelText(String goodsLevelText) { + this.goodsLevelText = goodsLevelText; + } +} diff --git a/ruoyi-business/src/main/java/com/ruoyi/business/sync/GoodsDataListener.java b/ruoyi-business/src/main/java/com/ruoyi/business/sync/GoodsDataListener.java new file mode 100644 index 000000000..1b34a4095 --- /dev/null +++ b/ruoyi-business/src/main/java/com/ruoyi/business/sync/GoodsDataListener.java @@ -0,0 +1,91 @@ +package com.ruoyi.business.sync; + +import com.alibaba.excel.context.AnalysisContext; +import com.alibaba.excel.event.AnalysisEventListener; +import com.google.common.collect.Lists; +import com.ruoyi.business.domain.BizProduct; +import com.ruoyi.business.domain.BizProductImage; +import com.ruoyi.business.domain.BizProductType; +import com.ruoyi.business.mapper.BizProductMapper; +import com.ruoyi.business.mapper.BizProductTypeMapper; +import com.ruoyi.common.utils.DateUtils; +import com.ruoyi.common.utils.StringUtils; +import org.apache.commons.collections.CollectionUtils; + +import java.math.BigDecimal; +import java.util.List; +import java.util.Objects; + +public class GoodsDataListener extends AnalysisEventListener { + + private BizProductMapper productMapper; + + private BizProductTypeMapper productTypeMapper; + + public GoodsDataListener(BizProductMapper productMapper, BizProductTypeMapper productTypeMapper) { + this.productMapper = productMapper; + this.productTypeMapper = productTypeMapper; + } + + @Override + public void invoke(GoodsData goodsData, AnalysisContext analysisContext) { + BizProduct product = new BizProduct(); + product.setId(Long.valueOf(goodsData.getId())); + product.setAmount(new BigDecimal(goodsData.getUnitPrice())); + product.setProductName(goodsData.getGoodsName()); + product.setProductCode(goodsData.getGoodsId()); + product.setRemark(goodsData.getGoodsDescribe()); + product.setSort(1); + product.setOnlineStatus("Y".equals(goodsData.getEnable()) ? 1 : 0); + product.setOnlineTime(DateUtils.parseDate(goodsData.getAddtime())); + product.setCreateBy("admin"); + product.setCreateTime(DateUtils.parseDate(goodsData.getAddtime())); + product.setProductClass("Y".equals(goodsData.getIsProduct()) ? 1 : 0); + + BizProductType productType = productTypeMapper.selectBizProductTypeByCode(goodsData.getGoodsType()); + if (!Objects.isNull(productType)) { + product.setProductTypeId(productType.getId()); + productMapper.insertBizProduct(product); + } + + List images = Lists.newArrayList(); + if (StringUtils.isNotEmpty(goodsData.getExterd1())) { + BizProductImage mainImage = new BizProductImage(); + mainImage.setProductId(product.getId()); + mainImage.setImageUrl(goodsData.getExterd1()); + mainImage.setImageType(0); + images.add(mainImage); + } + + if (StringUtils.isNotEmpty(goodsData.getExterd2())) { + String[] detailImages = goodsData.getExterd2().split(","); + for (String image : detailImages) { + BizProductImage detailImage = new BizProductImage(); + detailImage.setProductId(product.getId()); + detailImage.setImageUrl(image); + detailImage.setImageType(1); + images.add(detailImage); + } + } + + if (StringUtils.isNotEmpty(goodsData.getExterd3())) { + String[] runImages = goodsData.getExterd3().split(","); + for (String image : runImages) { + BizProductImage runImage = new BizProductImage(); + runImage.setProductId(product.getId()); + runImage.setImageUrl(image); + runImage.setImageType(2); + images.add(runImage); + } + } + + if (!CollectionUtils.isEmpty(images)) { + productMapper.batchBizProductImage(images); + } + } + + @Override + public void doAfterAllAnalysed(AnalysisContext analysisContext) { + + } +} diff --git a/ruoyi-business/src/main/resources/mapper/business/BizProductMapper.xml b/ruoyi-business/src/main/resources/mapper/business/BizProductMapper.xml index a20d6e694..190750640 100644 --- a/ruoyi-business/src/main/resources/mapper/business/BizProductMapper.xml +++ b/ruoyi-business/src/main/resources/mapper/business/BizProductMapper.xml @@ -5,7 +5,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -24,7 +24,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + diff --git a/ruoyi-business/src/main/resources/mapper/business/BizProductTypeMapper.xml b/ruoyi-business/src/main/resources/mapper/business/BizProductTypeMapper.xml index 40422a02e..6065f143b 100644 --- a/ruoyi-business/src/main/resources/mapper/business/BizProductTypeMapper.xml +++ b/ruoyi-business/src/main/resources/mapper/business/BizProductTypeMapper.xml @@ -5,7 +5,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + @@ -34,7 +34,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{productTypeId} - + + + insert into biz_product_type diff --git a/ruoyi-business/src/main/resources/templates/business/product/edit.html b/ruoyi-business/src/main/resources/templates/business/product/edit.html index f54273dd5..60417d379 100644 --- a/ruoyi-business/src/main/resources/templates/business/product/edit.html +++ b/ruoyi-business/src/main/resources/templates/business/product/edit.html @@ -6,7 +6,7 @@
- +
@@ -29,7 +29,7 @@
diff --git a/ruoyi-business/src/main/resources/templates/business/product/product.html b/ruoyi-business/src/main/resources/templates/business/product/product.html index 8054fb324..9ddd9d78c 100644 --- a/ruoyi-business/src/main/resources/templates/business/product/product.html +++ b/ruoyi-business/src/main/resources/templates/business/product/product.html @@ -23,9 +23,9 @@
  • - - +
  • @@ -92,7 +92,7 @@ checkbox: true }, { - field: 'productId', + field: 'id', title: '产品ID', visible: false }, @@ -147,9 +147,9 @@ align: 'center', formatter: function(value, row, index) { var actions = []; - actions.push('' + (value ? '下架' : '上架') + ' '); - actions.push('编辑 '); - actions.push('删除'); + actions.push('' + (value ? '下架' : '上架') + ' '); + actions.push('编辑 '); + actions.push('删除'); return actions.join(''); } }] diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/annotation/AjaxLogin.java b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/AjaxLogin.java new file mode 100644 index 000000000..25726ae58 --- /dev/null +++ b/ruoyi-common/src/main/java/com/ruoyi/common/annotation/AjaxLogin.java @@ -0,0 +1,15 @@ +package com.ruoyi.common.annotation; + +import java.lang.annotation.*; + +/** + * 前端接口鉴权 + * @author bei.wu + */ +@Target(ElementType.METHOD) +@Retention(RetentionPolicy.RUNTIME) +@Documented +public @interface AjaxLogin +{ + +} \ No newline at end of file diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java index 999ccb063..29eec2f63 100644 --- a/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/config/ResourcesConfig.java @@ -1,5 +1,6 @@ package com.ruoyi.framework.config; +import com.ruoyi.framework.interceptor.AjaxAuthenticationInterceptor; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; @@ -27,6 +28,8 @@ public class ResourcesConfig implements WebMvcConfigurer @Autowired private RepeatSubmitInterceptor repeatSubmitInterceptor; + @Autowired + private AjaxAuthenticationInterceptor ajaxAuthenticationInterceptor; /** * 默认首页的设置,当输入域名是可以自动跳转到默认指定的网页 @@ -55,5 +58,6 @@ public class ResourcesConfig implements WebMvcConfigurer public void addInterceptors(InterceptorRegistry registry) { registry.addInterceptor(repeatSubmitInterceptor).addPathPatterns("/**"); + registry.addInterceptor(ajaxAuthenticationInterceptor).addPathPatterns("/ajax/**"); } } \ No newline at end of file diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/AjaxAuthenticationInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/AjaxAuthenticationInterceptor.java new file mode 100644 index 000000000..2bfbe545c --- /dev/null +++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/AjaxAuthenticationInterceptor.java @@ -0,0 +1,21 @@ +package com.ruoyi.framework.interceptor; + +import org.springframework.stereotype.Component; +import org.springframework.web.servlet.handler.HandlerInterceptorAdapter; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; + +/** + * /ajax/** + * 所有接口身份认证拦截器 + * @author bei.wu + */ +@Component +public class AjaxAuthenticationInterceptor extends HandlerInterceptorAdapter { + + @Override + public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws Exception { + return super.preHandle(request, response, handler); + } +}