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; 
 | 
    } 
 | 
   
 | 
} 
 |