UserOrderDetailServiceImpl.java 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346
  1. package com.izouma.awesomeadmin.service.impl;
  2. import com.izouma.awesomeadmin.constant.AppConstant;
  3. import com.izouma.awesomeadmin.dao.OrderAlbumMapper;
  4. import com.izouma.awesomeadmin.dao.OrderAlbumRepairMapper;
  5. import com.izouma.awesomeadmin.dao.OrderRepairMapper;
  6. import com.izouma.awesomeadmin.dao.UserOrderDetailMapper;
  7. import com.izouma.awesomeadmin.dto.Page;
  8. import com.izouma.awesomeadmin.dto.Result;
  9. import com.izouma.awesomeadmin.model.*;
  10. import com.izouma.awesomeadmin.service.OrderImageService;
  11. import com.izouma.awesomeadmin.service.UserOrderDetailService;
  12. import org.apache.commons.lang.StringUtils;
  13. import org.apache.log4j.Logger;
  14. import org.springframework.beans.factory.annotation.Autowired;
  15. import org.springframework.stereotype.Service;
  16. import java.util.Date;
  17. import java.util.HashMap;
  18. import java.util.List;
  19. import java.util.Map;
  20. /**
  21. * service接口实现类
  22. */
  23. @Service
  24. public class UserOrderDetailServiceImpl implements UserOrderDetailService {
  25. /*generatedStart*/
  26. private static Logger logger = Logger.getLogger(UserOrderDetailServiceImpl.class);
  27. @Autowired
  28. private UserOrderDetailMapper userOrderDetailMapper;
  29. /*generatedEnd*/
  30. @Autowired
  31. private OrderImageService orderImageService;
  32. @Autowired
  33. private OrderAlbumMapper orderAlbumMapper;
  34. @Autowired
  35. private OrderRepairMapper orderRepairMapper;
  36. @Autowired
  37. private OrderAlbumRepairMapper orderAlbumRepairMapper;
  38. /*generatedStart*/
  39. @Override
  40. public List<UserOrderDetail> getUserOrderDetailList(UserOrderDetail record) {
  41. logger.info("getUserOrderDetailList");
  42. try {
  43. return userOrderDetailMapper.queryAllUserOrderDetail(record);
  44. } catch (Exception e) {
  45. logger.error("getUserOrderDetailList", e);
  46. }
  47. return null;
  48. }
  49. @Override
  50. public List<UserOrderDetail> getUserOrderDetailByPage(Page page, UserOrderDetail record) {
  51. logger.info("getUserOrderDetailByPage");
  52. try {
  53. Map<String, Object> parameter = new HashMap<String, Object>();
  54. parameter.put("record", record);
  55. parameter.put(AppConstant.PAGE, page);
  56. return userOrderDetailMapper.queryUserOrderDetailByPage(parameter);
  57. } catch (Exception e) {
  58. logger.error("getUserOrderDetailByPage", e);
  59. }
  60. return null;
  61. }
  62. @Override
  63. public UserOrderDetail getUserOrderDetailById(String id) {
  64. logger.info("getUserOrderDetailyId");
  65. try {
  66. return userOrderDetailMapper.selectByPrimaryKey(Integer.valueOf(id));
  67. } catch (Exception e) {
  68. logger.error("getUserOrderDetailById", e);
  69. }
  70. return null;
  71. }
  72. @Override
  73. public UserOrderDetail getUserOrderDetail(UserOrderDetail record) {
  74. logger.info("getUserOrderDetail");
  75. try {
  76. return userOrderDetailMapper.queryUserOrderDetail(record);
  77. } catch (Exception e) {
  78. logger.error("getUserOrderDetail", e);
  79. }
  80. return null;
  81. }
  82. @Override
  83. public boolean createUserOrderDetail(UserOrderDetail record) {
  84. logger.info("createUserOrderDetail");
  85. try {
  86. int updates = userOrderDetailMapper.insertSelective(record);
  87. if (updates > 0) {
  88. return true;
  89. }
  90. } catch (Exception e) {
  91. logger.error("createUserOrderDetail", e);
  92. }
  93. return false;
  94. }
  95. @Override
  96. public boolean deleteUserOrderDetail(UserOrderDetail record) {
  97. logger.info("deleteUserOrderDetail");
  98. try {
  99. int updates = userOrderDetailMapper.delete(record);
  100. if (updates > 0) {
  101. return true;
  102. }
  103. } catch (Exception e) {
  104. logger.error("deleteUserOrderDetail", e);
  105. }
  106. return false;
  107. }
  108. @Override
  109. public boolean updateUserOrderDetail(UserOrderDetail record) {
  110. logger.info("updateUserOrderDetail");
  111. try {
  112. int updates = userOrderDetailMapper.updateByPrimaryKeySelective(record);
  113. if (updates > 0) {
  114. return true;
  115. }
  116. } catch (Exception e) {
  117. logger.error("updateUserOrderDetail", e);
  118. }
  119. return false;
  120. }
  121. /*generatedEnd*/
  122. @Override
  123. public Result checkImageAndAlbum(String orderId, String repairId, String albumRepairId) {
  124. logger.info("checkImageAndAlbum:检测数量");
  125. try {
  126. UserOrderDetail resultOrder = new UserOrderDetail();
  127. UserOrderDetail userOrder = new UserOrderDetail();
  128. userOrder.setId(Integer.valueOf(orderId));
  129. userOrder = userOrderDetailMapper.queryUserOrderDetail(userOrder);
  130. if (userOrder != null) {
  131. resultOrder.setQuantity(userOrder.getQuantity());
  132. resultOrder.setAlbumQuantity(userOrder.getAlbumQuantity());
  133. OrderImage orderImage = orderImageService.checkImageNum(orderId, repairId);
  134. if (orderImage != null) {
  135. resultOrder.setTotalImage(orderImage.getTotalNum());
  136. resultOrder.setNeedImage(orderImage.getNeedNum());
  137. }
  138. OrderAlbum orderAlbum = new OrderAlbum();
  139. orderAlbum.setOrderId(orderId);
  140. orderAlbum.setBaseRepairId(albumRepairId);
  141. orderAlbum = orderAlbumMapper.checkAlbumNum(orderAlbum);
  142. if (orderAlbum != null) {
  143. if (StringUtils.isNotBlank(albumRepairId)) {
  144. resultOrder.setTotalAlbum(orderAlbum.getTotalNum());
  145. resultOrder.setNeedAlbum(orderAlbum.getNeedNum());
  146. } else {
  147. resultOrder.setTotalAlbum(userOrder.getAlbumQuantity());
  148. resultOrder.setNeedAlbum(userOrder.getAlbumQuantity() - orderAlbum.getTotalNum());
  149. }
  150. }
  151. }
  152. return new Result(true, resultOrder);
  153. } catch (Exception e) {
  154. logger.error("refundFail:checkImageAndAlbum异常", e);
  155. }
  156. return new Result(false, "checkImageAndAlbum失败");
  157. }
  158. @Override
  159. public Result checkRepairImageAndAlbum(String orderId, String repairId, String albumRepairId) {
  160. logger.info("checkRepairImageAndAlbum:检测数量");
  161. try {
  162. UserOrderDetail resultOrder = new UserOrderDetail();
  163. UserOrderDetail userOrder = new UserOrderDetail();
  164. userOrder.setId(Integer.valueOf(orderId));
  165. userOrder = userOrderDetailMapper.queryUserOrderDetail(userOrder);
  166. if (userOrder != null) {
  167. OrderImage orderImage = orderImageService.checkRepairImageNum(orderId, repairId);
  168. if (orderImage != null) {
  169. resultOrder.setTotalImage(orderImage.getTotalNum());
  170. resultOrder.setNeedImage(orderImage.getNeedNum());
  171. resultOrder.setFailImage(orderImage.getFailNum());
  172. }
  173. OrderAlbum orderAlbum = new OrderAlbum();
  174. orderAlbum.setOrderId(orderId);
  175. orderAlbum.setBaseRepairId(albumRepairId);
  176. orderAlbum = orderAlbumMapper.checkRepairAlbumNum(orderAlbum);
  177. if (orderAlbum != null) {
  178. resultOrder.setTotalAlbum(orderAlbum.getTotalNum());
  179. resultOrder.setNeedAlbum(orderAlbum.getNeedNum());
  180. resultOrder.setFailAlbum(orderAlbum.getFailNum());
  181. }
  182. }
  183. return new Result(true, resultOrder);
  184. } catch (Exception e) {
  185. logger.error("checkRepairImageAndAlbum异常", e);
  186. }
  187. return new Result(false, "checkRepairImageAndAlbum失败");
  188. }
  189. @Override
  190. public Result updateImageAndAlbumRepair(UserOrderDetail record) {
  191. logger.info("updateImageAndAlbumRepair:检测数量");
  192. try {
  193. if (record.getImageRepairId() != null && record.getImageRepairStatus() != null) {
  194. OrderRepair orderRepair = new OrderRepair();
  195. orderRepair.setId(record.getImageRepairId());
  196. orderRepair.setStatusFlag(record.getImageRepairStatus());
  197. orderRepairMapper.updateByPrimaryKeySelective(orderRepair);
  198. }
  199. if (record.getAlbumRepairId() != null && record.getAlbumRepairStatus() != null) {
  200. OrderAlbumRepair orderAlbumRepair = new OrderAlbumRepair();
  201. orderAlbumRepair.setId(record.getAlbumRepairId());
  202. orderAlbumRepair.setStatusFlag(record.getAlbumRepairStatus());
  203. orderAlbumRepairMapper.updateByPrimaryKeySelective(orderAlbumRepair);
  204. }
  205. return new Result(true, "更新成功");
  206. } catch (Exception e) {
  207. logger.error("updateImageAndAlbumRepair异常", e);
  208. }
  209. return new Result(false, "updateImageAndAlbumRepair失败");
  210. }
  211. @Override
  212. public Result confirm(UserOrderDetail record) {
  213. logger.info("confirm:确认完成订单");
  214. try {
  215. UserOrderDetail userOrder = userOrderDetailMapper.selectByPrimaryKey(record.getId());
  216. if (userOrder != null) {
  217. boolean confirmFlag = false;
  218. if (AppConstant.OrderAlbumStatus.WAIT_ACCEPT == userOrder.getAlbumStatus() ||
  219. AppConstant.OrderAlbumStatus.REWORK_ACCEPT == userOrder.getAlbumStatus()) {//修图完成
  220. confirmFlag = true;
  221. record.setAlbumStatus(AppConstant.OrderAlbumStatus.FINISH);
  222. }
  223. if (confirmFlag) {
  224. userOrderDetailMapper.updateByPrimaryKeySelective(record);
  225. }
  226. }
  227. return new Result(true, "confirm:确认完成成功");
  228. } catch (Exception e) {
  229. logger.error("confirm:确认完成异常", e);
  230. }
  231. return new Result(false, "confirm:确认完成失败");
  232. }
  233. /**
  234. * 返修
  235. *
  236. * @param record
  237. * @return
  238. */
  239. @Override
  240. public boolean repair(UserOrderDetail record) {
  241. logger.info("repair");
  242. try {
  243. if (record.getId() != null && record.getId() > 0) {
  244. if ("order_image".equals(record.getAcceptType()) || "image_album".equals(record.getAcceptType())) {
  245. record.setAlbumStatus(AppConstant.OrderAlbumStatus.REWORK);
  246. OrderRepair orderRepair = new OrderRepair();
  247. orderRepair.setOrderId(record.getId() + "");
  248. orderRepairMapper.repairByOrderId(orderRepair);
  249. }
  250. if ("order_album".equals(record.getAcceptType()) || "image_album".equals(record.getAcceptType())) {
  251. record.setAlbumStatus(AppConstant.OrderAlbumStatus.REWORK);
  252. OrderAlbumRepair orderAlbumRepair = new OrderAlbumRepair();
  253. orderAlbumRepair.setOrderId(record.getId() + "");
  254. orderAlbumRepairMapper.repairByOrderId(orderAlbumRepair);
  255. }
  256. int updates = userOrderDetailMapper.updateByPrimaryKeySelective(record);
  257. if (updates > 0) {
  258. return true;
  259. }
  260. }
  261. } catch (Exception e) {
  262. logger.error("repair", e);
  263. }
  264. return false;
  265. }
  266. }