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