buyer-api/src/main/java/cn/lili/controller/order/CartController.java
@@ -7,13 +7,21 @@ import cn.lili.common.exception.ServiceException; import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.lmk.domain.entity.UserCheckTemplate; import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm; import cn.lili.modules.lmk.service.UserCheckTemplateService; import cn.lili.modules.order.cart.entity.dto.BuyBackDTO; import cn.lili.modules.order.cart.entity.dto.TradeDTO; import cn.lili.modules.order.cart.entity.enums.CartTypeEnum; import cn.lili.modules.order.cart.entity.vo.BindingTemplateParam; import cn.lili.modules.order.cart.entity.vo.TradeParams; import cn.lili.modules.order.cart.service.CartService; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.vo.ReceiptVO; import cn.lili.modules.order.order.service.OrderService; import cn.lili.utils.COSUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -22,6 +30,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springframework.http.MediaType; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -29,6 +38,7 @@ import javax.validation.constraints.Min; import javax.validation.constraints.NotEmpty; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; /** @@ -51,7 +61,12 @@ @Autowired private COSUtil cosUtil; @Autowired private OrderService orderService; @Autowired private UserCheckTemplateService userCheckTemplateService; @ApiOperation(value = "向购物车中添加一个产品") @PostMapping @ApiImplicitParams({ @@ -352,4 +367,49 @@ throw e; } } @PreventDuplicateSubmissions @ApiOperation(value = "根据交易编号进行模板数据绑定") @PostMapping("/binding/template") @Transactional(rollbackFor = Exception.class) public ResultMessage<Object> bindingTemplate(@RequestBody BindingTemplateParam bindingTemplateParam) { List<Order> byTradeSn = orderService.getByTradeSn(bindingTemplateParam.getSn()); if (byTradeSn.isEmpty()) { log.info("当前订单不存在{}", bindingTemplateParam.getSn()); return ResultUtil.error(ResultCode.ORDER_ERROR); } if (byTradeSn.size() >1) { log.info("当前订单数量异常{}", bindingTemplateParam.getSn()); return ResultUtil.error(ResultCode.ORDER_ERROR); } Order order = byTradeSn.get(0); String sn = order.getSn(); LambdaQueryWrapper<UserCheckTemplate> eq = Wrappers.<UserCheckTemplate>lambdaQuery().eq(UserCheckTemplate::getOrderSn, sn); List<UserCheckTemplate> list = userCheckTemplateService.list(eq); if (!list.isEmpty()) { log.info("订单不能重复绑定模板{}",bindingTemplateParam.getSn()); return ResultUtil.error(ResultCode.ORDER_ERROR); } //定制商品特殊处理 if (StringUtils.isNotBlank(bindingTemplateParam.getTemplateId())){ List<CustomizeTemplateForm> templateForm = bindingTemplateParam.getTemplateForm(); List<UserCheckTemplate> customizeTemplateForms = new ArrayList<>(); for (CustomizeTemplateForm customizeTemplateForm : templateForm) { UserCheckTemplate userCheckTemplate = new UserCheckTemplate(); userCheckTemplate.setContentType(customizeTemplateForm.getContentType()); userCheckTemplate.setChooseImg(bindingTemplateParam.getChooseImage()); userCheckTemplate.setChooseImgId(bindingTemplateParam.getChooseImageId()); userCheckTemplate.setTemplateName(bindingTemplateParam.getTemplateName()); userCheckTemplate.setTemplateId(bindingTemplateParam.getTemplateId()); userCheckTemplate.setOrderSn(sn); userCheckTemplate.setSubId(customizeTemplateForm.getId()); userCheckTemplate.setSubName(customizeTemplateForm.getTemplateTitle()); userCheckTemplate.setContent(customizeTemplateForm.getValue()); customizeTemplateForms.add(userCheckTemplate); } userCheckTemplateService.saveBatch(customizeTemplateForms); } return ResultUtil.success(); } } buyer-api/src/main/java/cn/lili/controller/order/OrderBuyerController.java
@@ -9,7 +9,10 @@ import cn.lili.common.security.context.UserContext; import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.lmk.domain.entity.UserCheckTemplate; import cn.lili.modules.lmk.enums.general.AdminRoleEnum; import cn.lili.modules.lmk.enums.general.TemplateContentTypeEnum; import cn.lili.modules.lmk.service.UserCheckTemplateService; import cn.lili.modules.member.entity.dto.MemberAddressDTO; import cn.lili.modules.order.order.entity.dos.Order; import cn.lili.modules.order.order.entity.dos.OrderPackage; @@ -27,7 +30,9 @@ import cn.lili.modules.system.entity.vo.Traces; import cn.lili.utils.COSUtil; import cn.lili.utils.CommonUtil; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; @@ -70,6 +75,8 @@ @Autowired private AdminUserService adminUserService; @Autowired private UserCheckTemplateService userCheckTemplateService; @ApiOperation(value = "查询会员订单列表") @GetMapping public ResultMessage<IPage<OrderSimpleVO>> queryMineOrder(OrderSearchParams orderSearchParams) { @@ -103,6 +110,21 @@ orderSearchParams.setMemberId(currentUser.getId()); return ResultUtil.data(orderService.queryByXcxParams(orderSearchParams)); } @ApiOperation(value = "根据订单号查询定制模板填写信息") @GetMapping("/customize/{sn}") public ResultMessage<List<UserCheckTemplate>> customize(@PathVariable @NotBlank String sn) { LambdaQueryWrapper<UserCheckTemplate> eq = Wrappers.<UserCheckTemplate>lambdaQuery().eq(UserCheckTemplate::getOrderSn, sn); List<UserCheckTemplate> list = userCheckTemplateService.list(eq); for (UserCheckTemplate userCheckTemplate : list) { if (TemplateContentTypeEnum.IMAGE.name().equals(userCheckTemplate.getContentType())) { String content = userCheckTemplate.getContent(); if (StringUtils.isNotBlank(content)&&!content.contains("http")) { userCheckTemplate.setContent(cosUtil.getPreviewUrl(content)); } } } return ResultUtil.data(list); } @ApiOperation(value = "订单明细") @ApiImplicitParams({ buyer-api/src/main/java/cn/lili/controller/payment/CashierController.java
@@ -3,7 +3,11 @@ import cn.lili.common.enums.ResultCode; import cn.lili.common.enums.ResultUtil; import cn.lili.common.exception.ServiceException; import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.lmk.domain.entity.UserCheckTemplate; import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm; import cn.lili.modules.lmk.service.UserCheckTemplateService; import cn.lili.modules.payment.kit.CashierSupport; import cn.lili.modules.payment.kit.dto.PayParam; import cn.lili.modules.payment.entity.enums.PaymentClientEnum; @@ -15,11 +19,14 @@ import io.swagger.annotations.ApiOperation; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.util.ArrayList; import java.util.List; /** * 买家端,收银台接口 @@ -37,12 +44,14 @@ private CashierSupport cashierSupport; @ApiImplicitParams({ @ApiImplicitParam(name = "client", value = "客户端类型", paramType = "path", allowableValues = "PC,H5,WECHAT_MP,APP") }) @GetMapping(value = "/tradeDetail") @PostMapping(value = "/tradeDetail") @ApiOperation(value = "获取支付详情") public ResultMessage paymentParams(@Validated PayParam payParam) { @Transactional(rollbackFor = Exception.class) public ResultMessage paymentParams(@Validated @RequestBody PayParam payParam) { CashierParam cashierParam = cashierSupport.cashierParam(payParam); return ResultUtil.data(cashierParam); } buyer-api/src/main/java/cn/lili/controller/store/StoreBuyerController.java
@@ -13,6 +13,8 @@ import cn.lili.modules.goods.service.GoodsService; import cn.lili.modules.goods.service.GoodsUnitService; import cn.lili.modules.goods.service.StoreGoodsLabelService; import cn.lili.modules.lmk.domain.entity.GoodsCustomizeTemplate; import cn.lili.modules.lmk.service.GoodsCustomizeTemplateService; import cn.lili.modules.store.entity.dos.Store; import cn.lili.modules.store.entity.dto.StoreBankDTO; import cn.lili.modules.store.entity.dto.StoreCompanyDTO; @@ -75,6 +77,9 @@ @Autowired private GoodsService goodsService; @Autowired private GoodsCustomizeTemplateService goodsCustomizeTemplateService; @ApiOperation(value = "获取店铺列表分页") @GetMapping @@ -170,4 +175,10 @@ goodsService.addGoods(goodsOperationDTO); return ResultUtil.success(); } @ApiOperation(value = "定制商品获取模板信息") @GetMapping(value = "/getTemplate/{skuId}") public Result getTemplate(@PathVariable String skuId) { return goodsCustomizeTemplateService.getCustomizeTemplate(skuId); } } framework/src/main/java/cn/lili/elasticsearch/BaseElasticsearchService.java
@@ -277,6 +277,15 @@ " }\n" + " }\n" + " },\n" + " \"customizeFlag\": {\n" + " \"type\": \"text\",\n" + " \"fields\": {\n" + " \"keyword\": {\n" + " \"type\": \"keyword\",\n" + " \"ignore_above\": 256\n" + " }\n" + " }\n" + " },\n" + " \"point\": {\n" + " \"type\": \"long\"\n" + " },\n" + framework/src/main/java/cn/lili/modules/goods/entity/dos/GoodsSku.java
@@ -183,7 +183,7 @@ @ApiModelProperty(value ="定制模板名称") private String customizeTemplateName; @ApiModelProperty(value ="表示虚拟定制商品类型 现有类型:定制商品") @ApiModelProperty(value ="定制商品") @TableField(updateStrategy = FieldStrategy.IGNORED) /** * @see CustomizeFlagEnum framework/src/main/java/cn/lili/modules/lmk/domain/entity/UserCheckTemplate.java
@@ -49,5 +49,9 @@ /** 选择模板图片 */ private String chooseImg; @TableField("content_type") /** 模板文本类型 */ private String contentType; } framework/src/main/java/cn/lili/modules/lmk/domain/form/CustomizeTemplateForm.java
New file @@ -0,0 +1,22 @@ package cn.lili.modules.lmk.domain.form; import com.baomidou.mybatisplus.annotation.TableField; import lombok.Data; @Data public class CustomizeTemplateForm { /** 模板id */ private String id; /** 子模板标题 */ private String templateTitle; /** 子模板值*/ private String value; /** 子模板类型*/ private String contentType; } framework/src/main/java/cn/lili/modules/lmk/domain/vo/CustomizeTemplateVO.java
New file @@ -0,0 +1,27 @@ package cn.lili.modules.lmk.domain.vo; import cn.lili.modules.lmk.domain.entity.TemplateConstomizeTitle; import cn.lili.modules.lmk.domain.entity.TemplateImgs; import lombok.Data; import java.util.List; @Data public class CustomizeTemplateVO { /** * 模板id */ private String id; /** * 模板名称 */ private String name; /** * 图片列表 */ private List<TemplateImgs> templateImgs; /** * 标题 */ private List<TemplateConstomizeTitle> templateConstomizeTitles; } framework/src/main/java/cn/lili/modules/lmk/mapper/GoodsCustomizeTemplateMapper.java
@@ -1,6 +1,7 @@ package cn.lili.modules.lmk.mapper; import cn.lili.modules.lmk.domain.entity.GoodsCustomizeTemplate; import cn.lili.modules.lmk.domain.vo.CustomizeTemplateVO; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import cn.lili.modules.lmk.domain.vo.GoodsCustomizeTemplateVO; @@ -31,4 +32,6 @@ */ IPage getPage(IPage page, @Param("query") GoodsCustomizeTemplateQuery query); CustomizeTemplateVO getCustomizeTemplate(@Param("id") String id); } framework/src/main/java/cn/lili/modules/lmk/service/GoodsCustomizeTemplateService.java
@@ -66,5 +66,7 @@ */ Result all(); Result getCustomizeTemplate(String id); Result changeStatus(String id); } framework/src/main/java/cn/lili/modules/lmk/service/impl/GoodsCustomizeTemplateServiceImpl.java
@@ -5,6 +5,12 @@ import cn.lili.modules.lmk.enums.general.EnableStatusEnums; import cn.lili.modules.lmk.service.TemplateConstomizeTitleService; import cn.lili.modules.lmk.service.TemplateImgsService; import cn.lili.common.utils.StringUtils; import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.service.GoodsSkuService; import cn.lili.modules.lmk.domain.entity.TemplateImgs; import cn.lili.modules.lmk.domain.vo.CustomizeTemplateVO; import cn.lili.utils.COSUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import cn.lili.modules.lmk.domain.entity.GoodsCustomizeTemplate; import cn.lili.modules.lmk.mapper.GoodsCustomizeTemplateMapper; @@ -15,6 +21,7 @@ import cn.lili.modules.lmk.domain.form.GoodsCustomizeTemplateForm; import cn.lili.modules.lmk.domain.vo.GoodsCustomizeTemplateVO; import cn.lili.modules.lmk.domain.query.GoodsCustomizeTemplateQuery; import jodd.util.StringUtil; import org.springframework.stereotype.Service; import lombok.RequiredArgsConstructor; import cn.lili.utils.PageUtil; @@ -39,6 +46,9 @@ private final TemplateImgsService templateImgsService; private final TemplateConstomizeTitleService templateConstomizeTitleService; private final GoodsSkuService goodsSkuService; private final COSUtil cosUtil; /** * 添加 * @param form @@ -228,4 +238,23 @@ baseMapper.updateById(goodsCustomizeTemplate); return Result.ok(); } @Override public Result getCustomizeTemplate(String id) { GoodsSku goodsSku = goodsSkuService.getById(id); String templateId = goodsSku.getCustomizeTemplateId(); CustomizeTemplateVO customizeTemplate = baseMapper.getCustomizeTemplate(templateId); if (customizeTemplate != null) { List<TemplateImgs> templateImgs = customizeTemplate.getTemplateImgs(); if (!templateImgs.isEmpty()) { for (TemplateImgs templateImg : templateImgs) { String imgUrl = templateImg.getImgUrl(); if (StringUtils.isNotBlank(imgUrl)&&!imgUrl.contains("http")) { templateImg.setImgUrl(cosUtil.getPreviewUrl(imgUrl)); } } } } return Result.ok().data(customizeTemplate); } } framework/src/main/java/cn/lili/modules/order/cart/entity/vo/BindingTemplateParam.java
New file @@ -0,0 +1,43 @@ package cn.lili.modules.order.cart.entity.vo; import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import javax.validation.constraints.NotNull; import java.util.List; /** * 支付参数 * * @author Chopper * @since 2020/12/19 11:46 */ @Data @ToString public class BindingTemplateParam { @NotNull @ApiModelProperty(value = "订单号") private String sn; @ApiModelProperty(value = "模板信息") private List<CustomizeTemplateForm> templateForm; @ApiModelProperty(value = "模板id") private String templateId; @ApiModelProperty(value = "模板名称") private String templateName; @ApiModelProperty(value = "选中图片") private String chooseImage; @ApiModelProperty(value = "选中图片Id") private String chooseImageId; } framework/src/main/java/cn/lili/modules/order/order/entity/dos/Order.java
@@ -17,6 +17,8 @@ import cn.lili.modules.order.order.entity.enums.*; import cn.lili.modules.payment.entity.enums.PaymentMethodEnum; import cn.lili.mybatis.BaseEntity; import com.baomidou.mybatisplus.annotation.FieldStrategy; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; @@ -191,6 +193,13 @@ */ @ApiModelProperty(value = "是否是礼品卡") private String couponFlag; @ApiModelProperty(value ="表示虚拟定制商品类型 现有类型:定制商品") @TableField(updateStrategy = FieldStrategy.IGNORED) /** * @see CustomizeFlagEnum */ private String customizeFlag; /** * 订单地址修改状态 */ framework/src/main/java/cn/lili/modules/order/order/entity/dto/OrderSearchParams.java
@@ -119,6 +119,8 @@ private String couponFlag; private String customizeFlag; private String storeSelectId; public <T> QueryWrapper<T> queryWrapper() { @@ -189,6 +191,7 @@ wrapper.eq(CharSequenceUtil.isNotEmpty(commentStatus), "oi.comment_status", commentStatus); wrapper.eq(CharSequenceUtil.isNotEmpty(couponFlag),"o.coupon_flag", couponFlag); wrapper.eq(CharSequenceUtil.isNotEmpty(customizeFlag),"o.customize_flag", customizeFlag); //按标签查询 if (CharSequenceUtil.isNotEmpty(tag)) { framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleVO.java
@@ -160,6 +160,7 @@ private String consigneeName; private String consigneeMobile; private String modifyAddressFlag; private String customizeFlag; private String memberId; framework/src/main/java/cn/lili/modules/order/order/entity/vo/OrderSimpleXcxVO.java
@@ -160,6 +160,12 @@ @ApiModelProperty(value = "是否是礼品卡") private String couponFlag; /** * @see cn.lili.modules.order.order.entity.enums.CustomizeFlagEnum */ @ApiModelProperty(value = "是否是定制商品") private String customizeFlag; private int i = 0; public List<OrderItemVO> initOrderItems() { if (CharSequenceUtil.isEmpty(groupGoodsId)) { framework/src/main/java/cn/lili/modules/order/order/mapper/OrderMapper.java
@@ -93,6 +93,7 @@ "o.consignee_mobile AS consigneeMobile," + "o.member_id AS memberId," + "m.nick_name AS nickName," + "o.customize_flag AS customizeFlag," + "o.modify_address_flag AS modifyAddressFlag,"+ " GROUP_CONCAT(oi.goods_id) as group_goods_id," + " GROUP_CONCAT(oi.sku_id) as group_sku_id," + @@ -145,7 +146,7 @@ * @return 简短订单分页 */ @Select("select o.id,o.sn,o.flow_price,o.create_time,o.order_status,o.pay_status,o.payment_method,o.payment_time,o.member_name,o.store_name as " + "store_name,o.store_id as store_id,o.client_type,o.order_type,o.deliver_status,o.order_promotion_type,o.seller_remark,o.coupon_flag " + "store_name,o.store_id as store_id,o.client_type,o.order_type,o.deliver_status,o.order_promotion_type,o.seller_remark,o.coupon_flag,o.customize_flag " + ",GROUP_CONCAT(oi.goods_id) as group_goods_id," + " GROUP_CONCAT(oi.sku_id) as group_sku_id," + " GROUP_CONCAT(oi.num) as group_num" + framework/src/main/java/cn/lili/modules/order/order/serviceimpl/OrderServiceImpl.java
@@ -284,6 +284,9 @@ String couponName = skuInfo.getCouponName(); orderItem.setCouponId(couponId); orderItem.setCouponName(couponName); }//订单中有定制商品将订单改为定制商品 else if (CustomizeFlagEnum.CUSTOMIZE.name().equals(skuInfo.getCustomizeFlag())) { order.setCustomizeFlag(CustomizeFlagEnum.CUSTOMIZE.name()); } } orderItems.add(orderItem); framework/src/main/java/cn/lili/modules/payment/kit/dto/PayParam.java
@@ -1,10 +1,12 @@ package cn.lili.modules.payment.kit.dto; import cn.lili.modules.lmk.domain.form.CustomizeTemplateForm; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.ToString; import javax.validation.constraints.NotNull; import java.util.List; /** * 支付参数 @@ -29,6 +31,22 @@ @ApiModelProperty(value = "客户端类型") private String clientType; @ApiModelProperty(value = "模板信息") private List<CustomizeTemplateForm> templateForm; @ApiModelProperty(value = "模板id") private String templateId; @ApiModelProperty(value = "模板名称") private String templateName; @ApiModelProperty(value = "选中图片") private String chooseImage; @ApiModelProperty(value = "选中图片Id") private String chooseImageId; } framework/src/main/java/cn/lili/modules/search/entity/dos/EsGoodsIndex.java
@@ -5,6 +5,7 @@ import cn.lili.elasticsearch.EsSuffix; import cn.lili.modules.goods.entity.dos.GoodsSku; import cn.lili.modules.goods.entity.dto.GoodsParamsDTO; import cn.lili.modules.order.order.entity.enums.CustomizeFlagEnum; import cn.lili.modules.promotion.tools.PromotionTools; import com.baomidou.mybatisplus.annotation.TableField; import com.fasterxml.jackson.annotation.JsonFormat; @@ -299,6 +300,13 @@ @Field(type = FieldType.Long) private Integer goodsSort; @ApiModelProperty(value = "定制商品") @Field(type = FieldType.Text) /** * @see CustomizeFlagEnum */ private String customizeFlag; public EsGoodsIndex(GoodsSku sku) { if (sku != null) { this.id = sku.getId(); @@ -327,6 +335,7 @@ this.recommend = sku.getRecommend(); this.goodsType = sku.getGoodsType(); this.releaseTime = new Date().getTime(); this.customizeFlag = sku.getCustomizeFlag(); } } @@ -397,6 +406,7 @@ this.intro = sku.getIntro(); this.grade = sku.getGrade(); this.releaseTime = new Date().getTime(); this.customizeFlag = sku.getCustomizeFlag(); } } framework/src/main/resources/mapper/lmk/GoodsCustomizeTemplateMapper.xml
@@ -37,5 +37,37 @@ AND LGCT.status = #{query.status} </if> </select> <resultMap id="getCustomizeTemplateMap" type="cn.lili.modules.lmk.domain.vo.CustomizeTemplateVO"> <id property="id" column="id"/> <result property="name" column="template_name"/> <collection property="templateImgs" ofType="cn.lili.modules.lmk.domain.entity.TemplateImgs"> <id property="id" column="imgId"/> <result property="imgUrl" column="img_url"/> </collection> <collection property="templateConstomizeTitles" ofType="cn.lili.modules.lmk.domain.entity.TemplateConstomizeTitle"> <id property="id" column="titleId"/> <result property="contentType" column="content_type"/> <result property="templateTitle" column="template_title"/> </collection> </resultMap> <select id="getCustomizeTemplate" resultMap="getCustomizeTemplateMap"> SELECT lgct.id, lgct.template_name, lti.id imgId, lti.img_url, ltct.id titleId, ltct.template_title, ltct.content_type FROM lmk_goods_customize_template lgct JOIN lmk_template_imgs lti ON lti.template_id = lgct.id JOIN lmk_template_constomize_title ltct ON ltct.template_id = lgct.id WHERE lgct.id = #{id} AND lgct.delete_flag = 0 AND lti.delete_flag = 0 AND ltct.delete_flag = 0 </select> </mapper> manager-api/src/main/java/cn/lili/controller/member/MemberEvaluationManagerController.java
@@ -2,12 +2,14 @@ import cn.lili.common.aop.annotation.PreventDuplicateSubmissions; import cn.lili.common.enums.ResultUtil; import cn.lili.common.utils.StringUtils; import cn.lili.common.vo.PageVO; import cn.lili.common.vo.ResultMessage; import cn.lili.modules.member.entity.dto.EvaluationQueryParams; import cn.lili.modules.member.entity.vo.MemberEvaluationListVO; import cn.lili.modules.member.entity.vo.MemberEvaluationVO; import cn.lili.modules.member.service.MemberEvaluationService; import cn.lili.utils.COSUtil; import com.baomidou.mybatisplus.core.metadata.IPage; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -17,6 +19,8 @@ import org.springframework.web.bind.annotation.*; import javax.validation.constraints.NotNull; import java.util.ArrayList; import java.util.List; /** * 管理端,会员商品评价接口 @@ -30,14 +34,34 @@ public class MemberEvaluationManagerController { @Autowired private MemberEvaluationService memberEvaluationService; @Autowired private COSUtil cosUtil; @PreventDuplicateSubmissions @ApiOperation(value = "通过id获取评论") @ApiImplicitParam(name = "id", value = "评价ID", required = true, dataType = "String", paramType = "path") @GetMapping(value = "/get/{id}") public ResultMessage<MemberEvaluationVO> get(@PathVariable String id) { return ResultUtil.data(memberEvaluationService.queryById(id)); MemberEvaluationVO t = memberEvaluationService.queryById(id); String images = t.getImages(); if (StringUtils.isNotBlank(images)) { String[] split = images.split(","); List<String> imgList = new ArrayList<>(split.length); for (String s : split) { if (StringUtils.isNotBlank(s)&&!s.contains("http")) { imgList.add(cosUtil.getPreviewUrl(s)); } } t.setImages(String.join(",", imgList)); } String goodsImage = t.getGoodsImage(); if (StringUtils.isNotBlank(goodsImage)&&!goodsImage.contains("http")) { t.setGoodsImage(cosUtil.getPreviewUrl(goodsImage)); } String memberProfile = t.getMemberProfile(); if (StringUtils.isNotBlank(memberProfile)&&!memberProfile.contains("http")) { t.setMemberProfile(cosUtil.getPreviewUrl(memberProfile)); } return ResultUtil.data(t); } @ApiOperation(value = "获取评价分页")