| package com.matrix.system.hive.action; | 
|   | 
| import com.alibaba.fastjson.JSONObject; | 
| import com.matrix.core.constance.MatrixConstance; | 
| import com.matrix.core.constance.SystemMessageCode; | 
| import com.matrix.core.pojo.PaginationVO; | 
| import com.matrix.core.tools.*; | 
| import com.matrix.core.web.BaseAction; | 
| import com.matrix.core.constance.SystemErrorCode; | 
| import com.matrix.core.anotations.RemoveRequestToken; | 
| import com.matrix.system.common.bean.SysUsers; | 
| 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 org.springframework.stereotype.Controller; | 
| import com.matrix.core.exception.GlobleException; | 
| import org.springframework.transaction.annotation.Transactional; | 
| import org.springframework.web.bind.annotation.RequestBody; | 
| import org.springframework.web.bind.annotation.RequestMapping; | 
| import org.springframework.web.bind.annotation.ResponseBody; | 
| import com.matrix.core.anotations.SaveRequestToken; | 
| import com.matrix.core.pojo.AjaxResult; | 
| import org.springframework.beans.factory.annotation.Autowired; | 
| import com.matrix.system.hive.bean.SysSkinCheckRecord; | 
| import org.springframework.web.servlet.ModelAndView; | 
|   | 
| import java.util.List; | 
| /** | 
|  * @description 皮肤检测记录 | 
|  * @author wzy | 
|  * @date 2020-03-24 20:08 | 
|  */ | 
| @Controller | 
| @RequestMapping(value = "admin/sysSkinCheckRecord") | 
| public class SysSkinCheckRecordAction { | 
|   | 
|     @Autowired | 
|     private SysSkinCheckRecordDao sysSkinCheckRecordDao; | 
|   | 
|     @Autowired | 
|     private SysVipInfoDao sysVipInfoDao; | 
|   | 
|     @Autowired | 
|     private SysSkinDetailDao skinDetailDao; | 
|      | 
|     //记录编辑前的值Before_Edit_Value | 
|     public static final String BEV="SysSkinCheckRecord_BEV"; | 
|      | 
|      | 
|     /** | 
|      * 列表显示 | 
|      */ | 
|     @RequestMapping(value =  "/showList") | 
|     public @ResponseBody AjaxResult showList(SysSkinCheckRecord sysSkinCheckRecord, PaginationVO pageVo) { | 
|         if (pageVo == null) { | 
|             pageVo = new PaginationVO(); | 
|         } | 
|         List<SysSkinCheckRecord> dataList = sysSkinCheckRecordDao.selectInPage(sysSkinCheckRecord, pageVo); | 
|         AjaxResult result = new AjaxResult(AjaxResult.STATUS_SUCCESS, dataList, | 
|                 sysSkinCheckRecordDao.selectTotalRecord(sysSkinCheckRecord)); | 
|         return result; | 
|     } | 
|         | 
|     /** | 
|      * 新增 | 
|      */    | 
|     @RemoveRequestToken | 
|     @Transactional | 
|        @RequestMapping(value =  "/addSysSkinCheckRecord") | 
|     public @ResponseBody AjaxResult addSysSkinCheckRecord(@RequestBody  SysSkinCheckRecord sysSkinCheckRecord) { | 
|         SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|   | 
|         LogUtil.info("{}", JSONObject.toJSONString(sysSkinCheckRecord)); | 
|         if (sysSkinCheckRecord.getId() != null) { | 
|             sysSkinCheckRecordDao.deleteById(sysSkinCheckRecord.getId()); | 
|             skinDetailDao.deleteByCheckId(sysSkinCheckRecord.getId()); | 
|         } | 
|         sysSkinCheckRecord.setCreateBy(user.getSuName()); | 
|         sysSkinCheckRecord.setUpdateBy(user.getSuName()); | 
|         sysSkinCheckRecord.setShopId(user.getShopId()); | 
|         sysSkinCheckRecord.setCheckUser(user.getSuId()); | 
|   | 
|         SysVipInfo sysVipInfo = sysVipInfoDao.selectById(sysSkinCheckRecord.getUserId()); | 
|         sysSkinCheckRecord.setTelphone(sysVipInfo.getPhone()); | 
|          int i=sysSkinCheckRecordDao.insert(sysSkinCheckRecord); | 
|         addSkinCheckDetail(sysSkinCheckRecord); | 
|   | 
|         if(i > 0){ | 
|              return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.ADD_SUCCES, "皮肤检测记录"); | 
|          }else { | 
|             throw new GlobleException(SystemErrorCode.DATA_ADD_FAIL); | 
|         } | 
|     } | 
|   | 
|     private void addSkinCheckDetail(SysSkinCheckRecord sysSkinCheckRecord) { | 
|   | 
|         //删除明细 | 
|         SysSkinDetail delDetail=new SysSkinDetail(); | 
|         delDetail.setCheckId(sysSkinCheckRecord.getId()); | 
|         skinDetailDao.deleteByModel(delDetail); | 
|   | 
|         //设置明细 | 
|         sysSkinCheckRecord.getSkinDetails().forEach(item -> { | 
|             item.setCheckId(sysSkinCheckRecord.getId()); | 
|             item.setCreateBy("system"); | 
|             item.setUpdateBy("system"); | 
|         }); | 
|         if(CollectionUtils.isNotEmpty(sysSkinCheckRecord.getSkinDetails())){ | 
|             skinDetailDao.batchInsert(sysSkinCheckRecord.getSkinDetails()); | 
|         } | 
|   | 
|         //设置明细 | 
|         sysSkinCheckRecord.getAnalysisDetail().forEach(item -> { | 
|             item.setCheckId(sysSkinCheckRecord.getId()); | 
|             item.setCreateBy("system"); | 
|             item.setUpdateBy("system"); | 
|         }); | 
|         if(CollectionUtils.isNotEmpty(sysSkinCheckRecord.getAnalysisDetail())){ | 
|             skinDetailDao.batchInsert(sysSkinCheckRecord.getAnalysisDetail()); | 
|         } | 
|     } | 
|   | 
|   | 
|     /** | 
|      * 修改 | 
|      */    | 
|     @RemoveRequestToken | 
|     @Transactional | 
|        @RequestMapping(value =  "/modifySysSkinCheckRecord") | 
|     public @ResponseBody AjaxResult modifySysSkinCheckRecord(SysSkinCheckRecord sysSkinCheckRecord) { | 
|         SysUsers user = WebUtil.getSessionAttribute(MatrixConstance.LOGIN_KEY); | 
|         sysSkinCheckRecord.setCreateBy(user.getSuName()); | 
|         sysSkinCheckRecord.setUpdateBy(user.getSuName()); | 
|         sysSkinCheckRecord.setShopId(user.getShopId()); | 
|         sysSkinCheckRecord.setCheckTime(DateUtil.stringToDate(sysSkinCheckRecord.getCheckTimeStr(), DateUtil.DATE_FORMAT_MM)); | 
|   | 
|         SysVipInfo sysVipInfo = sysVipInfoDao.selectById(sysSkinCheckRecord.getUserId()); | 
|         sysSkinCheckRecord.setTelphone(sysVipInfo.getPhone()); | 
|         int i = sysSkinCheckRecordDao.updateByModel(sysSkinCheckRecord); | 
|         addSkinCheckDetail(sysSkinCheckRecord); | 
|         if (i > 0) { | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.UPDATE_SUCCES, "皮肤检测记录"); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_UPDATE_FAIL); | 
|         } | 
|     } | 
|      | 
|      | 
|      | 
|      | 
|        /** | 
|      * 进入修改界面 | 
|      */    | 
|     @SaveRequestToken | 
|        @RequestMapping(value =  "/editForm") | 
|     public ModelAndView editForm(Long id, Long vipId) { | 
|         SysSkinCheckRecord sysSkinCheckRecord = new SysSkinCheckRecord(); | 
|         ModelAndView modelAndView = new ModelAndView("admin/hive/vip/sysSkinCheckRecord-form"); | 
|         if (id != null) { | 
|             sysSkinCheckRecord = sysSkinCheckRecordDao.selectById(id); | 
|             WebUtil.setSessionAttribute(BEV, sysSkinCheckRecord); | 
|         } | 
|         modelAndView.addObject("vipId", vipId); | 
|         modelAndView.addObject("obj",sysSkinCheckRecord); | 
|         return modelAndView; | 
|     } | 
|         | 
|         | 
|        /** | 
|      * 删除 | 
|      */ | 
|        @Transactional | 
|      @RequestMapping(value = "/del") | 
|     public @ResponseBody AjaxResult del(String keys) { | 
|         List<String> ids = StringUtils.strToCollToString(keys, ","); | 
|         int i =  sysSkinCheckRecordDao.deleteByIds(ids); | 
|         for (String id : ids) { | 
|             skinDetailDao.deleteByCheckId(Long.parseLong(id)); | 
|         } | 
|         if (i > 0) { | 
|             return new AjaxResult(AjaxResult.STATUS_SUCCESS, SystemMessageCode.DELETE_SUCCES, i); | 
|         } else { | 
|             throw new GlobleException(SystemErrorCode.DATA_DELETE_FAIL); | 
|         } | 
|     } | 
|   | 
|     @RequestMapping(value = "/findSkinCheckInfoById") | 
|     @ResponseBody | 
|     public AjaxResult findSkinCheckInfoById(Long id) { | 
|          SysSkinCheckRecord sysSkinCheckRecord = sysSkinCheckRecordDao.selectById(id); | 
|          AjaxResult ajaxResult = AjaxResult.buildSuccessInstance("获取成功"); | 
|          ajaxResult.putInMap("data", sysSkinCheckRecord); | 
|          return ajaxResult; | 
|     } | 
|    | 
| } |