package com.huiju.estateagents.controller; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.huiju.estateagents.base.BaseController; import com.huiju.estateagents.base.ResponseBean; import com.huiju.estateagents.common.CommConstant; import com.huiju.estateagents.common.DateUtils; import com.huiju.estateagents.common.ExcelUtils; import com.huiju.estateagents.entity.TaGoods; import com.huiju.estateagents.entity.TaPointsExchange; import com.huiju.estateagents.excel.TaPointsExchangeExport; import com.huiju.estateagents.service.ITaGoodsService; import com.huiju.estateagents.service.ITaPointsExchangeService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiImplicitParams; import io.swagger.annotations.ApiOperation; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.bind.annotation.RestController; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import java.time.LocalDateTime; import java.util.ArrayList; import java.util.List; /** *

* 积分兑换记录 前端控制器 *

* * @author jobob * @since 2019-07-25 */ @RestController @RequestMapping("/api") @Api(value = "积分兑换", tags = "积分兑换") public class TaPointsExchangeController extends BaseController { private final Logger logger = LoggerFactory.getLogger(TaPointsExchangeController.class); @Autowired public ITaPointsExchangeService iTaPointsExchangeService; @Autowired private ITaGoodsService taGoodsService; /** * 分页查询列表 * @param pageNum * @param pageSize * @return */ @RequestMapping(value="/admin/taPointsExchange",method= RequestMethod.GET) public ResponseBean taPointsExchangeList(@RequestParam(value ="pageNum",defaultValue = "1") Integer pageNum, @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize, @RequestParam(value ="personName",required = false) String personName, @RequestParam(value ="phone",required = false) String phone, @RequestParam(value ="personType",required = false) String personType, @RequestParam(value ="targetName",required = false) String targetName, @RequestParam(value ="startCreateDate",required = false) String startCreateDate, @RequestParam(value ="endCreateDate",required = false) String endCreateDate, @RequestParam(value ="startVerifyDate",required = false) String startVerifyDate, @RequestParam(value ="endVerifyDate",required = false) String endVerifyDate, @RequestParam(value ="status",required = false) Integer status, @RequestParam(value ="tel",required = false) String tel, HttpServletRequest request){ ResponseBean responseBean = new ResponseBean(); try { //使用分页插件 TaPointsExchange taPointsExchange = new TaPointsExchange(); taPointsExchange.setPersonName(personName); taPointsExchange.setPhone(phone); taPointsExchange.setPersonType(personType); taPointsExchange.setTargetName(targetName); taPointsExchange.setStartCreateDate(startCreateDate); taPointsExchange.setEndCreateDate(endCreateDate); taPointsExchange.setStartVerifyDate(startVerifyDate); taPointsExchange.setEndVerifyDate(endVerifyDate); taPointsExchange.setStatus(status); taPointsExchange.setTel(tel); taPointsExchange.setOrgId(getOrgId(request)); responseBean = iTaPointsExchangeService.selectList(pageNum,pageSize,taPointsExchange,getTaPersonBuildingListByUserId(request)); }catch (Exception e){ e.printStackTrace(); logger.error("taPointsExchangeList -=- {}",e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } /** * 分页查询列表 * @param pageNum * @param pageSize * @return */ @RequestMapping(value="/admin/taPointsExchange/export",method= RequestMethod.GET) public ResponseBean taPointsExchangeExport(@RequestParam(value ="personName",required = false) String personName, @RequestParam(value ="phone",required = false) String phone, @RequestParam(value ="personType",required = false) String personType, @RequestParam(value ="targetName",required = false) String targetName, @RequestParam(value ="startCreateDate",required = false) String startCreateDate, @RequestParam(value ="endCreateDate",required = false) String endCreateDate, @RequestParam(value ="startVerifyDate",required = false) String startVerifyDate, @RequestParam(value ="endVerifyDate",required = false) String endVerifyDate, @RequestParam(value ="status",required = false) Integer status, @RequestParam(value ="tel",required = false) String tel, HttpServletRequest request, HttpServletResponse response){ ResponseBean responseBean = new ResponseBean(); try { //使用分页插件 TaPointsExchange taPointsExchange = new TaPointsExchange(); taPointsExchange.setPersonName(personName); taPointsExchange.setPhone(phone); taPointsExchange.setPersonType(personType); taPointsExchange.setTargetName(targetName); taPointsExchange.setStartCreateDate(startCreateDate); taPointsExchange.setEndCreateDate(endCreateDate); taPointsExchange.setStartVerifyDate(startVerifyDate); taPointsExchange.setEndVerifyDate(endVerifyDate); taPointsExchange.setStatus(status); taPointsExchange.setTel(tel); taPointsExchange.setOrgId(getOrgId(request)); responseBean = iTaPointsExchangeService.selectList(1, 9999,taPointsExchange,getTaPersonBuildingListByUserId(request)); List records = ((Page) responseBean.getData()).getRecords(); List list = new ArrayList<>(); if (null != records) { for (TaPointsExchange item: records) { TaPointsExchangeExport row = new TaPointsExchangeExport(); row.setPersonName(item.getPersonName()); row.setPhone(item.getPhone()); row.setPersonType("prop".equals(item.getPersonType()) ? "物业相关" : ("life-consultant".equals(item.getPersonType()) ? "生活管家" : null)); row.setTargetName(item.getTargetName()); row.setStatus(1 == item.getStatus() ? "已领取" : "未领取"); row.setCreateDate(DateUtils.format(item.getCreateDate(), "yyyy-MM-dd HH:mm")); row.setVerifyDate(DateUtils.format(item.getVerifyDate(), "yyyy-MM-dd HH:mm")); list.add(row); } } ExcelUtils.flush(response, TaPointsExchangeExport.class, list, "积分兑换记录" + DateUtils.today()); }catch (Exception e){ e.printStackTrace(); logger.error("taPointsExchangeList -=- {}",e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } /** * 修改对象 * @param taPointsExchange 实体对象 * @return */ @RequestMapping(value="/admin/taPointsExchange/change",method= RequestMethod.PUT) public ResponseBean taPointsExchangeStatusChange(@RequestBody TaPointsExchange taPointsExchange){ ResponseBean responseBean = new ResponseBean(); try { if (null != taPointsExchange.getStatus() && !taPointsExchange.getStatus().equals(CommConstant.STATUS_NORMAL)){ taPointsExchange.setVerifyDate(LocalDateTime.now()); taPointsExchange.setStatus(CommConstant.STATUS_NORMAL); } if (iTaPointsExchangeService.updateById(taPointsExchange)){ responseBean.addSuccess(taPointsExchange); }else { responseBean.addError("fail"); } }catch (Exception e){ e.printStackTrace(); logger.error("taPointsExchangeUpdate -=- {}",e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } /** * 保存对象 * @param taPointsExchange 实体对象 * @return */ @RequestMapping(value="/taPointsExchange",method= RequestMethod.POST) public ResponseBean taPointsExchangeAdd(@RequestBody TaPointsExchange taPointsExchange){ ResponseBean responseBean = new ResponseBean(); try { if (iTaPointsExchangeService.save(taPointsExchange)){ responseBean.addSuccess(taPointsExchange); }else { responseBean.addError("fail"); } }catch (Exception e){ e.printStackTrace(); logger.error("taPointsExchangeAdd -=- {}",e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } /** * 根据id删除对象 * @param id 实体ID */ @ResponseBody @RequestMapping(value="/taPointsExchange/{id}", method= RequestMethod.DELETE) public ResponseBean taPointsExchangeDelete(@PathVariable Integer id){ ResponseBean responseBean = new ResponseBean(); try { if(iTaPointsExchangeService.removeById(id)){ responseBean.addSuccess("success"); }else { responseBean.addError("fail"); } }catch (Exception e){ e.printStackTrace(); logger.error("taPointsExchangeDelete -=- {}",e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } /** * 修改对象 * @param recId 实体ID * @return */ @RequestMapping(value="/admin/taPointsExchange/{recId}",method= RequestMethod.PUT) public ResponseBean taPointsExchangeUpdate(@PathVariable Integer recId){ ResponseBean responseBean = new ResponseBean(); try { TaPointsExchange taPointsExchange = iTaPointsExchangeService.getById(recId); if (null == taPointsExchange){ responseBean.addError("找不到需要核销的商品"); return responseBean; } if (taPointsExchange.getStatus().equals(CommConstant.STATUS_NORMAL)){ responseBean.addError("此商品已经被领取"); return responseBean; } taPointsExchange.setStatus(CommConstant.STATUS_NORMAL); taPointsExchange.setVerifyDate(LocalDateTime.now()); if (iTaPointsExchangeService.updateById(taPointsExchange)){ responseBean.addSuccess(taPointsExchange); }else { responseBean.addError("fail"); } }catch (Exception e){ e.printStackTrace(); logger.error("taPointsExchangeUpdate -=- {}",e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } /** * 根据id查询对象 * @param id 实体ID */ @RequestMapping(value="/taPointsExchange/{id}",method= RequestMethod.GET) public ResponseBean taPointsExchangeGet(@PathVariable Integer id){ ResponseBean responseBean = new ResponseBean(); try { responseBean.addSuccess(iTaPointsExchangeService.getById(id)); }catch (Exception e){ e.printStackTrace(); logger.error("taPointsExchangeDelete -=- {}",e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } /** * 分页查询列表 * @param pageNumber * @param pageSize * @return */ @ApiOperation(value = "微信积分兑换列表", notes = "微信积分兑换列表") @ApiImplicitParams({ @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageNumber", paramType = "query",value = "第几页"), @ApiImplicitParam(dataTypeClass = Integer.class, name = "pageSize", paramType = "query",value = "一页多少行"), @ApiImplicitParam(dataTypeClass = Integer.class, name = "personId", paramType = "query",value = "当前人员personId"), }) @RequestMapping(value="/wx/taPointsExchange",method= RequestMethod.GET) public ResponseBean wxPointsExchangeList(@RequestParam(value ="pageNumber",defaultValue = "1") Integer pageNumber, @RequestParam(value ="pageSize",defaultValue = "10") Integer pageSize, @RequestParam(value = "buildingId", required = false) String buildingId, @RequestParam(value = "personId", required = false) String personId, HttpServletRequest request){ if (null == personId) { personId = getPersonId(request); } ResponseBean responseBean = new ResponseBean(); try { //使用分页插件 IPage pg = new Page<>(pageNumber, pageSize); QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(null != personId, "person_id", personId); queryWrapper.eq(null != buildingId, "building_id",buildingId); queryWrapper.orderByDesc("create_date"); IPage result = iTaPointsExchangeService.page(pg, queryWrapper); List records = result.getRecords(); records.forEach(e -> { if (null == e.getStatus() || e.getStatus().equals(CommConstant.STATUS_UNACCALIMED)){ TaGoods goods = taGoodsService.getById(e.getTargetId()); e.setAddress(goods.getAddress()); } }); result.setRecords(records); responseBean.addSuccess(result); }catch (Exception e){ e.printStackTrace(); logger.error("taPointsExchangeList -=- {}",e.toString()); responseBean.addError(e.getMessage()); } return responseBean; } }