| package com.matrix.system.shopXcx.api.action; | 
|   | 
| import com.matrix.component.redis.RedisUserLoginUtils; | 
| 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 RedisUserLoginUtils redisUserLoginUtils; | 
|   | 
|     @Autowired | 
|     private ShopProductDao shopProductDao; | 
|   | 
|     @RequestMapping(value = "/showSkinList") | 
|     public @ResponseBody AjaxResult showSkinList(@RequestBody SkinCheckDTO skinCheckDTO) { | 
|         SysVipInfo sysVipInfo = redisUserLoginUtils.getLoginUser(SysVipInfo.class); | 
|         PaginationVO pageVo = new PaginationVO(); | 
|         pageVo.setLimit(skinCheckDTO.getLimit()); | 
|         pageVo.setOffset(skinCheckDTO.getOffset()); | 
|         SysSkinCheckRecord skinCheckRecord = new SysSkinCheckRecord(); | 
|         skinCheckRecord.setTelphone(sysVipInfo.getPhone()); | 
|         List<SysSkinCheckRecord> 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<SysSkinDetail> detailList= skinDetailDao.selectByRecordId(sysSkinCheckRecord.getId()); | 
|         detailList.forEach(item->{ | 
|   | 
|             List<Integer> ids = StringUtils.strToCollToInteger(item.getProductIds(), ","); | 
|             if(CollectionUtils.isNotEmpty(ids)){ | 
|                 List<ShopProduct> 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; | 
|     } | 
| } |