package com.taoke.autopay.controller.admin.js2; import com.google.gson.Gson; import com.google.gson.GsonBuilder; import com.google.gson.TypeAdapter; import com.google.gson.stream.JsonReader; import com.google.gson.stream.JsonWriter; import com.taoke.autopay.dao.ClientInfoMapper; import com.taoke.autopay.entity.ClientAdditionalInfo; import com.taoke.autopay.entity.ClientInfo; import com.taoke.autopay.service.ClientAdditionalInfoService; import com.taoke.autopay.service.ClientInfoService; import com.taoke.autopay.utils.Constant; import com.taoke.autopay.utils.TimeUtil; import com.taoke.autopay.utils.encrypt.AESUtil; import com.taoke.autopay.vo.admin.AdminOrderClientInfoVO; import net.sf.json.JSONObject; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.ResponseBody; import org.yeshi.utils.JsonUtil; import org.yeshi.utils.StringUtil; import javax.annotation.Resource; import java.io.IOException; import java.util.*; /** * 下单设备管理 */ @Controller @RequestMapping("/admin/api/clientinfo/js2") public class AdminClientInfoJS2Controller { @Resource private ClientInfoService clientInfoService; @Resource private ClientAdditionalInfoService clientAdditionalInfoService; private final Gson gson = new GsonBuilder().registerTypeAdapter(Date.class, new TypeAdapter() { @Override public void write(JsonWriter out, Date value) throws IOException { String desc = ""; if (value != null) { // 判断是否是同一天 desc = TimeUtil.getGernalTime(value.getTime(), "yyyy-MM-dd HH:mm:ss"); out.value(desc); } else { out.value(""); } } @Override public Date read(JsonReader in) throws IOException { return new Date(); } }).create(); @ResponseBody @RequestMapping("list") public String list(String account, int page,int limit){ ClientInfoMapper.DaoQuery query=new ClientInfoMapper.DaoQuery(); if(!StringUtil.isNullOrEmpty(account)) { query.account = account; } query.start = (long) (page - 1) *limit; query.count = limit; query.clientType = ClientInfo.CLIENT_TYPE_ORDER; query.sortList= Arrays.asList(new String[]{"create_time desc"}); JSONObject data=new JSONObject(); List list = clientInfoService.list(query); Map map; if(!list.isEmpty()){ List idList=new ArrayList<>(); for(ClientInfo info:list){ idList.add(info.getId()); } map = clientAdditionalInfoService.getClientAdditionalInfoMap(idList); } else { map = new HashMap<>(); } List results = new ArrayList<>(); list.forEach(info->{ ClientAdditionalInfo additionalInfo = map.get(info.getId()); results.add(AdminOrderClientInfoVO.builder() .client(info) .additionalInfo(additionalInfo) .build()); }); data.put("list", gson.toJson(results)); data.put("count", clientInfoService.count(query)); return JsonUtil.loadTrueResult(data); } @ResponseBody @RequestMapping("setpwd") public String setPwd(Long id, String pwd) { if(id==null||pwd==null||pwd.length()<6){ return JsonUtil.loadFalseResult("数据不完整"); } clientInfoService.setPwd(id,StringUtil.Md5( pwd)); return JsonUtil.loadTrueResult(""); } @ResponseBody @RequestMapping("add") public String addClient(String pwd, int count) { if(count>100){ return JsonUtil.loadFalseResult("单次创建最多100个"); } for(int i=0;i