package com.matrix.system.shopXcx.api.action; import com.matrix.system.common.init.UserCacheManager; import com.matrix.core.pojo.AjaxResult; import com.matrix.core.pojo.PaginationVO; import com.matrix.core.tools.StringUtils; import com.matrix.system.common.interceptor.HostInterceptor; import com.matrix.system.hive.bean.SysSkinCheckRecord; import com.matrix.system.hive.bean.SysSkinDetail; import com.matrix.system.hive.bean.SysVipInfo; import com.matrix.system.hive.dao.SysSkinCheckRecordDao; import com.matrix.system.hive.dao.SysSkinDetailDao; import com.matrix.system.hive.dao.SysVipInfoDao; import com.matrix.system.hive.plugin.util.CollectionUtils; import com.matrix.system.shopXcx.api.pojo.SkinCheckDTO; import com.matrix.system.shopXcx.bean.ShopProduct; import com.matrix.system.shopXcx.dao.ShopProductDao; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.Arrays; import java.util.List; /** * @Author wzy * @Date 2020/3/24 * @email wangdoubleone@gmail.com * @Version V1.0 **/ @RestController @RequestMapping(value = "/wxapi/skinCheck") public class WxSkinCheckAction { @Autowired private SysSkinCheckRecordDao sysSkinCheckRecordDao; @Autowired private SysSkinDetailDao skinDetailDao; @Autowired private SysVipInfoDao vipInfoDao; @Autowired private UserCacheManager userCacheManager; @Autowired private ShopProductDao shopProductDao; @RequestMapping(value = "/showSkinList") public @ResponseBody AjaxResult showSkinList(@RequestBody SkinCheckDTO skinCheckDTO) { SysVipInfo sysVipInfo = userCacheManager.getLoginUser(); PaginationVO pageVo = new PaginationVO(); pageVo.setLimit(skinCheckDTO.getLimit()); pageVo.setOffset(skinCheckDTO.getOffset()); SysSkinCheckRecord skinCheckRecord = new SysSkinCheckRecord(); skinCheckRecord.setTelphone(sysVipInfo.getPhone()); List dataList = sysSkinCheckRecordDao.selectInPage(skinCheckRecord, pageVo); AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, sysSkinCheckRecordDao.selectTotalRecord(skinCheckRecord)); return result; } @RequestMapping(value = "/findById/{id}") public @ResponseBody AjaxResult findById(@PathVariable("id") Long id) { SysSkinCheckRecord sysSkinCheckRecord = sysSkinCheckRecordDao.selectById(id); List detailList= skinDetailDao.selectByRecordId(sysSkinCheckRecord.getId()); detailList.forEach(item->{ List ids = StringUtils.strToCollToInteger(item.getProductIds(), ","); if(CollectionUtils.isNotEmpty(ids)){ List shopProducts = shopProductDao.selectByIds(ids); item.setShopProducts(shopProducts); } }); sysSkinCheckRecord.setSkinDetails(detailList); SysVipInfo vipInfo = vipInfoDao.selectByPhone(sysSkinCheckRecord.getTelphone(), HostInterceptor.getCompanyId()); AjaxResult result=AjaxResult.buildSuccessInstance(Arrays.asList(sysSkinCheckRecord)); result.putInMap("vipInfo",vipInfo); return result; } }